Ich habe vor kurzem den Einstieg in die ESP32 Module gewagt. Zum Entwickeln nutze ich hierfür Visual Studio Code mit dem ESP-IDF Plugin. Im Moment arbeite ich mich noch hauptsächlich durch die Beispiele durch. Ein Argument für ESP32 war für mich WLan, so dass ich "kleine" Status- und Konfigurationswebseiten generieren kann. Html generell auszugeben habe ich schon geschafft. Hierfür war der Html String einfach festkodiert im Code. Ich habe schon gelesen, dass man auch eine Html Datei im Flash ablegen kann - was mir schon etwas "sauberer" und ressourcenschonender erscheint. Wie oben geschrieben, möchte ich die Webserver Funktionalität nutzen, um eben Konfigurations- und Statuswebseiten auszugeben. Somit wären in der Html Datei sehr viele Platzhalter, die vor dem Ausliefern mit den aktuellen Werten ersetzt werden müssten. Eine Möglichkeit ist wohl sprintf(), aber ich glaube das wird sehr schnell unübersichtlich... Was ist also die "beste" Möglichkeit auf einem ESP32 Html zu generieren und die Platzhalter zu befüllen?
Guten Morgen, Schau Dich mal unter: https://fipsok.de/ um. Dort findest du alles für den Einstieg. MAT
Troll A. schrieb: > Was ist also die "beste" Möglichkeit auf einem ESP32 Html zu generieren > und die Platzhalter zu befüllen? Platzhalter nicht befüllen, sondern zur Laufzeit via xhtmlhttprequest vom Webclient befüllen lassen. Dein µC liefert also a) eine statische Seite mit etwas Javscript aus und antwortet b) gezielt auf einzelne Anfragen, auf die hin er nur Werte ausliefert, die vom Javascript auf dem Client in die Seite eingebunden werden. Damit lassen sich auch zur Laufzeit veränderliche Werte anzeigen, indem nur via xmlhttprequest die dynamischen Daten zyklisch aktualisiert werden. Das braucht weniger Bandbreite als eine komplette Neuübertragung der ganzen Seite.
Harald K. schrieb: > Dein µC liefert also a) eine statische Seite mit etwas Javscript aus und > antwortet b) gezielt auf einzelne Anfragen, auf die hin er nur Werte > ausliefert, die vom Javascript auf dem Client in die Seite eingebunden > werden. Danke, das klingt sehr vielversprechend! Werde ich mir mal näher anschauen.
Das nervigste Problem - bis die Seiten so aussehen, wie ich sie haben will brauche ich unzählige Versuche. Die hunderte von Uploads dauern ewig. So finde ich das mit den statischen Seiten den besten Ansatz. Während der Entwicklung kann man dann HTML, CSS und Javascript direkt vom PC laden. Ohne Upload auf den ESP. Alle statischen Seiten kannst du mit einem server.serveStatic("/", SPIFFS, "/www/") ausliefern. Du kannst die Daten auch über Websocket schicken. Der ESP kann dann dem Browser bei Änderungen sofort Bescheid geben. P.S. ESP-IDF finde ich unnötig aufwendig. Meist reichen die Arduino Module mit ihren Default-Einstellungen aus. Und wenn nicht, kannst du die IDF Funktionen immer noch nutzen. Der ESPAsyncWebServer liefert alles mit, was du für SPIFFS oder Websockets brauchst.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.