ESP32 WebChat-Beispiel – Tutorial zur interaktiven Chat-Oberfläche
Übersicht
Das WebChat-Beispiel demonstriert, wie man eine interaktive Chat-Oberfläche zwischen einem Webbrowser und Arduino erstellt. Für ESP32 entwickelte Bildungsplattform mit erweiterten IoT-Fähigkeiten und nahtloser Integration integrierter Sensoren. Der ESP32 kann intelligent auf Nachrichten reagieren und Hardware basierend auf Chat-Befehlen steuern.

Funktionen
- Echtzeit-Chat: Sofortnachrichten über WebSocket
- Intelligente Antworten: ESP32 liefert kontextbezogene Antworten
- LED-Steuerung: Steuern Sie die integrierte LED über Chat-Befehle
- Nutzererkennung: ESP32 merkt sich deinen Namen
- Nachrichtenverlauf: Konversationsverlauf anzeigen
- Responsives Design: Funktioniert auf Desktop- und Mobilgeräten
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) |
Installationsanweisungen
Schnelle Schritte
Folgen Sie diesen Anweisungen Schritt für Schritt:
- Wenn Sie das ESP32 zum ersten Mal verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für ESP32 in der Arduino-IDE.
- Verbinden Sie das ESP32-Board mit Ihrem Computer über ein USB-Kabel.
- Starten Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das passende ESP32-Board aus (z. B. ESP32 Dev Module) und den COM-Port.
- Navigieren Sie zum Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
- Suche "DIYables ESP32 WebApps", dann finde die DIYables ESP32 WebApps-Bibliothek von DIYables
- Klicken Sie auf die Schaltfläche Installieren, 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 WebChat Beispiel, oder kopieren Sie den obigen Code und fügen ihn in den Editor der Arduino IDE ein
- Konfigurieren Sie die WLAN-Zugangsdaten im Code, indem Sie diese Zeilen aktualisieren:
- Klicke den Hochladen-Button in der Arduino IDE, um Code auf den ESP32 hochzuladen.
- Öffne den seriellen Monitor.
- Schau dir das Ergebnis im seriellen Monitor an. 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 in die Adressleiste 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 Chat-Link, dann sehen Sie die Benutzeroberfläche der Web-Chat-Anwendung wie unten:

