ESP8266 - Webplotter
Dieses Tutorial zeigt Ihnen, wie Sie einen webbasierten Plotter erstellen, der dem Serial Plotter ähnelt, der in der Arduino-IDE zu finden ist. Diese Einrichtung ermöglicht es Ihnen, Echtzeitdaten eines ESP8266 bequem über einen Webbrowser auf Ihrem Smartphone oder PC zu überwachen. Es visualisiert die Daten in einem grafischen Format, das dem entspricht, was Sie im Serial Plotter der Arduino-IDE beobachten.

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Wie der Web Plotter funktioniert
- Der ESP8266-Code erstellt sowohl einen Webserver als auch einen WebSocket-Server.
- Wenn ein Benutzer die auf dem ESP8266-Board gehostete Webseite über einen Webbrowser aufruft, sendet der Webserver des ESP8266 den Webinhalt (HTML, CSS, JavaScript) an den Browser zurück.
- Der JavaScript-Code, der im Webbrowser läuft, zeichnet ein Diagramm, das dem seriellen Plotter ähnelt.
- Beim Klicken auf den Connect-Button auf der Webseite wird eine WebSocket-Verbindung zum WebSocket-Server hergestellt, der auf dem ESP8266-Board läuft.
- Der ESP8266 sendet Daten über die WebSocket-Verbindung an den Webbrowser in einem Format, das dem des seriellen Plotters ähnelt (Details dazu im nächsten Abschnitt).
- Der JavaScript-Code im Webbrowser empfängt die Daten und zeichnet sie im Diagramm.
Das Datenformat, das der ESP8266 an den Web-Plotter sendet
Um mehrere Variablen zu plotten, müssen wir Variablen voneinander durch das Zeichen “\t” oder das Zeichen " " voneinander trennen. Der letzte Wert muss durch das Zeichen “\r\n” beendet werden.
Im Detail:
- Die erste Variable
- Die mittleren Variablen
- Die letzte Variable
Für weitere Details lesen Sie bitte das Tutorial ESP8266 - Serial Plotter.
ESP8266-Code - Web-Plotter
Der Inhalt der Webseite (HTML, CSS, JavaScript) wird separat in einer index.h-Datei gespeichert. So werden wir zwei Code-Dateien in der Arduino-IDE haben:
- Eine .ino-Datei mit ESP8266-Code, die einen Webserver und einen WebSocket-Server erstellt.
- Eine .h-Datei, die den Inhalt der Webseite enthält.
Schnelle Schritte
Um mit ESP8266 in der Arduino-IDE zu beginnen, folgen Sie diesen Schritten:
- Schauen Sie sich das how to setup environment for ESP8266 on Arduino IDE Tutorial an, falls dies Ihre erste Verwendung von ESP8266 ist.
- Verbinden Sie das ESP8266-Board mit Ihrem Computer über ein USB-Kabel.
- Öffnen Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das richtige ESP8266-Board, z. B. NodeMCU 1.0 (ESP-12E Modul), und den jeweiligen COM-Port.
- Öffnen Sie den Bibliotheks-Manager, indem Sie auf das Symbol Bibliotheks-Manager in der linken Navigationsleiste der Arduino IDE klicken.
- Suchen Sie „WebSockets“, und finden Sie die von Markus Sattler erstellten WebSockets.
- Klicken Sie auf die Schaltfläche Installieren, um die WebSockets-Bibliothek zu installieren.

- Im Arduino IDE erstelle einen neuen Sketch, gib ihm einen Namen, zum Beispiel newbiely.com.ino
- Kopiere den untenstehenden Code und öffne ihn mit der Arduino IDE
- Passen Sie die WiFi-Informationen (SSID und Passwort) im Code an, damit sie mit Ihren eigenen Netzwerkanmeldeinformationen übereinstimmen.
- Erstellen Sie die Datei index.h in der Arduino-IDE durch:
- Entweder klicken Sie auf die Schaltfläche direkt unter dem Seriemonitor-Symbol und wählen Sie Neue Registerkarte, oder verwenden Sie die Tasten Ctrl+Shift+N.
- Geben Sie den Dateinamen index.h ein und klicken Sie auf die OK Schaltfläche
- Kopieren Sie den untenstehenden Code und fügen Sie ihn in die index.h ein.
- Jetzt hast du den Code in zwei Dateien: newbiely.com.ino und index.h
- Klicke in der Arduino-IDE auf Hochladen, um den Code auf den ESP8266 hochzuladen.
- Öffne den seriellen Monitor
- Sieh dir das Ergebnis im seriellen Monitor an.
- Notieren Sie sich die angezeigte IP-Adresse und geben Sie diese Adresse in die Adresszeile 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 ESP8266 zu verbinden.
- Sie sehen die vom Plotter dargestellten Daten wie im untenstehenden Bild.
- Sie können den seriellen Plotter in der Arduino-IDE öffnen, um ihn mit dem Webplotter im Webbrowser zu vergleichen.
- Wenn Sie den HTML-Inhalt in der index.h ändern und nichts an der newbiely.com.ino-Datei berühren, wird die Arduino-IDE den HTML-Inhalt beim Kompilieren und Hochladen des Codes auf dem ESP8266 nicht aktualisieren.
- Um die Arduino-IDE dazu zu bringen, den HTML-Inhalt in diesem Fall zu aktualisieren, 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 ESP8266-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!