Forum: Mikrocontroller und Digitale Elektronik ESP mit Webser - Graph aus Datenbank von SD-Karte?


von Christoph S. (christoph_s205)


Lesenswert?

Einen schönen Freitag allerseits,

ich steh aktuell vor folgendem Problem und würdem ich über ein paar 
Anregungen freuen.

Ausgangslage: Ich habe einen ESP8266 der vor sich hin werkelt und 
fleißig Daten sammelt und diese in eine MongoDB schreibt.
Ich habe einen Node-Server der aus dieser Datenbank über eine Webseite 
einen Graph anzeigt.

Ich würde jetzt aber gerne das ganze ohne externe Datenbank und Webseite 
machen - am liebsten alles auf einem ESP32.

Mein Plan war jetzt: SD-Karte an den ESP und dort die Messdaten 
speichern, Website ebenfalls direkt auf dem ESP hosten und so auf alle 
weiteren Geräte zu verzichten.

Habt ihr mir hier eine Idee wie man das am besten löst? Oder ist die 
Idee mit der Sd-Karte generell nicht zu empfehlen und ich sollte 
weiterhin auf eine exsterne Datenbank setzen?

Vielen Dank schonmal im vorraus.

von Axel S. (a-za-z0-9)


Lesenswert?

Christoph S. schrieb:
> Ausgangslage: Ich habe einen ESP8266 der vor sich hin werkelt und
> fleißig Daten sammelt und diese in eine MongoDB schreibt.
> Ich habe einen Node-Server der aus dieser Datenbank über eine Webseite
> einen Graph anzeigt.
>
> Ich würde jetzt aber gerne das ganze ohne externe Datenbank und Webseite
> machen - am liebsten alles auf einem ESP32.

Ja. Mach halt.

Sowohl die Datenbank als auch die Transformationsschicht kann genausogut 
auf dem ESP laufen. Allerdings würde man wohl etwas schlankeres 
verwenden wollen als ausgerechnet Mongo und Node. Wie wäre es mit 
rrdtool?

> Mein Plan war jetzt: SD-Karte an den ESP und dort die Messdaten
> speichern, Website ebenfalls direkt auf dem ESP hosten und so auf alle
> weiteren Geräte zu verzichten.

Ja. Ungefähr so. Wobei das mit der SD-Karte natürlich ein 
vergleichsweise unwichtiges Detail ist. Bzw. ein Detail, das wir nicht 
beurteilen können. Für welche Zeiträume willst du Daten vorhalten? In 
welcher Auflösung? Brauchst du Backups? etc. pp.

von A. F. (artur-f) Benutzerseite


Lesenswert?

Axel S. schrieb:
> Ja. Ungefähr so. Wobei das mit der SD-Karte natürlich ein
> vergleichsweise unwichtiges Detail ist. Bzw. ein Detail, das wir nicht
> beurteilen können. Für welche Zeiträume willst du Daten vorhalten? In
> welcher Auflösung? Brauchst du Backups? etc. pp.

Richtig.

Eine Webseite auf dem ESP ist kein Problem. Die Daten auf einer SD Karte 
abzulegen auch (evtl. aber auf dem Flash vom ESP). Ich erzeuge mit 
fsdata tool immer ein static char array aus der HTML + JS + CSS.
https://engsta.com/esp8266-wifi-configurator/ Ist einfacher zu 
handhaben, als irgendwelche strings gestückelt zu schicken.

Ein paar Balken kriegt man mit JS+CSS auch hin, die Frage ist, wie du 
die Daten auf der SD Karte am besten behandelst (ein Datei pro Tag?, 
Zeitstempel? etc.) um diese mit einer halbwegs guten Performance 
auszugeben.

von Christoph S. (christoph_s205)


Lesenswert?

Danke schonmal für eure Antworten.
Werde spätere die tools die ihr genannt habt genauer anschauen, danke 
dafür!

Auflösung soll 1 Minute sein, sind 5 Sensordaten die gemessen werden 
sollen.

Der Graph muss aber schick und interaktiv sein, aber das sollte man ja 
genauso hinkriegen.

Nur "wie speichere ich meien Daten ab" macht mir noch Kopfzerbrechen 
damit ich sie später auch komfortabel wieder abfragen kann.

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Christoph S. schrieb:
> Nur "wie speichere ich meien Daten ab" macht mir noch Kopfzerbrechen
> damit ich sie später auch komfortabel wieder abfragen kann.

Ich würde die Rohdaten abspeichern und die Aufbereitung im Webbrowser 
via Javascript machen, denn dort hast Du mehrere Größenordnungen mehr 
Rechenleistung als im ESP.

Daten senden an JavaScript kann man z.B. via JSON.

von Stefan F. (Gast)


Lesenswert?

Anstatt Daten an den Browser zu senden, damit dort ein Javascript 
Diagramme zeichnet könntest du alternativ auch SVG Grafiken auf dem 
Webserver erzeugen. SVG ist viel einfacher als andere Grafikformate weil 
das in Wirklichkeit Textdateien sind.

von Christoph S. (christoph_s205)


Lesenswert?

Danke für euer Feedback.

Und wie würdet ihr die Daten auf der SD-Karte speichern?
Einfach als csv?
Oder gibts da was besser geeignetes?

von Stefan F. (Gast)


Lesenswert?

Christoph S. schrieb:
> Einfach als csv?

So oder so ähnlich. Alle Formate, die sowohl von Menschen als auch von 
Maschinen lesbar sind, bevorzuge ich, weil man dort Fehler gut 
analysieren und beheben kann.

Solange CSV ausreicht, ist das meine bevorzugte Wahl. XML würde ich mir 
hier nicht freiwillig antun.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.