Arduino Nano ESP32 - Web-Plotter
Dieses Tutorial zeigt dir, wie du einen webbasierten Plotter baust, der dem Serial Plotter im Arduino IDE ähnelt. Dieser webbasierte Plotter ermöglicht die Überwachung von Echtzeitdaten von einem Arduino Nano ESP32 mithilfe eines Webbrowsers auf deinem Smartphone oder PC. Die geplotteten Daten werden in Form eines Graphen dargestellt und ähneln dem, was man typischerweise im Serial Plotter der Arduino IDE sieht.

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 Arduino Nano ESP32-Code erstellt sowohl einen Webserver als auch einen WebSocket-Server.
- Wenn ein Benutzer die Webseite, die auf dem Arduino Nano ESP32-Board gehostet wird, über einen Webbrowser aufruft, sendet der Webserver des Arduino Nano ESP32 die Webinhalte (HTML, CSS, JavaScript) an den Browser zurück.
- Der JavaScript-Code, der im Webbrowser läuft, erstellt ein Diagramm, das dem Serial Plotter ähnelt.
- Beim Klicken auf die Schaltfläche "Verbinden" auf der Webseite initiiert der JavaScript-Code eine WebSocket-Verbindung zum WebSocket-Server, der auf dem Arduino Nano ESP32-Board läuft.
- Der Arduino Nano ESP32 sendet Daten über die WebSocket-Verbindung an den Webbrowser in einem Format, das dem des Serial Plotter ähnelt (Details im nächsten Teil).
- Der JavaScript-Code im Webbrowser empfängt die Daten und zeichnet sie in das Diagramm.
Das Datenformat, das Arduino Nano ESP32 an den Webplotter sendet
Um mehrere Variablen zu plotten, müssen wir die Variablen voneinander durch “\t” oder das " " 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 lesen Sie bitte das Tutorial Arduino Nano ESP32 - Serial Plotter.
Arduino Nano ESP32-Code - Web-Plotter
Der Inhalt der Webseite (HTML, CSS und JavaScript) wird separat in einer index.h-Datei gespeichert. Daher werden wir in der Arduino-IDE zwei Code-Dateien haben:
- Eine .ino-Datei, die den Arduino Nano ESP32-Code enthält und sowohl einen Webserver als auch einen WebSocket-Server erstellt.
- Eine .h-Datei, die den Inhalt der Webseite enthält.
Schnelle Schritte
Um mit dem Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:
- Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial dazu, wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet (BASE_URL/tutorials/arduino-nano-esp32/arduino-nano-esp32-software-installation).
- Schließen Sie das Arduino Nano ESP32-Board über ein USB-Kabel an Ihren PC an.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie das richtige Arduino Nano ESP32-Board (z. B. Arduino Nano ESP32 und COM-Port.
- Ö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 anschließend den von lacamera erstellten ESPAsyncWebServer.
- Klicken Sie auf die Installieren-Schaltfläche, um die ESPAsyncWebServer-Bibliothek zu installieren.

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

- Suchen Sie nach „WebSockets“, und finden Sie dann die WebSockets, die von Markus Sattler erstellt wurden.
- Klicken Sie 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 mit der Arduino-IDE
- Passen Sie die WiFi-Informationen (SSID und Passwort) im Code so an, dass sie zu Ihren eigenen Netzwerkanmeldeinformationen 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 Neuer Tab, oder verwenden Sie die Tasten Strg+Umschalt+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 die Hochladen-Schaltfläche, um den Code auf den Arduino Nano ESP32 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 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 Arduino Nano 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 Datei index.h ändern und keine Änderungen an der Datei newbiely.com.ino vornehmen, wird die IDE beim Kompilieren und Hochladen des Codes auf den Arduino Nano ESP32 über die Arduino IDE den HTML-Inhalt nicht aktualisieren.
- Um die Arduino IDE in diesem Szenario dazu zu zwingen, den HTML-Inhalt zu aktualisieren, müssen Sie eine Änderung in der Datei newbiely.com.ino vornehmen. Zum Beispiel können Sie eine leere Zeile hinzufügen oder einen Kommentar einfügen.




※ Notiz:
Zeilenweise Code-Erklärung
Der oben gezeigte Arduino Nano ESP32-Code enthält eine Zeile-für-Zeile-Erklärung. Bitte lesen Sie die Kommentare im Code!