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