- Oder Sie können die Seite auch direkt über die IP-Adresse aufrufen, gefolgt von /chat. Zum Beispiel: http://192.168.0.2/chat
- Beginnen Sie mit Ihrem Arduino zu chatten! Geben Sie Ihren Namen ein, wenn Sie dazu aufgefordert werden, und probieren Sie Befehle wie „led on“, „hello“ oder „help“, um mit Ihrem Arduino zu interagieren.
So verwenden Sie es
Ein Gespräch beginnen
- Öffnen Sie die Chat-Oberfläche in Ihrem Browser
- Geben Sie Ihren Namen ein, wenn Sie dazu aufgefordert werden
- Beginnen Sie, mit Ihrem Arduino zu chatten!
Chat-Befehle
Der ESP32 erkennt diese speziellen Befehle:
LED-Steuerung
- "LED an" oder "LED einschalten" → Schaltet die eingebaute LED ein
- "LED aus" oder "LED ausschalten" → Schaltet die eingebaute LED aus
- "LED blinken" oder "LED blinken lassen" → Lässt die LED blinken
Informationsbefehle
- "hello" oder "hi" → Freundliche Begrüßung
- "help" → Zeigt verfügbare Befehle
- "time" → Zeigt die Betriebszeit des ESP32
- "status" → Zeigt den Systemstatus
Fragen
- "Wie geht es dir?" → ESP32 teilt seinen Status
- "Was kannst du tun?" → ESP32 listet Fähigkeiten auf
- "Wie heißt du?" → ESP32 stellt sich vor
Beispielgespräch
Kreative Anpassung - Erstelle deinen interaktiven Assistenten
Verwandle dieses einfache Chat-Beispiel in etwas Erstaunliches! Das modulare Design ermöglicht es dir, die Funktionalität anzupassen und zu erweitern, um deinen eigenen einzigartigen interaktiven ESP32-Assistenten zu erstellen.
Code-Struktur
Hauptkomponenten
- WebApp-Server: Verwaltet HTTP- und WebSocket-Verbindungen
- Chat-Seite: Stellt die Weboberfläche bereit
- Nachrichten-Handler: Verarbeitet eingehende Chat-Nachrichten
- Antwortgenerator: Erzeugt intelligente Antworten
Schlüsselfunktionen
Benutzerdefinierte Befehle hinzufügen
Um neue Chat-Befehle hinzuzufügen, ändern Sie die Funktion handleChatMessage:
Optionen zur Anpassung
ESP32-Persönlichkeit ändern
Bearbeiten Sie die Antwortnachrichten, um die Persönlichkeit von Arduino zu ändern:
Hardwaresteuerung hinzufügen
LED-Steuerung auf andere Komponenten erweitern:
Design der Weboberfläche ändern
Die Chat-Oberfläche kann angepasst werden, indem CSS in den Bibliotheksdateien geändert wird:
- Farben: Verläufe im Hintergrund bearbeiten
- Schriftarten: Schriftfamilien ändern
- Layout: Abstände und Größen anpassen
Fehlerbehebung
Häufige Probleme
1. ESP32 reagiert nicht auf Nachrichten
- Überprüfe den seriellen Monitor auf Fehlermeldungen
- Überprüfe den Status der WebSocket-Verbindung
- Lade die Browser-Seite neu
- WLAN-Verbindung fehlgeschlagen
- SSID und Passwort erneut überprüfen
- Stellen Sie sicher, dass das 2,4-GHz-Netzwerk verwendet wird (nicht 5-GHz)
- Überprüfen Sie die Signalstärke
3. Kann nicht auf die Chat-Seite zugreifen
- Vergewissern Sie sich, dass die IP-Adresse korrekt ist
- Überprüfen Sie, ob der ESP32 noch mit dem WLAN verbunden ist
- Versuchen Sie zuerst, die Startseite aufzurufen: http://[IP]/
4. LED reagiert nicht auf Befehle
- Verdrahtung überprüfen (eingebaute LED sollte standardmäßig funktionieren)
- Befehle auf korrekte Schreibweise überprüfen
- Den seriellen Monitor auf Debug-Nachrichten prüfen
Tipps zum Debuggen
Aktivieren Sie den Debug-Modus, indem Sie diese Zeile in setup() hinzufügen:
Überwachen Sie die serielle Ausgabe, um Folgendes zu sehen:
- Eingehende Nachrichten
- Befehlsanalyse
- Antwortgenerierung
- Hardwareaktionen
Erweiterte Funktionen
Unterstützung mehrerer Clients
Der Chat unterstützt mehrere Benutzer gleichzeitig:
- Jeder Benutzer hat eine eigene Sitzung
- ESP32 speichert individuelle Namen
- Broadcast-Nachrichten an alle Benutzer
Nachrichtenpersistenz
Nachrichtenprotokollierung in das EEPROM hinzufügen:
Integration mit Sensoren
Sensoren anschließen und sie über den Chat zugänglich machen:
Nächste Schritte
Nachdem du das Chat-Beispiel gemeistert hast, versuch es:
- WebMonitor - Zur Fehlerbehebung und Entwicklung
- DigitalPins - Zur Steuerung mehrerer Ausgänge
- Joystick - Zur Richtungssteuerung
- MultipleWebApps - Alle Funktionen vereinen
Unterstützung
Für weitere Hilfe:
- Überprüfen Sie die API-Referenzdokumentation
- Besuchen Sie die DIYables-Tutorials: https://esp32io.com/tutorials/diyables-esp32-webapps
- ESP32-Community-Foren