Forum: Mikrocontroller und Digitale Elektronik ESP32 Webserver Langzeitproblem


von Johannes S. (johannes_s431)


Lesenswert?

Hallo,
Momentan habe ich einen webserver mit dem ESP32 erstellt, der Daten über 
CAN ausliest und auch über webclient post Daten von anderen ESPs erhält 
und veranschaulicht. Dieser läuft nach hochladen, reseten perfekt und 
nach ca. einer Woche wird nur noch sporadisch die Main-Website aufgebaut 
und sobald ich eine untergeordnete Seite öffnen möchte, geht gar nichts 
mehr. Ich baue die Website derzeit immer komplett neu auf, also Header, 
CSS, Buttons, Skript... d.h. der zu erstellende und zu übertragende 
string ist sehr groß. Kann es daran liegen, das sich der ESP32 immer 
nach langer Zeit aufhängt? Nach reset läuft der Webserver flüssig und 
ohne Probleme. Jedoch wird doch immer nur bei Aufruf server.on 
getriggert also, wird der String doch nur selten neu geschrieben? Habe 
schon versucht über message.reserve(5000) immer den Stringbereich zu 
reservieren. Hilft jedoch nichts und da das Problem erst nach langer 
Zeit auftritt, ist das Testen neuer Verbesserungen sehr schwer. Für 
weitere Ideen wäre ich echt dankbar! Die einzige Idee, die ich noch 
habe, ist alle Variablen zwischen zu speichern und den ESP32 nach so 5 
Tagen neu zu starten. Ist aber eher eine Problemlösung als eine 
Verbesserung.
Vielen Dank für die Hilfe

von Alexander (alecxs)


Lesenswert?

Das wird wohl eher an deinem Code liegen.

von Εrnst B. (ernst)


Lesenswert?

Vermute Speicherleck.

Bau in deine Webseite eine Ausgabe von esp_get_free_heap_size()
oder ESP.getFreeHeap() ein, und schau wie sich der Wert über die Zeit 
verändert.

Wenn der Webserver sauber programmiert ist, bleibt der Wert auf lange 
Frist gesehen konstant.

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.