Ich programmiere meinen ESP32 mit der ArduinoIDE und lasse diese eine
relativ simple Seite ausliefern (C-String-Escapesequenzen sind hier noch
enthalten):
1 | <!DOCTYPE html>\
|
2 | <html>\
|
3 | <head>\
|
4 | <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">\
|
5 | <meta name=viewport content=\"width=device-width, initial-scale=1\">\
|
6 | </head>\
|
7 | <body>\
|
8 | <h1 style=\"text-align: center;\">Titel</h1>\
|
9 | 1/6 h<BR>\
|
10 | <IMG SRC=\"/graph.svg\"><BR>\
|
11 | 1/7 d<BR>\
|
12 | <IMG SRC=\"/graphL.svg\"><BR>\
|
13 | </body>\
|
14 | </html>
|
Das Problem sind die beiden enthaltenen Bilder, diese werden manchmal
nicht ausgeliefert und fehlen dann in der Webseite. Was genau passiert
(also ob ein 404 ausgeliefert wird oder gar nichts) kann ich nicht
erkennen, da die Bilder immer korrekt geladen werden, wenn ich sie
einzeln anzeige. Bei der Webseite reicht es meistens, ein oder zwei mal
neu zu laden, dann ist alles da.
Der Code zur Initialisierung der Webserver ist recht simpel:
1 | server.on("/",eventIndex);
|
2 | server.on("/graph.svg",drawGraph);
|
3 | server.on("/graphL.svg",drawGraphL);
|
4 | server.onNotFound(handleNotFound);
|
5 | delay(500);
|
6 | server.begin();
|
Die Callback-Funktionen liefern die Daten dann beispielsweise mit einem
simplen
1 | server.send(200,"image/svg+xml",sendBuffer);
|
aus, wobei sendBuffer die nötigen Daten enthält.
Wo könnte hier das Problem liegen? Werden die beiden Bilder eventuell zu
schnell angefragt?
Jeder Hinweis zur Lösung des Problems ist willkommen!