実現したいこと
RaspberryPiに接続したセンサーで得た座標や温度などの値を、さくらレンタルサーバーのMySQLに数分おきに追加していきたいと考えています。
インデペンデンスシステムズ様のページを参考に、さくらのレンタルサーバー上にデータベースとPHPを置いてjson形式のデータをpostするという形で進めておりますが、Pythonがエラーをはいてしまいます。
何か方法や解決策をご存じの方いらっしゃいましたらご教授いただきたく、おねがい申し上げます。
該当のソースコード
Python
1import requests 2import json 3 4from datetime import datetime 5 6def uploadSensorValues(temp, hum, press): 7 8 url = '(サーバーアドレス)/sensvalues.php' 9 10 sensorsdata = {'datetime':datetime.now().strftime("%Y/%m/%d %H:%M:%S"),'temp':temp,'hum':hum,'press':press} 11 12 print(json.dumps(sensorsdata)) 13 14 headers = {'content-type': 'application/json'} 15 16 res = requests.post(url, data=json.dumps(sensorsdata), headers=headers, verify=False) 17 18 print(res.json()) 19 pass 20 21def main(): 22 23 uploadSensorValues(21.8, 39.1, 1020) 24 25if __name__ == '__main__': 26 main()
エラーメッセージ
{"datetime": "*", "temp": 21.8, "hum": 39.1, "press": 1020} Traceback (most recent call last): File "C:/Users/*/Desktop/*/test.py", line 31, in <module> uploadSensorValues(temp,hum,press); File "C:/Users/*/Desktop/*/test.py", line 17, in uploadSensorValues print(res.json()) File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\requests\models.py", line 898, in json return complexjson.loads(self.text, **kwargs) File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\json\__init__.py", line 348, in loads return _default_decoder.decode(s) File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\json\decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\json\decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
試したこと
Python
1res = requests.post(url, data=json.dumps(sensorsdata), headers=headers, verify=False) 2↓ 3res = "requests.post(url, data=json.dumps(sensorsdata), headers=headers, verify=False)"
その後のエラーメッセージ
{"datetime": "*", "temp": 21.8, "hum": 39.1, "press": 1020} Traceback (most recent call last): File "C:/Users/*/Desktop/*/test.py", line 26, in <module> main() File "C:/Users/*/Desktop/*/test.py", line 23, in main uploadSensorValues(21.8, 39.1, 1020) File "C:/Users/*/Desktop/*/test.py", line 18, in uploadSensorValues print(res.json()) AttributeError: 'str' object has no attribute 'json'
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。