Exemple ESP32 WebMonitor - Tutoriel du moniteur série basé sur le Web
Vue d'ensemble
L'exemple WebMonitor remplace le Moniteur Série traditionnel par une interface Web accessible depuis n'importe quel appareil sur votre réseau. Conçu pour ESP32, plateforme éducative avec des capacités IoT améliorées, une surveillance intégrée des capteurs et une intégration transparente avec l'écosystème éducatif.

Fonctionnalités
- Sortie série en temps réel: Afficher les messages ESP32 instantanément dans le navigateur
- Entrée de commandes: Envoyer des commandes depuis l'interface Web vers Arduino
- Thème sombre: Interface de style terminal, agréable pour les yeux
- Défilement automatique: Défilement automatique vers les messages les plus récents
- Horodatage: Tous les messages incluent des horodatages
- Historique des commandes: Naviguer parmi les commandes précédentes avec les touches fléchées
- Fonction d'effacement: Effacer l'affichage du moniteur
- Copier/Coller: Support complet de la sélection et de la copie du texte
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 la première fois que vous utilisez 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 bonne carte ESP32 (par exemple ESP32 Dev Module) et le port COM.
- Accédez à l'icône Libraries dans la barre 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 des bibliothèques
- Cliquez sur le bouton Tout installer pour installer toutes les dépendances des bibliothèques

- Dans l'IDE Arduino, allez dans Fichier Exemples DIYables ESP32 WebApps WebMonitor l'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 vous ne voyez rien, 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 votre PC.
- Exemple : http://192.168.0.2
- Vous verrez la page d'accueil comme sur l'image ci-dessous :

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

- Ou vous pouvez également accéder à la page directement via l'adresse IP suivie de /web-monitor. Par exemple : http://192.168.0.2/web-monitor
- Essayez d'envoyer des commandes à votre ESP32 via l'interface du moniteur Web et affichez la sortie série en temps réel de votre Arduino.
Comment utiliser
Affichage de la sortie série
- Ouvrez l'interface du moniteur Web
- L'ESP32 envoie automatiquement des messages d'état toutes les 5 secondes
- Toute la sortie de Serial.println() s'affiche dans le moniteur
- Les messages sont horodatés automatiquement
Envoi de commandes
- Tapez des commandes dans le champ de saisie en bas
- Appuyez sur la touche Entrée ou cliquez sur le bouton Envoyer
- L'ESP32 traite la commande et répond
Commandes intégrées
L'exemple comprend ces commandes de démonstration :
Contrôle des LED
- "led on" → Allume la LED intégrée
- "led off" → Éteint la LED intégrée
- "led toggle" → Bascule l'état de la LED
- "blink" → Fais clignoter la LED 3 fois
Commandes système
- "statut" → Affiche l'état de l'ESP32 et le temps de fonctionnement
- "aide" → Liste des commandes disponibles
- "réinitialiser le compteur" → Réinitialise le compteur de messages
- "mémoire" → Affiche les informations sur la mémoire libre
Commandes de débogage
- "test" → Envoie un message de test
- "echo [message]" → Renvoie votre message
- "repeat [n] [message]" → Répète le message n fois
Fonctionnalités de l'interface
Raccourcis clavier
- Entrée → Envoyer la commande
- Touches fléchées ↑/↓ → Naviguer dans l'historique des commandes
- Ctrl+L → Effacer l'écran (si cela est implémenté)
- Ctrl+A → Sélectionner tout le texte
Contrôles du moniteur
- Défilement automatique → défile automatiquement vers les nouveaux messages
- Effacer → Efface l'affichage du moniteur
- Copier → Copie le texte sélectionné dans le presse-papiers
Personnalisation créative - Construisez votre outil de débogage avancé
Élargissez cet exemple de moniteur Web pour créer une interface de débogage et de contrôle puissante pour vos projets ! Ajoutez des commandes personnalisées, une surveillance des capteurs et une visualisation des données en temps réel pour répondre à vos besoins créatifs.
Structure du code
Composants principaux
- Serveur WebApp: Gère les connexions HTTP et WebSocket
- Page de surveillance: Fournit une interface Web de style terminal
- Gestionnaire de messages: Traite les commandes entrantes
- Pont série: Transmet la sortie série vers l'interface Web
Fonctions clés
Ajout de commandes personnalisées
Pour ajouter de nouvelles commandes, modifiez la fonction handleWebCommand :
Applications pratiques
Développement et Débogage
Surveillance à distance du système
Gestion de la configuration
Fonctionnalités avancées
Filtrage des messages
Ajouter les types de messages et le filtrage:
Analyse des commandes
Implémentez une analyse des commandes sophistiquée :
Enregistrement des données
Enregistrer les données du moniteur sur la carte SD ou l'EEPROM:
Dépannage
Problèmes courants
- Aucune sortie dans le moniteur Web
- Vérifier que Serial.begin() est appelé dans setup()
- Vérifier la connexion WebSocket (indicateur de statut vert)
- Vérifier la console du navigateur pour les erreurs
2. Commandes qui ne fonctionnent pas
- Assurez-vous que les commandes sont exactement telles que spécifiées.
- Vérifiez la sensibilité à la casse des commandes.
- Recherchez les messages de réponse dans le moniteur.
3. L'interface se charge lentement
- Vérifier la force du signal Wi-Fi
- Réduire la fréquence des messages
- Vider le cache du navigateur
- Déconnexions WebSocket
- Vérifier la stabilité du réseau
- Réduire la taille des messages
- Implémenter la logique de reconnexion
Astuces de débogage
Activer le débogage détaillé :
Surveiller l'état du WebSocket :
Considérations de sécurité
Validation de la commande
Toujours valider les commandes entrantes :
Contrôle d’accès
Implémenter l'authentification de base :
Exemples d’intégration
Système de surveillance des capteurs
Moniteur de domotique
Prochaines étapes
Après avoir maîtrisé l'exemple WebMonitor, essayez :
- Chat - Pour une communication interactive
- DigitalPins - Pour le contrôle des sorties
- Slider - Pour le contrôle de la valeur analogique
- MultipleWebApps - Pour combiner la surveillance et le contrôle
Assistance
Pour obtenir une aide supplémentaire :
- Consultez la documentation de référence de l’API
- Visitez les tutoriels DIYables : https://esp32io.com/tutorials/diyables-esp32-webapps
- Forums de la communauté ESP32