ESP32 – Web-Plotter
In diesem Tutorial lernen wir, wie man einen Webplotter erstellt, der dem Serial Plotter in der Arduino IDE ähnlich aussieht. Mit diesem Setup können Sie die Echtzeitdaten eines ESP32 einfach über einen Webbrowser auf Ihrem Smartphone oder PC anzeigen. Es zeigt die Daten in einem Diagramm an, genauso wie Sie es im Serial Plotter der Arduino IDE sehen.

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Wie der Web-Plotter funktioniert
- Der ESP32-Code erstellt einen Webserver und einen WebSocket-Server.
- Wenn ein Benutzer die Webseite auf dem ESP32-Board über einen Webbrowser aufruft, sendet der Webserver auf dem ESP32-Board die Webinhalte (HTML, CSS, JavaScript) zurück an den Webbrowser.
- Der JavaScript-Code zeichnet im Webbrowser ein Diagramm, das dem Serial Plotter ähnelt.
- Wenn ein Benutzer auf der Webseite den Connect-Button klickt, erstellt der JavaScript-Code eine WebSocket-Verbindung zum WebSocket-Server auf dem ESP32-Board.
- Der ESP32 sendet Daten über die WebSocket-Verbindung an den Webbrowser in einem Format, das dem Serial Plotter ähnelt (siehe den nächsten Abschnitt).
- Der JavaScript-Code im Webbrowser empfängt die Daten und zeichnet sie im Diagramm.
Das Datenformat, das der ESP32 an den Webplotter sendet
Um mehrere Variablen zu plotten, müssen wir Variablen voneinander durch das “\t” oder das Leerzeichen-Zeichen trennen. Der letzte Wert MUSS durch “\r\n”-Zeichen beendet werden.
Im Detail:
- Die erste Variable
- Die mittleren Variablen
- Die letzte Variable
Für weitere Details verweisen Sie bitte auf das ESP32 - Serial Plotter Tutorial.
ESP32-Code - Webplotter
Der Inhalt der Webseite (HTML, CSS, JavaScript) wird separat in einer index.h-Datei gespeichert. Daher werden wir zwei Code-Dateien in der Arduino-IDE haben:
- Eine .ino-Datei, die ESP32-Code enthält und einen Webserver sowie einen WebSocket-Server erstellt
- Eine .h-Datei, die den Inhalt der Webseite enthält
Schnelle Schritte
- Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, sehen Sie wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
- Verbinden Sie das ESP32-Board über ein Micro-USB-Kabel mit Ihrem PC.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
- Öffnen Sie den Library Manager, indem Sie auf das Library Manager-Symbol in der linken Navigationsleiste der Arduino IDE klicken.
- Suchen Sie “ESPAsyncWebServer”, und finden Sie den ESPAsyncWebServer, der von lacamera erstellt wurde.
- Klicken Sie auf die Schaltfläche Install, um die ESPAsyncWebServer-Bibliothek zu installieren.

- Sie werden aufgefordert, die Abhängigkeit zu installieren. Klicken Sie auf die Schaltfläche Alle installieren.

- Suche “WebSockets”, und finde dann die WebSockets, die von Markus Sattler erstellt wurden.
- Klicke auf die Schaltfläche Installieren, um die WebSockets-Bibliothek zu installieren.

- In der Arduino-IDE erstelle ein neues Sketch, gib ihm einen Namen, zum Beispiel newbiely.com.ino
- Kopiere den untenstehenden Code und öffne ihn in der Arduino-IDE
- Ändern Sie die WiFi-Informationen (SSID und Passwort) im Code, damit sie zu Ihren eigenen Netzwerk-Anmeldeinformationen passen.
- Erstellen Sie die index.h-Datei in der Arduino-IDE, indem Sie:
- Entweder klicken Sie auf die Schaltfläche direkt unter dem Symbol des seriellen Monitors und wählen Sie Neue Registerkarte, oder verwenden Sie die Tastenkombination Ctrl+Shift+N.
- Geben Sie den Dateinamen index.h ein und klicken Sie auf die OK-Schaltfläche.
- Kopiere den untenstehenden Code und füge ihn in die index.h-Datei ein.
- Jetzt hast du den Code in zwei Dateien: newbiely.com.ino und index.h
- Klicke in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf den ESP32 hochzuladen.
- Öffne den seriellen Monitor.
- Schau dir das Ergebnis im seriellen Monitor an.
- Notieren Sie sich die angezeigte IP-Adresse und geben Sie diese Adresse in die Adressleiste eines Webbrowsers auf Ihrem Smartphone oder PC ein.
- Sie sehen die Webseite wie unten dargestellt:
- Klicken Sie auf die CONNECT-Schaltfläche, um die Webseite über WebSocket mit dem ESP32 zu verbinden.
- Sie werden sehen, wie der Plotter die Daten wie im untenstehenden Bild darstellt.
- Sie können den Serial Plotter in der Arduino-IDE öffnen, um ihn mit dem Web Plotter im Webbrowser zu vergleichen.
- Wenn Sie den HTML-Inhalt in der index.h Datei ändern und nichts in der newbiely.com.ino Datei berühren, wird der HTML-Inhalt beim Kompilieren und Hochladen des Codes auf den ESP32 von der Arduino IDE nicht aktualisiert.
- Um in diesem Fall sicherzustellen, dass die Arduino IDE den HTML-Inhalt aktualisiert, nehmen Sie eine Änderung in der newbiely.com.ino Datei vor (z. B. eine leere Zeile hinzufügen, einen Kommentar hinzufügen ...)




※ Notiz:
Zeile für Zeile Code-Erklärung
Der obige ESP32-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!