ESP32 WebChat Voorbeeld - Interactieve Chat Interface Tutorial
Overzicht
Het WebChat voorbeeld laat zien hoe u een interactieve chatinterface maakt tussen een webbrowser en Arduino. Ontworpen voor het ESP32 educatieve platform met uitgebreide IoT-mogelijkheden en naadloze integratie met ingebouwde sensoren. De ESP32 kan intelligent reageren op berichten en hardware aansturen op basis van chatcommando's.

Kenmerken
- Realtime Chat: Direct berichtenverkeer via WebSocket
- Intelligente Antwoorden: ESP32 geeft contextuele reacties
- LED-besturing: Bedien de ingebouwde LED via chatcommando's
- Gebruikersherkenning: ESP32 onthoudt uw naam
- Berichtgeschiedenis: Bekijk het gespreksoverzicht
- Responsief Ontwerp: Werkt op desktop en mobiel
Benodigde Hardware
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Installatie-instructies
Snelle Stappen
Volg deze instructies stap voor stap:
- Als u de ESP32 voor het eerst gebruikt, raadpleeg dan de tutorial over het opzetten van de omgeving voor ESP32 in de Arduino IDE.
- Verbind het ESP32-bord met uw computer via een USB-kabel.
- Start de Arduino IDE op uw computer.
- Selecteer het juiste ESP32-bord (bijvoorbeeld ESP32 Dev Module) en de COM-poort.
- Ga naar het Libraries-icoon in de linker balk van de Arduino IDE.
- Zoek op "DIYables ESP32 WebApps" en vind de DIYables ESP32 WebApps Bibliotheek van DIYables.
- Klik op de Installeren-knop om de bibliotheek te installeren.

- Het kan zijn dat u gevraagd wordt om aanvullende bibliotheekafhankelijkheden te installeren.
- Klik op de Installeer Alles-knop om alle afhankelijkheden te installeren.

- Ga in de Arduino IDE naar Bestand Voorbeelden DIYables ESP32 WebApps WebChat voorbeeld, of kopieer de bovenstaande code en plak deze in de editor van de Arduino IDE.
- Configureer de WiFi-gegevens in de code door deze regels aan te passen:
- Klik op de Upload-knop in de Arduino IDE om de code naar de ESP32 te uploaden.
- Open de Serial Monitor.
- Bekijk de output in de Serial Monitor. Het zou er ongeveer als volgt uit moeten zien:
- Als u niets ziet, start het ESP32-bord opnieuw op.
- Noteer het weergegeven IP-adres en voer dit adres in de adresbalk van een webbrowser op uw smartphone of pc in.
- Voorbeeld: http://192.168.0.2
- U ziet de startpagina zoals in de onderstaande afbeelding:

- Klik op de Chat-link, u ziet de gebruikersinterface van de Web Chat-app zoals hieronder:

- Of u kunt de pagina ook direct openen via het IP-adres gevolgd door /chat. Bijvoorbeeld: http://192.168.0.2/chat
- Begin met chatten met uw Arduino! Typ uw naam wanneer hierom gevraagd wordt en probeer commando's als "led on", "hello" of "help" om met uw Arduino te communiceren.
Hoe te Gebruiken
Een Gesprek Starten
- Open de chatinterface in uw browser
- Typ uw naam wanneer hierom gevraagd wordt
- Begin met chatten met uw Arduino!
Chatcommando's
De ESP32 herkent deze speciale commando’s:
LED-besturing
- "led on" of "turn on led" → Zet de ingebouwde LED aan
- "led off" of "turn off led" → Zet de ingebouwde LED uit
- "blink" of "blink led" → Laat de LED knipperen
Informatieve Commando’s
- "hello" of "hi" → Vriendelijke begroeting
- "help" → Toont beschikbare commando's
- "time" → Toont uptime van de ESP32
- "status" → Toont systeemstatus
Vragen
- "how are you?" → ESP32 deelt zijn status
- "what can you do?" → Geeft een overzicht van mogelijkheden
- "what is your name?" → ESP32 stelt zichzelf voor
Voorbeeldgesprek
Creatieve Aanpassing - Bouw Uw Interactieve Assistent
Verander dit eenvoudige chatvoorbeeld in iets geweldigs! Het modulaire ontwerp maakt het mogelijk de functionaliteit aan te passen en uit te breiden om uw unieke interactieve ESP32-assistent te creëren.
Code-structuur
Belangrijkste Componenten
- WebApp Server: Beheert HTTP- en WebSocket-verbindingen
- Chatpagina: Biedt de webinterface
- Berichtenhandler: Verwerkt binnenkomende chatberichten
- Responsgenerator: Maakt intelligente reacties
Belangrijke Functies
Toevoegen van Aangepaste Commando’s
Om nieuwe chatcommando’s toe te voegen, pas de functie handleChatMessage aan:
Aanpassingsmogelijkheden
Wijzig ESP32 Persoonlijkheid
Bewerk de responsberichten om het karakter van Arduino te veranderen:
Voeg Hardwarebesturing Toe
Breid de LED-besturing uit naar andere componenten:
Wijzig Thema van Webinterface
U kunt de chatinterface aanpassen door de CSS in de bibliotheekbestanden te wijzigen:
- Kleuren: Bewerk gradientachtergronden
- Lettertypen: Verander fontfamilies
- Lay-out: Pas afstand en grootte aan
Probleemoplossing
Veelvoorkomende Problemen
1. ESP32 reageert niet op berichten
- Controleer de Serial Monitor op foutmeldingen
- Controleer de status van de WebSocket-verbinding
- Vernieuw de browserpagina
2. WiFi-verbinding mislukt
- Controleer SSID en wachtwoord
- Zorg voor een 2.4 GHz netwerk (geen 5 GHz)
- Controleer het signaalniveau
3. Kan de chatpagina niet openen
- Controleer of het IP-adres correct is
- Controleer of de ESP32 nog verbonden is met WiFi
- Probeer eerst de startpagina te bereiken: http://[IP]/
4. LED reageert niet op commando’s
- Controleer de bekabeling (standaard zou de ingebouwde LED moeten werken)
- Controleer de spelling van commando’s
- Controleer debugberichten in de Serial Monitor
Debugtips
Schakel debugmodus in door deze regel toe te voegen in setup():
Controleer in de Serial Monitor:
- Binnenkomende berichten
- Parseren van commando’s
- Genereren van reacties
- Hardware-acties
Geavanceerde Functies
Ondersteuning voor Meerdere Clients
De chat ondersteunt gelijktijdig meerdere gebruikers:
- Elke gebruiker heeft een unieke sessie
- ESP32 onthoudt individuele namen
- Berichtuitzending naar alle gebruikers
Berichtpersistentie
Voeg berichtlogbook toe aan EEPROM:
Integratie met Sensoren
Sluit sensoren aan en maak deze toegankelijk via chatberichten:
Volgende Stappen
Nadat u het Chat voorbeeld beheerst, probeer dan:
- WebMonitor – Voor debugging en ontwikkeling
- DigitalPins – Voor het aansturen van meerdere outputs
- Joystick – Voor richtingsbesturing
- MultipleWebApps – Voor het combineren van alle functies
Ondersteuning
Voor extra hulp:
- Raadpleeg de API Reference documentatie
- Bezoek DIYables tutorials: https://esp32io.com/tutorials/diyables-esp32-webapps
- Bekijk ESP32-communityforums