Exemple ESP32 WebChat - Tutoriel d'interface de chat interactive
Vue d'ensemble
L’exemple WebChat démontre comment créer une interface de chat interactive entre un navigateur Web et Arduino. Conçu pour la plateforme éducative ESP32 avec des capacités IoT améliorées et une intégration transparente avec les capteurs intégrés. L'ESP32 peut répondre intelligemment aux messages et contrôler le matériel en fonction des commandes du chat.

Fonctionnalités
- Chat en temps réel: Messagerie instantanée via WebSocket
- Réponses intelligentes: L'ESP32 fournit des réponses contextuelles
- Contrôle de la LED: Contrôle de la LED intégrée via des commandes de chat
- Reconnaissance de l'utilisateur: L'ESP32 se souvient de votre nom
- Historique des messages: Voir l'historique de la conversation
- Conception réactive: Fonctionne sur ordinateur et mobile
Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 (ESP32 inclus) | |
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Instructions d'installation
Étapes rapides
Suivez ces instructions étape par étape :
- Si c'est votre première utilisation de l'ESP32, reportez-vous au tutoriel sur Installation du logiciel ESP32..
- Connectez la carte ESP32 à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte ESP32 appropriée (par exemple ESP32 Dev Module) et le port COM.
- Accédez à l'icône Libraries dans la barre de gauche de l'IDE Arduino.
- Recherchez "DIYables ESP32 WebApps", puis trouvez la bibliothèque DIYables ESP32 WebApps par DIYables.
- Cliquez sur le bouton Install pour installer la bibliothèque.

- Il vous sera demandé d'installer d'autres dépendances de la bibliothèque.
- Cliquez sur le bouton Tout installer pour installer toutes les dépendances de la bibliothèque.

- Dans l’IDE Arduino, allez dans Fichier Exemples DIYables ESP32 WebApps WebChat par exemple, ou copiez le code ci-dessus et collez-le dans l’éditeur de l’IDE Arduino
- Configurez les identifiants WiFi dans le code en mettant à jour ces lignes:
- Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur l'ESP32
- Ouvrez le Moniteur série
- Consultez le résultat dans le Moniteur série. Il ressemble à ce qui suit.
- Si rien ne s’affiche, redémarrez la carte ESP32.
- Notez l’adresse IP affichée et saisissez cette adresse dans la barre d’adresse d’un navigateur Web sur votre smartphone ou PC.
- Exemple : http://192.168.0.2
- Vous verrez la page d’accueil comme sur l'image ci-dessous :

- Cliquez sur le lien Chat, vous verrez l'interface utilisateur de l'application Web Chat comme ci-dessous :

- Ou vous pouvez également accéder directement à la page par une adresse IP suivie de /chat. Par exemple : http://192.168.0.2/chat
- Commencez à discuter avec votre Arduino ! Tapez votre nom lorsque vous y êtes invité et essayez des commandes comme "led on", "hello", ou "help" pour interagir avec votre Arduino.
Comment utiliser
Démarrer une conversation
- Ouvrez l'interface de chat dans votre navigateur
- Tapez votre nom lorsque vous y serez invité
- Commencez à discuter avec votre Arduino !
Commandes de chat
L'ESP32 reconnaît ces commandes spéciales :
Contrôle des LED
- "LED allumée" ou "allumer la LED" → Allume la LED intégrée
- "LED éteinte" ou "éteindre la LED" → Éteint la LED intégrée
- "clignoter" ou "clignoter la LED" → Fait clignoter la LED
Commandes d'information
- "hello" or "hi" → Salutation amicale
- "help" → Affiche les commandes disponibles
- "time" → Affiche le temps de fonctionnement de l'ESP32
- "status" → Affiche l'état du système
Questions
- "Comment vas-tu ?" → ESP32 partage son état
- "Qu'est-ce que tu peux faire ?" → Liste ses capacités
- "Comment t'appelles-tu ?" → ESP32 se présente
Exemple de conversation
Personnalisation créative - Construisez votre assistant interactif
Transformez cet exemple de chat de base en quelque chose d'incroyable ! Le design modulaire vous permet de l'adapter et d'élargir ses fonctionnalités pour créer votre propre assistant ESP32 interactif et unique.
Structure du code
Composants principaux
- Serveur WebApp: Gère les connexions HTTP et WebSocket
- Page de chat: Fournit l'interface web
- Gestionnaire de messages: Traite les messages de chat entrants
- Générateur de réponses: Crée des réponses intelligentes
Fonctions clés
Ajouter des commandes personnalisées
Pour ajouter de nouvelles commandes de chat, modifiez la fonction handleChatMessage :
Options de personnalisation
Modifier la personnalité de l'ESP32
Modifiez les messages de réponse pour changer la personnalité d'Arduino :
Ajouter un contrôle matériel
Étendre le contrôle des LED à d'autres composants :
Changer le thème de l'interface Web
L'interface de chat peut être personnalisée en modifiant le CSS dans les fichiers de la bibliothèque :
- Couleurs : modifier les arrière-plans en dégradé
- Polices : changer les familles de polices
- Mise en page : ajuster l'espacement et les tailles
Dépannage
Problèmes courants
1. ESP32 ne répond pas aux messages
- Vérifiez le moniteur série pour les messages d'erreur
- Vérifiez l'état de la connexion WebSocket
- Actualisez la page du navigateur
2. La connexion Wi-Fi a échoué
- Vérifier à nouveau le SSID et le mot de passe
- S'assurer que le réseau 2,4 GHz est utilisé (et non le 5 GHz)
- Vérifier la puissance du signal
3. Impossible d'accéder à la page de chat
- Vérifier que l'adresse IP est correcte
- Vérifier si l'ESP32 est toujours connecté au Wi‑Fi
- Essayer d'accéder à la page d'accueil en premier : http://[IP]/
4. LED ne répond pas aux commandes
- Vérifier le câblage (la LED intégrée devrait fonctionner par défaut)
- Vérifier que les commandes sont correctement orthographiées
- Vérifier le moniteur série pour les messages de débogage
Astuces de débogage
Activez le mode de débogage en ajoutant cette ligne dans setup() :
Surveillez la sortie série pour voir :
- Messages entrants
- Analyse des commandes
- Génération de réponses
- Actions sur le matériel
Fonctionnalités avancées
Prise en charge de plusieurs clients
Le chat prend en charge plusieurs utilisateurs simultanément :
- Chaque utilisateur a une session unique
- L'ESP32 mémorise les noms de chaque utilisateur
- Diffuser des messages à tous les utilisateurs
Persistance des messages
Ajouter l'enregistrement des messages dans l'EEPROM :
Intégration avec des capteurs
Connectez les capteurs et rendez-les accessibles via le chat :
Étapes suivantes
Après avoir maîtrisé l'exemple de Chat, essayez :
- WebMonitor - Pour le débogage et le développement
- DigitalPins - Pour contrôler plusieurs sorties
- Joystick - Pour le contrôle directionnel
- MultipleWebApps - Pour combiner toutes les fonctionnalités
Assistance
Pour obtenir de l'aide supplémentaire :
- Consultez la documentation de la référence API
- Visitez les tutoriels DIYables : https://esp32io.com/tutorials/diyables-esp32-webapps
- Forums de la communauté ESP32