Oke habe ich jetzt geändert /getdata gibt die Daten zurück an den Sender, einfach nur damit ich weiß ob es geklappt hat, und das HTML Dokument da die Url ja auch im Browser existiert und dammit, falls sie jemand aufrufen sollte, nichts dummes rauskommt wird das HTML Dokument ausgeliefert. /getdata schreibt ja keine Daten es empfängt sie nur splitet sie und gibt sie dann an write_data weiter das sie dort in die csv Datei geschrieben werden.
Datum und Uhrzeit hab ich getrennt da ich später über ein input date zusammen mit einem input time, die Start und End Zeit abfragen will und damit ich diese nicht zusammen fügen muss habe ich es getrennt. Allerdings habe ich es noch nicht hinbekommen 2 Zeiten abzufragen und alles was dazwischen in der csv datei steht in eine list zu schreiben um es dann in einem Plot anzuzeigen.
Ich hab jetzt diesen code hier und der Server an den die Daten gesendet werden gibt mir in der Konsole diese Fehlermeldung zurück.
Code: Alles auswählen
@app.route('/getdata', methods=['GET', 'POST'])
def getdata():
if request.method == 'POST':
data = request.data
data.split(',')
luftfeuchtigkeitdrin,temperaturdrin,luftfeuchtigkeitausen,temperaturausen,erdfeuchtigkeit,lux = data.split(',')
write_data(luftfeuchtigkeitdrin,temperaturdrin,luftfeuchtigkeitausen,temperaturausen,erdfeuchtigkeit,lux)
return data
return render_template('getdata.html')
def write_data(luftfeuchtigkeitdrin,temperaturdrin,luftfeuchtigkeitausen,temperaturausen,erdfeuchtigkeit,lux):
my_date = datetime.datetime.now(pytz.timezone('Europe/Berlin'))
fmt = '%Y-%m-%d'
tmt = '%H:%M'
with open('data/data.csv', 'a', newline='') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=' ')
spamwriter.writerow([my_date.strftime(fmt), my_date.strftime(tmt), luftfeuchtigkeitdrin, temperaturdrin, luftfeuchtigkeitausen, temperaturausen, erdfeuchtigkeit, lux])
Code: Alles auswählen
2018-09-17T13:26:46.606494+00:00 app[web.1]: [2018-09-17 13:26:46,604] ERROR in app: Exception on /getdata [POST]
2018-09-17T13:26:46.606517+00:00 app[web.1]: Traceback (most recent call last):
2018-09-17T13:26:46.606519+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
2018-09-17T13:26:46.606520+00:00 app[web.1]: response = self.full_dispatch_request()
2018-09-17T13:26:46.606522+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
2018-09-17T13:26:46.606523+00:00 app[web.1]: rv = self.handle_user_exception(e)
2018-09-17T13:26:46.606525+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
2018-09-17T13:26:46.606526+00:00 app[web.1]: reraise(exc_type, exc_value, tb)
2018-09-17T13:26:46.606527+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
2018-09-17T13:26:46.606529+00:00 app[web.1]: raise value
2018-09-17T13:26:46.606530+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
2018-09-17T13:26:46.606532+00:00 app[web.1]: rv = self.dispatch_request()
2018-09-17T13:26:46.606533+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
2018-09-17T13:26:46.606535+00:00 app[web.1]: return self.view_functions[rule.endpoint](**req.view_args)
2018-09-17T13:26:46.606536+00:00 app[web.1]: File "/app/app.py", line 41, in getdata
2018-09-17T13:26:46.606538+00:00 app[web.1]: data.split(',')
2018-09-17T13:26:46.606547+00:00 app[web.1]: TypeError: a bytes-like object is required, not 'str'
2018-09-17T13:26:46.608183+00:00 app[web.1]: 10.124.6.113 - - [17/Sep/2018:13:26:46 +0000] "POST /getdata HTTP/1.1" 500 291 "-" "SIMCOM_MODULE"
2018-09-17T13:26:46.609117+00:00 heroku[router]: at=info method=POST path="/getdata" host=pythonv1.herokuapp.com request_id=e3d0190c-cf26-4b89-b356-244614ed416a fwd="109.42.0.104" dyno=web.1 connect=0ms service=25ms status=500 bytes=456 protocol=http