Open JayPi4c opened 4 years ago
Auch wenn die Daten chronologisch in der Datenbank gespeichert werden, so ist es doch sinnvoll, die Daten sortiert aus der Datenbank zu entnehmen, da man nicht sicher sagen kann, das die Daten immer in der selben Reihenfolge aus der Datenbank entnommen werden. Hierfür bietet sich eine geeignete SQL-Suche an:
SELECT * FROM sensorData WHERE timestamp < max AND timestamp > min ORDER BY timestamp ASC
Auch muss nicht immer die ganze Datenbank ausgelesen werden, sondern es kann auch nur der timestamp mit der Luftfeuchtigkeit oder entsprechend die Temperatur ausgelesen werden, was die Bearbeitung der Anfrage evtl. noch weiter beschleunigt, gerade wenn mehr als nur zwei Sensoren verwendet werden.
Eine lokale Datenbank würde sich anbieten, da sie nicht in der Größe begrenzt ist und man nicht von einer Netzwerkverbindung abhängt, während die Daten gesammelt werden. Ein Internetausfall, aus welchen Gründen auch immer, sorgt auf diese Weise nicht für einen Verlust von Daten über diesen Zeitraum. Als schlanke und effizienten Datenbank, auch auf einem Arduino kommt SQLite in Frage. Eine entsprechenden Anbindung an NodeJS gibt es schon und wirkt auf den ersten Blick auch recht simpel. Auch wirkt die Installation auf einem Raspberry Pi, auf dem letztendlich ja der Server laufen soll auch recht einfach.