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
Sensoren tagesweise zyklisch auslesen
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.
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.
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
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
Nur ein Mädchen, das nie so viel weiss, wie die Jungs 

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.
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.
@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.
Dann solltest du in Betracht ziehen, kein dauerhaft laufendes Programm zu verwenden, sondern auf die Möglichkeiten des Betriebssystems zurückzugreifen.
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. 
