ESP32 WebMonitor-Beispiel - Tutorial zum webbasierten seriellen Monitor
Übersicht
Das WebMonitor-Beispiel ersetzt den traditionellen seriellen Monitor durch eine webbasierte Benutzeroberfläche, die von jedem Gerät in Ihrem Netzwerk aus zugänglich ist. Entwickelt für ESP32 – eine Bildungsplattform mit erweiterten IoT-Funktionen, integrierter Sensorüberwachung und nahtloser Integration in das Bildungsökosystem.

Funktionen
- Echtzeit-Seriellausgabe: ESP32-Nachrichten sofort im Browser anzeigen
- Kommandoeingabe: Befehle von der Weboberfläche an Arduino senden
- Dunkles Design: Eine augenschonende Terminal-ähnliche Oberfläche
- Auto-Scroll: Scrollt automatisch zu den neuesten Nachrichten
- Zeitstempel: Alle Nachrichten enthalten Zeitstempel
- Befehlsverlauf: Mit Pfeiltasten zu vorherigen Befehlen navigieren
- Löschfunktion: Monitoranzeige löschen
- Kopieren/Einfügen: Vollständige Textauswahl und Kopierunterstützung
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) |
Setup-Anweisungen
Schnelle Schritte
Befolge diese Anweisungen Schritt für Schritt:
- Wenn Sie den ESP32 zum ersten Mal verwenden, lesen Sie das Tutorial zur Einrichtung der Entwicklungsumgebung für ESP32 in der Arduino IDE.
- Verbinden Sie das ESP32-Board mit Ihrem Computer über ein USB-Kabel.
- Öffnen Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das passende ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
- Gehen Sie zu dem Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
- Suchen Sie "DIYables ESP32 WebApps", und finden Sie dann die DIYables ESP32 WebApps-Bibliothek von DIYables.
- Klicken Sie auf die Installieren-Schaltfläche, um die Bibliothek zu installieren.

- Sie werden aufgefordert, einige weitere Bibliotheksabhängigkeiten zu installieren.
- Klicken Sie auf die Schaltfläche Alle installieren, um alle Bibliotheksabhängigkeiten zu installieren.

- In der Arduino-IDE gehen Sie zu Datei Beispiele DIYables ESP32 WebApps WebMonitor Beispiel, oder kopieren Sie den obigen Code und fügen ihn in den Editor der Arduino-IDE ein
- Konfigurieren Sie die WiFi-Zugangsdaten im Code, indem Sie diese Zeilen aktualisieren:
- Klicken Sie in der Arduino IDE auf die Hochladen-Schaltfläche, um Code auf den ESP32 hochzuladen.
- Öffnen Sie den seriellen Monitor.
- Überprüfen Sie das Ergebnis im seriellen Monitor. Es sieht so aus wie unten.
- Wenn Sie nichts sehen, starten Sie das ESP32-Board neu.
- Notieren Sie sich die angezeigte IP-Adresse und geben Sie diese Adresse in die Adresszeile eines Webbrowsers auf Ihrem Smartphone oder PC ein.
- Beispiel: http://192.168.0.2
- Sie sehen die Startseite wie im untenstehenden Bild:

- Klicken Sie auf den Web Monitor-Link, dann sehen Sie die Benutzeroberfläche der Web Monitor-App wie unten dargestellt:

