regelmässiges DataLogging und DB-Speicherung in Flask
Verfasst: Samstag 13. Juli 2019, 15:19
Hallo,
ich bin Basis-Anwender von Python und habe mir alles bisherige selbst beigebracht. Der aktuelle Stand meines Projekts ist, das ich eine Flask-Homepage auf einem RasPi laufen habe die über über das MinimalModbus-Modul Sensoren abfragt und die Ergebnisse verlässlich im Browser darzustellt. Sofern ich mich als admin auf der Hompage registriere kann auch diverse Parameter an den Sensoren über die Benutzeroberfläche an den Sensoren verändern und dort speichern.
Die Benutzerautentifizierung erledige ich über eine MySQL Datenbank.
Soweit so gut, aber nun komme ich nicht weiter:
Ich möchte das Ganze erweitern und eine DataLogging Funktion einbauen bei der die Sensoren alle 2-5 Minuten abgefragt werden und in der Datenbank gespeichert werden. Ich weiß nur nicht wie ich die Regelmässigkeit in den Code integrieren kann.
Eine Flask Routine
( z.B.: @app.route('/')
def homepage():
der jeweilige CODE... )
wird ja nur dann abgearbeitet wenn über den Browser eine Anfrage gestellt wird. Deshalb weiß ich nicht wie und wo ich das Module des Dattaloggings aufrufen kann, damit es verlässlich abgefragt und in der Datenbank abgespeichert wird.
Eine Idee wäre ein 2tes Script in der Definition des 1ten Flask scripts aufzurufen das eben diese Abfragen macht und in die DB schreibt, aber ich bin nicht sicher ob und wie das möglich ist.
Wäre schön wenn mich hier wer mit einer Idee bzw einen Codebeispiel unterstützen könnte.
Dankeschön und beste Grüße,
etze
ich bin Basis-Anwender von Python und habe mir alles bisherige selbst beigebracht. Der aktuelle Stand meines Projekts ist, das ich eine Flask-Homepage auf einem RasPi laufen habe die über über das MinimalModbus-Modul Sensoren abfragt und die Ergebnisse verlässlich im Browser darzustellt. Sofern ich mich als admin auf der Hompage registriere kann auch diverse Parameter an den Sensoren über die Benutzeroberfläche an den Sensoren verändern und dort speichern.
Die Benutzerautentifizierung erledige ich über eine MySQL Datenbank.
Soweit so gut, aber nun komme ich nicht weiter:
Ich möchte das Ganze erweitern und eine DataLogging Funktion einbauen bei der die Sensoren alle 2-5 Minuten abgefragt werden und in der Datenbank gespeichert werden. Ich weiß nur nicht wie ich die Regelmässigkeit in den Code integrieren kann.
Eine Flask Routine
( z.B.: @app.route('/')
def homepage():
der jeweilige CODE... )
wird ja nur dann abgearbeitet wenn über den Browser eine Anfrage gestellt wird. Deshalb weiß ich nicht wie und wo ich das Module des Dattaloggings aufrufen kann, damit es verlässlich abgefragt und in der Datenbank abgespeichert wird.
Eine Idee wäre ein 2tes Script in der Definition des 1ten Flask scripts aufzurufen das eben diese Abfragen macht und in die DB schreibt, aber ich bin nicht sicher ob und wie das möglich ist.
Wäre schön wenn mich hier wer mit einer Idee bzw einen Codebeispiel unterstützen könnte.
Dankeschön und beste Grüße,
etze