Arduino Nano ESP32 Web Plotter mit DIYables ESP32 WebApps Library
Übersicht
Dieses Tutorial behandelt die DIYablesWebPlotterPage-Klasse aus der DIYables ESP32 WebApps-Bibliothek. Die Seite rendert ein Streaming-Liniendiagramm im Browser. Der Arduino Nano ESP32-Sketch sendet Datenpunkte über WebSocket; der Browser hängt jeden Punkt in Echtzeit an die entsprechende Serie an. Bis zu 8 unabhängige Datenreihen werden gleichzeitig unterstützt.

Schauen Sie sich dieses Schritt-für-Schritt-Video-Tutorial an, das zeigt, wie Sie einen DHT-Sensor mit der Web Plotter App verwenden:
Was dieses Tutorial behandelt
- Konfigurieren des Plottertitels, der Achsenbeschriftungen und des Samplespeicherungslimits
- Senden benannter Datenpunkte aus dem Sketch mit addDataPoint()
- Gleichzeitiges Plotten mehrerer Serien
- Ersetzen simulierter Daten durch echte Sensormessungen
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Schritte
Befolgen Sie diese Anleitung Schritt für Schritt:
- Wenn Sie den Arduino Nano ESP32 zum ersten Mal verwenden, beachten Sie das Tutorial zu Einrichten der Entwicklungsumgebung für Arduino Nano ESP32.
- Verbinden Sie das Arduino Nano ESP32-Board mit einem USB-Kabel mit Ihrem Computer.
- Starten Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das richtige Board (z. B. Arduino Nano ESP32) und den COM-Port.
- Navigieren Sie zum Symbol Bibliotheken in der linken Leiste der Arduino IDE.
- Suchen Sie "DIYables ESP32 WebApps", und finden Sie die DIYables ESP32 WebApps Library von DIYables
- Klicken Sie auf die Schaltfläche Installieren, um die Bibliothek zu installieren.
- Search for DIYables ESP32 WebApps created by DIYables and click the Install button.
- Sie werden aufgefordert, einige andere Bibliotheksabhängigkeiten zu installieren
- Klicken Sie auf die Schaltfläche Alle installieren, um alle Bibliotheksabhängigkeiten zu installieren.
- Gehen Sie in der Arduino IDE zu Datei Beispiele DIYables ESP32 WebApps WebPlotter, oder kopieren Sie den obigen Code und fügen Sie ihn in den Editor der Arduino IDE ein
- Aktualisieren Sie die WiFi-Anmeldedaten im Sketch:
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino Nano ESP32 hochzuladen
- Öffnen Sie den Seriellen Monitor
- Die Ausgabe des Seriellen Monitors sollte etwa wie folgt aussehen:
- Wenn nichts angezeigt wird, drücken Sie die Reset-Taste auf dem Board.
- Geben Sie die IP-Adresse aus dem Seriellen Monitor in einen Browser im selben Netzwerk ein.
- Beispiel: http://192.168.0.2
- Die Startseite zeigt eine Karte für die Plotter-Anwendung:

- Wählen Sie die Web Plotter-Karte aus, um die Diagrammseite zu öffnen:

- Die Seite ist auch direkt unter http://192.168.0.2/web-plotter erreichbar.
- Das Diagramm beginnt sich zu aktualisieren, wenn der Sketch simulierte Daten sendet. Jede Serie wird in einer anderen Farbe gezeichnet.
Plotter-Konfiguration
Legen Sie vor dem Starten des Servers den Diagrammtitel, die Achsenbeschriftungen, das Verhalten der automatischen Skalierung und die maximale Anzahl der beibehaltenen Samples fest:
Senden von Datenpunkten
Jeder Datenpunkt gibt einen Seriennamen, X-Wert und Y-Wert an. Die Serie wird bei der ersten Verwendung automatisch erstellt:
Lesen aus echten Sensoren
Ersetzen Sie die simulierten Werte im Beispiel durch tatsächliche Sensormessungen:
Einzelner Sensor
Mehrere Sensoren
Beschränken Sie die Senderate, um die WebSocket-Verbindung nicht zu überlasten. Ein Intervall von 500 ms bis 1000 ms ist für die meisten Sensoranwendungen geeignet.
Fehlerbehebung
Diagramm wird nicht aktualisiert
- Bestätigen Sie, dass webAppsServer.loop() bei jeder loop()-Iteration ausgeführt wird
- Fügen Sie Serial.println() vor addDataPoint() hinzu, um zu überprüfen, ob der Codepfad ausgeführt wird
- Laden Sie die Browserseite neu und überprüfen Sie den WebSocket-Verbindungsindikator
Diagramm zeigt flache Linien oder falsche Werte
- Überprüfen Sie die Sensormessung und die Skalierungsformel
- Geben Sie den Wert im Seriellen Monitor aus und senden Sie ihn gleichzeitig an den Plotter
Zu viele Datenpunkte verlangsamen den Browser
- Reduzieren Sie setMaxSamples(), um die pro Serie beibehaltenen Punkte zu verringern
- Erhöhen Sie die Verzögerung zwischen den Datensendungen
Board ist nicht erreichbar
- Bestätigen Sie die IP-Adresse aus dem Seriellen Monitor
- Stellen Sie sicher, dass sich das Browser-Gerät im selben 2,4-GHz-Netzwerk wie das Board befindet