- Oder Sie können die Seite auch direkt über die IP-Adresse aufrufen, gefolgt von /web-monitor. Zum Beispiel: http://192.168.0.2/web-monitor
- Versuchen Sie, Befehle an Ihren ESP32 über die Webmonitor-Oberfläche zu senden und die serielle Ausgabe Ihres Arduino in Echtzeit anzuzeigen.
Wie man es verwendet
Serielle Ausgabe anzeigen
- Öffne die Webmonitor-Oberfläche
- Der ESP32 sendet automatisch Statusmeldungen alle 5 Sekunden
- Alle Ausgaben von Serial.println() erscheinen im Monitor
- Nachrichten werden automatisch mit Zeitstempeln versehen
Befehle senden
- Geben Sie Befehle in das Eingabefeld unten ein
- Drücken Sie die Eingabetaste oder klicken Sie auf die Schaltfläche Senden
- ESP32 verarbeitet den Befehl und antwortet
Eingebaute Befehle
Das Beispiel enthält diese Demonstrationsbefehle:
LED-Steuerung
- "led on" → Schaltet die eingebaute LED ein
- "led off" → Schaltet die eingebaute LED aus
- "led toggle" → Schaltet den Zustand der LED um
- "blink" → Blinkt die LED dreimal
Systembefehle
- "status" → Zeigt den ESP32-Status und die Betriebszeit an
- "help" → Listet verfügbare Befehle auf
- "reset counter" → Setzt den Nachrichten-Zähler zurück
- "memory" → Zeigt Informationen zum freien Speicher an
Debug-Befehle
- "test" → Sendet eine Testnachricht
- "echo [message]" → Gibt Ihre Nachricht zurück
- "repeat [n] [message]" → Wiederholt die Nachricht n-mal
Schnittstellenfunktionen
Tastenkombinationen
- Eingabetaste → Befehl senden
- ↑/↓ Pfeiltasten → Befehlsverlauf navigieren
- Strg+L → Bildschirm löschen (falls implementiert)
- Strg+A → Alles auswählen
Monitorsteuerungen
- Automatisches Scrollen → Scrollt automatisch zu neuen Nachrichten
- Löschen → Löscht die Anzeige des Monitors
- Kopieren → Den ausgewählten Text in die Zwischenablage kopieren
Kreative Anpassung – Bauen Sie Ihr fortgeschrittenes Debugging-Tool
Erweitern Sie dieses Webmonitor-Beispiel, um eine leistungsstarke Debugging- und Steueroberfläche für Ihre Projekte zu erstellen! Fügen Sie benutzerdefinierte Befehle, Sensorüberwachung und Echtzeit-Datenvisualisierung hinzu, um Ihre kreativen Bedürfnisse zu erfüllen.
Code-Struktur
Hauptkomponenten
- WebApp-Server: Verarbeitet HTTP- und WebSocket-Verbindungen
- Monitor-Seite: Bietet eine Terminal-ähnliche Weboberfläche
- Nachrichten-Handler: Verarbeitet eingehende Befehle
- Serielle Brücke: Leitet serielle Ausgaben an die Weboberfläche weiter
Schlüsselfunktionen
Benutzerdefinierte Befehle hinzufügen
Um neue Befehle hinzuzufügen, ändern Sie die Funktion handleWebCommand:
Praktische Anwendungen
Entwicklung und Debugging
Fernüberwachung von Systemen
Konfigurationsmanagement
Erweiterte Funktionen
Nachrichtenfilterung
Nachrichtenarten hinzufügen und filtern:
Befehlsparsing
Implementieren Sie eine anspruchsvolle Befehlsanalyse:
Datenerfassung
Protokollieren Sie Monitor-Daten auf SD-Karte oder EEPROM:
Fehlerbehebung
Häufige Probleme
1. Keine Ausgabe im Webmonitor
- Prüfen, ob Serial.begin() in setup() aufgerufen wird
- WebSocket-Verbindung überprüfen (grüner Statusindikator)
- Browser-Konsole auf Fehler überprüfen
2. Befehle funktionieren nicht
- Stellen Sie sicher, dass Befehle genau wie angegeben sind
- Prüfen Sie die Groß- und Kleinschreibung der Befehle
- Suchen Sie im Monitor nach Antwortmeldungen
3. Benutzeroberfläche lädt langsam
- WLAN-Signalstärke überprüfen
- Nachrichtenhäufigkeit reduzieren
- Browser-Cache leeren
4. WebSocket-Verbindungsabbrüche
- Netzwerkstabilität überprüfen
- Nachrichtenlänge reduzieren
- Wiederverbindungslogik implementieren
Debug-Tipps
Ausführliches Debuggen aktivieren:
WebSocket-Status überwachen:
Sicherheitsaspekte
Befehlsvalidierung
Eingehende Befehle immer validieren:
Zugriffskontrolle
Basis-Authentifizierung implementieren:
Integrationsbeispiele
Sensorüberwachungssystem
Hausautomationsmonitor
Nächste Schritte
Nachdem Sie das WebMonitor-Beispiel gemeistert haben, versuchen Sie:
- Chat - Für interaktive Kommunikation
- DigitalPins - Zur Steuerung von Ausgängen
- Slider - Zur Steuerung eines analogen Werts
- MultipleWebApps - Kombination von Überwachung und Steuerung
Unterstützung
Für weitere Hilfe:
- Überprüfen Sie die API-Referenzdokumentation
- Besuchen Sie Tutorials von DIYables: https://esp32io.com/tutorials/diyables-esp32-webapps
- ESP32-Community-Foren