Exemple Arduino 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 la plateforme éducative Arduino Uno R4 WiFi et DIYables STEM V4 IoT, offrant des capacités IoT améliorées, une surveillance des capteurs intégrée et une intégration transparente avec l'écosystème éducatif.

Fonctionnalités
- Sortie Série en Temps Réel: Voir les messages Arduino instantanément dans le navigateur
- Saisie de Commandes: Envoyer des commandes depuis l'interface Web vers l'Arduino
- Thème sombre: Interface de style terminal facile pour les yeux
- Défilement automatique: Se déplace automatiquement vers les messages les plus récents
- Horodatage: Tous les messages incluent des horodatages
- Historique des commandes: Parcourez 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
- Plateforme extensible: Actuellement implémentée pour Arduino Uno R4 WiFi, mais peut être étendue à d'autres plates-formes matérielles. Voir DIYables_WebApps_ESP32
Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables STEM V4 IoT (Arduino 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’Arduino Uno R4 WiFi/DIYables STEM V4 IoT, reportez-vous au tutoriel sur la configuration de l’environnement pour Arduino Uno R4 WiFi/DIYables STEM V4 IoT dans l’IDE Arduino (BASE_URL/tutorials/arduino-uno-r4/arduino-uno-r4-software-installation).
- Connectez la carte Arduino Uno R4/DIYables STEM V4 IoT à votre ordinateur à l’aide d’un câble USB.
- Lancez l’IDE Arduino sur votre ordinateur.
- Sélectionnez la carte Arduino Uno R4 appropriée (par exemple Arduino Uno R4 WiFi) et le port COM.
- Accédez à l’icône Libraries dans la barre de gauche de l’IDE Arduino.
- Recherchez «DIYables WebApps», puis trouvez la bibliothèque DIYables WebApps de DIYables.
- Cliquez sur le bouton Install pour installer la bibliothèque.

- On vous demandera d'installer d'autres dépendances de bibliothèque.
- Cliquez sur le bouton Tout installer pour installer toutes les dépendances de bibliothèque.

- Dans l'IDE Arduino, allez dans Fichier Exemples DIYables WebApps WebMonitor exemple, ou copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Arduino
- Configurer les identifiants Wi‑Fi dans le code en mettant à jour ces lignes :
- Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers l'Arduino UNO R4/DIYables STEM V4 IoT
- Ouvrez le moniteur série
- Consultez le résultat dans le moniteur série. Il est indiqué ci-dessous
- Si vous ne voyez rien, redémarrez la carte Arduino.
- Notez l'adresse IP affichée et saisissez cette adresse dans la barre d'adresses 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 directement à la page via l'adresse IP suivie de /web-monitor. Par exemple : http://192.168.0.2/web-monitor
- Essayez d'envoyer des commandes à votre Arduino via l'interface du moniteur Web et d'afficher 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
- Arduino envoie automatiquement des messages d'état toutes les 5 secondes
- Toute la sortie Serial.println() apparaît dans le moniteur
- Les messages sont horodatés automatiquement
Envoi des commandes
- Tapez les commandes dans le champ de saisie en bas
- Appuyez sur Entrée ou cliquez sur le bouton Envoyer
- Arduino 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" → Fait clignoter la LED 3 fois
Commandes système
- "status" → Affiche l'état et le temps de fonctionnement d'Arduino
- "help" → Liste les commandes disponibles
- "reset counter" → Réinitialise le compteur de messages
- "memory" → 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 Haut/Bas → Naviguer dans l'historique des commandes
- Ctrl+L → Effacer l'écran (si implémenté)
- Ctrl+A → Sélectionner tout le texte
Contrôles du moniteur
- Défilement automatique → Se déplace automatiquement vers les nouveaux messages
- Effacer → Efface l'affichage du moniteur
- Copier → Copier 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 puissante de débogage et de contrôle 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 type terminal
- Gestionnaire de commandes : Traite les commandes entrantes
- Pont série : Transmet la sortie série à 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 configuration
Fonctionnalités avancées
Filtrage des messages
Ajouter les types de messages et le filtrage :
Analyse des commandes
Implémentez une analyse sophistiquée des commandes :
Journalisation des données
Enregistrer les données du moniteur sur une carte SD ou sur l'EEPROM:
Dépannage
Problèmes courants
1. Aucune sortie dans le moniteur Web
- Vérifier que Serial.begin() est appelé dans setup()
- Vérifier la connexion WebSocket (indicateur d'état vert)
- Vérifier la console du navigateur pour les erreurs
2. Commandes qui ne fonctionnent pas
- Assurez-vous que les commandes sont exactement telles qu'elles sont 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
- Effacer le cache du navigateur
4. 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 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 d'une valeur analogique
- MultipleWebApps - Combiner la surveillance et le contrôle
Assistance
Pour obtenir une aide supplémentaire :
- Consultez la documentation de l’API
- Visitez les tutoriels DIYables : https://newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-diyables-webapps
- Forums de la communauté Arduino