Arduino에서 작게 만나는 스테이션을 실행하려고합니다. 사실 이미 온도와 습도를 모니터링 할 수 있습니다. 그래서 DB에 데이터를 저장하고 Flask를 사용하여 ob 웹 서버를 시각화하기로 결정했습니다. 난 시리얼에서 데이터를 가져 와서 서버에 보내는 파이썬에 작은 스크립트를 만듭니다.Python에서 Flask로 결과가없는 요청을 사용하여 JSON 보내기
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)
그리고 직렬 포트에서 데이터가 채워진 문자열을 받아서 Flask 응용 프로그램으로 보내 봅니다. 서버 측에서 I 코드가 여기
@app.route('/api/meteo/', methods=['GET','POST'])
def save_meteo_data():
if request.method == 'POST':
if request.json:
json_dict = request.get_json()
save_meteo_data_to_db(json_dict)
return 200
else:
return render_template('test.html'), 999
와 나는 문제가,가, 내가 바로 405 응답을 GET으로 나에게 그 요청이 나는 방법 만 POST를 떠나 적어도 경우, 서버에 오는 것 가지고와 아파치 로그에 오류가 없습니다. 이 요청을 서버에 보내고 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>
나는 또한 당신이 울부 짖는 볼 수있는 나는, 아두 이노에서 응답 requests.post 후 얻을 JSON의 예를 제공합니다.
{"humidity":57.10,"temperature":28.10,"tempbyfeeling":29.27}
<Response [405]>
어떤 오류가 발생합니까? [편집]을 클릭하여 [mcve]를 포함하십시오. – davidism