Seite 1 von 1
Sensoren tagesweise zyklisch auslesen
Verfasst: Mittwoch 22. Juli 2020, 13:30
von CoderGirl
Jungs,
ich brauche eure Hilfe. Ich habe ein Brett vor dem Kopf und das Gefühl, ich sehe den Bald
vor Bäumen nicht.
Was will ich machen? Ich will ein durchweg laufendes Programm erstellen, dass mir alle t min (def t = 5min)
einen Sensorwert aufruft, und den zu dem dem bestehenden addiert. Dies aber auf Tagesbasis, d.h.
der summierte Wert wird für jeden Tag neu berechnet.
Wie geh ich das am besten an ?
Danke euch
Codergirl
Re: Sensoren tagesweise zyklisch auslesen
Verfasst: Mittwoch 22. Juli 2020, 13:58
von pintman
Ich nehme an, dass der Sensor an einem µC hängt, Python "spricht" (z.B. ein ESP8266) und der µC immer wieder in den Schlafzustand wechselt, um Energie zu sparen?!
Eine mögliche Methode wäre, den aktuellen Sensorwert an einen
MQTT-Broker zu senden. Auf der anderen Seite hängt dann ein Skript, welches auf dem MQTT-Broker lauscht und die Werte in der gewünschten Art aufbereitet und/oder in einer DB/Datei speichert.
Re: Sensoren tagesweise zyklisch auslesen
Verfasst: Mittwoch 22. Juli 2020, 14:09
von CoderGirl
Hi
der Sensor hängt an einem ESP8266, den ich zyklisch über den http:/ Get auslese und das JSON parse und weiterverarbeite.
Dann bin ich doch nicht so falsch und schreibe mir die Daten und Werte erstmal in eine CSV und lese das nachträglich ein.
Das mit der DB als besseren Variante ist mir klar, es geht erstmal um einen Prototypen
Danke
Re: Sensoren tagesweise zyklisch auslesen
Verfasst: Mittwoch 22. Juli 2020, 16:18
von pintman
Das klingt durchaus sinnvoll.
Eine DB ist nicht grundsätzlich eine bessere Wahl. CSV lassen sich auch schon mit pandas auswerten und visualisieren. Mit einem Jupyter-Notebook kommt man da schnell zu Ergebnissen.
In einem
Podcast habe ich ein paar Gedanken zusammengefasst, die mir bei der Durchführung eines Projektes gekommen sind. Vielleicht ist das eine nette "Hintergrundbeschallung" während der Arbeit für dich.
Eine weitere Lehre, die ich von David Kriesel übernommen habe: Behalte die Rohdaten. Manchmal weiß man später, wie man die Daten auswerten möchte. Auch falsche oder fehlende Werte fallen in den Rohdaten stärker auf.
Re: Sensoren tagesweise zyklisch auslesen
Verfasst: Donnerstag 23. Juli 2020, 06:06
von sparrow
@CoderGirl: Dein "Auslesen des Sensors" ist also das Abrufen des Wertes mittels http-Requests?
Dann solltest du in Betracht ziehen, kein dauerhaft laufendes Programm zu verwenden, sondern auf die Möglichkeiten des Betriebssystems zurückzugreifen.
Re: Sensoren tagesweise zyklisch auslesen
Verfasst: Donnerstag 23. Juli 2020, 08:00
von nezzcarth
Ich würde das wie sparrow vorschlug lösen und (unter Linux) einen Cron Job anlegen. Die Daten legst du dann zum Beispiel als fortlaufende CSV/TSV Datei ab (<datum>\t<uhrzeit>\t<messwert>). Das Aufsummieren ist mit awk in ein paar Zeilen abgehandelt, kann aber natürlich auch in Python mit ein paar Zeilen mehr erfolgen.

Re: Sensoren tagesweise zyklisch auslesen
Verfasst: Donnerstag 23. Juli 2020, 12:09
von CoderGirl
Hallo
danke Euch. Ich habe die Aufgabe direkt auf dem Controller lösen können

Ich habe dort eine Timer, der die Werte abgreift und dann dort aufsummiert
Danke
Re: Sensoren tagesweise zyklisch auslesen
Verfasst: Donnerstag 23. Juli 2020, 12:12
von Sirius3
Der Controller wird Schwierigkeiten haben, eine stabile Uhrzeit zur Verfügung zu stellen.