0
我嘗試在Arduino上運行小型的匹配站,實際上它已經可以監視溫度和溼度。所以我決定將數據存儲在數據庫中,並使用Flask對ob web服務器進行可視化。我在python上創建了一個從串口獲取數據並將其發送到服務器的小腳本。從python發送JSON到使用無結果請求的Flask
def send_JSON_to_server(meteodata):
print(meteodata)
url = 'http://127.0.0.1:8080/api/meteo'
headers = {'Content-Type': 'application/json'}
resp = requests.post(url , data = json.dumps(meteodata), headers=headers)
print(resp)
ser = serial.Serial('/dev/cu.usbmodem1411', 9600)
while True:
json_string = ser.readline().decode("utf-8")
send_JSON_to_server(json_string)
它獲得的數據從串口穿孔串並嘗試發送瓶的應用程序。在服務器端我有一個代碼:
在這裏,我有一個問題,在我看來,這一請求來服務器作爲GET,至少如果我離開只是在方法的帖子,我立刻得到405的響應和在apache日誌中沒有錯誤。如果我像這個請求一樣離開它,發送到服務器並返回999,這意味着它不被接受爲POST。我知道405通常連接到配置或安全問題,所以你可以看到我的虛擬主機配置在下面。我在不同的項目中使用了相同的功能,它正在工作。
WSGIScriptAlias//var/www/meteo/meteo.wsgi
DocumentRoot /var/www/meteo
<Directory /var/www/meteo>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
我也想提供JSON的例子,我從Arduino的和requests.post響應後得到的,因爲你可以看到波紋管。
{"humidity":57.10,"temperature":28.10,"tempbyfeeling":29.27}
<Response [405]>
你會得到什麼錯誤?請[edit]包含[mcve]。 – davidism