Exemple ESP32 WebPlotter - Tutoriel de visualisation de données en temps réel
Vue d'ensemble
L'exemple WebPlotter crée une interface de visualisation de données en temps réel accessible via n'importe quel navigateur web. Conçu pour ESP32, une plateforme éducative dotée de capacités améliorées de traitement des données, de fonctionnalités de tracé en temps réel et d'une intégration transparente avec les systèmes de surveillance des capteurs. Parfait pour visualiser les données des capteurs, déboguer des algorithmes ou surveiller les performances du système en temps réel.

Fonctionnalités
- Tracé de données en temps réel: Visualisez les données des capteurs au fur et à mesure qu'elles arrivent d'Arduino
- Plusieurs séries de données: Tracez jusqu'à 8 flux de données différents simultanément
- Échelle automatique: Mise à l'échelle automatique de l'axe Y en fonction de l'étendue des données
- Interface interactive: Zoomez, naviguez et analysez les tendances des données
- Communication WebSocket: Mises à jour instantanées avec une latence minimale
- Conception réactive: Fonctionne sur ordinateur, tablette et appareils mobiles
- Configuration personnalisable: Titres du graphique, étiquettes des axes et plages ajustables
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 carte ESP32 appropriée (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 logicielles.
- Cliquez sur le bouton Tout installer pour installer toutes les dépendances logicielles.

- Dans l'IDE Arduino, allez dans Fichier Exemples DIYables ESP32 WebApps WebPlotter exemple, ou copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Arduino
- Configurez 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 sur l'ESP32
- Ouvrez le moniteur série
- Vérifiez le résultat dans le moniteur série. Il est affiché ci-dessous.
- Si vous ne voyez rien, redémarrez la carte ESP32.
- Notez l'adresse IP affichée, puis 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 vers Web Plotter, vous verrez l'interface utilisateur de l'application Web Plotter comme ci-dessous :

- Ou vous pouvez également accéder directement à la page via l'adresse IP suivie de /web-plotter. Par exemple : http://192.168.0.2/web-plotter
- Observez l'ESP32 qui génère des données simulées de capteurs et les tracer en temps réel. Vous verrez plusieurs lignes de couleurs différentes représentant différents flux de données.
Personnalisation créative - Visualisez vos données de manière créative
Transformez l'interface de tracé pour qu'elle corresponde à vos exigences de projet uniques et créez des visualisations de données époustouflantes:
Configuration de la source de données
Remplacez les données simulées par les lectures réelles des capteurs:
Méthode 1: Lecture d'un seul capteur
Méthode 2 : Plusieurs capteurs
Méthode 3 : Tableau de valeurs
Personnalisation du tracé
Apparence personnalisée du graphique
Configuration dynamique
Traitement avancé des données
Filtre à moyenne mobile
Enregistrement des données avec des horodatages
Exemples d'intégration
Surveillance environnementale
Rétroaction du contrôle moteur
Visualisation du contrôleur PID
Optimisation des performances
Transmission efficace des données
Envoi conditionnel de données
Idées de projets
Applications scientifiques
- Enregistreur de données: Enregistrer la température, l'humidité et la pression au fil du temps
- Analyse des vibrations: Surveiller les données de l'accéléromètre pour les systèmes mécaniques
- Surveillance du pH: Suivre la qualité de l'eau dans les systèmes d'aquaponie
- Efficacité des panneaux solaires: Surveiller la tension et le courant de sortie en fonction de l'ensoleillement
Projets éducatifs
- Expériences de Physique: Visualiser le mouvement du pendule, les oscillations des ressorts
- Laboratoire de Chimie: Surveiller les taux de réaction et les variations de température
- Études de Biologie: Suivre les capteurs de croissance des plantes et les facteurs environnementaux
- Mathématiques: Tracer des fonctions mathématiques et des sorties algorithmiques
Domotique
- Suivi de la consommation d'énergie: Suivre les tendances de la consommation d'énergie
- Automatisation du jardin: Surveiller l'humidité du sol et les niveaux de lumière
- Contrôle du chauffage, de la ventilation et de la climatisation: Visualiser les tendances de la température et de l'humidité
- Système de sécurité: Tracer les activités des capteurs de mouvement
Robotique et contrôle
- Navigation du robot: Tracer les données de position et d’orientation
- Contrôle du moteur: Surveiller la vitesse, le couple et l’efficacité
- Fusion de capteurs: Combiner plusieurs lectures de capteurs
- Planification de trajectoire: Visualiser les algorithmes de mouvement du robot
Dépannage
Problèmes courants
1. Aucune donnée n'apparaît sur le graphique
- Vérifiez l'état de la connexion Wi‑Fi
- Vérifiez la connexion WebSocket dans la console du navigateur
- Vérifiez que sendPlotData() est appelée régulièrement
- Vérifiez le moniteur série pour les messages d'erreur
2. Le graphique semble saccadé ou erratique
- Implémenter le filtrage des données (moyenne mobile)
- Réduire la fréquence d'envoi des données
- Vérifier le bruit du capteur ou les problèmes de connexion
- Vérifier la stabilité de l'alimentation électrique
3. Problèmes de performance du navigateur
- Réduire le nombre maximal d'échantillons (setMaxSamples())
- Réduire le débit de transmission des données
- Fermer les autres onglets du navigateur
- Utiliser l'accélération matérielle dans le navigateur
- Coupures de connexion WebSocket
- Vérifier la force du signal WiFi
- Vérifier les paramètres du routeur (pare-feu, blocage des ports)
- Implémenter une logique de reconnexion dans du code personnalisé
- Surveiller l'utilisation de la mémoire de l'ESP32
Astuces de débogage
Activer la journalisation détaillée
Génération de données de test
Fonctionnalités avancées
Formatage personnalisé des données
Intégration avec d'autres applications Web
Contrôle en temps réel avec tracé
Étapes suivantes
Après avoir maîtrisé l'exemple WebPlotter, explorez :
- MultipleWebApps - Allier le tracé avec des interfaces de contrôle
- WebMonitor - Ajouter des capacités de débogage en parallèle du tracé
- Applications personnalisées - Créez vos propres outils de traçage spécialisés
- Analyse de données - Mettre en œuvre une analyse statistique des données tracées
Assistance
Pour obtenir une aide supplémentaire :
- Consultez la documentation de référence de l’API
- Consultez les tutoriels DIYables : https://esp32io.com/tutorials/diyables-esp32-webapps
- Forums de la communauté ESP32
- Outils de débogage WebSocket dans la console de développement du navigateur