Arduino Nano ESP32 Web Plotter avec la Bibliothèque DIYables ESP32 WebApps
Aperçu
Ce tutoriel couvre la classe DIYablesWebPlotterPage de la bibliothèque DIYables ESP32 WebApps. La page affiche un graphique linéaire en streaming dans le navigateur. Le sketch de l'Arduino Nano ESP32 envoie des points de données via WebSocket ; le navigateur ajoute chaque point à la série correspondante en temps réel. Jusqu'à 8 séries de données indépendantes sont supportées simultanément.

Regardez ce tutoriel vidéo étape par étape montrant comment utiliser un capteur DHT avec l'application Web Plotter :
Ce que ce Tutoriel Couvre
- Configurer le titre du traceur, les étiquettes des axes et la limite de rétention des échantillons
- Envoyer des points de données nommés depuis le sketch avec addDataPoint()
- Tracer plusieurs séries simultanément
- Remplacer les données simulées par de vraies lectures de capteur
Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Étapes
Suivez ces instructions étape par étape :
- Si c'est la première fois que vous utilisez l'Arduino Nano ESP32, consultez le tutoriel sur Installation du logiciel Arduino Nano ESP32..
- Connectez la carte Arduino Nano ESP32 à votre ordinateur avec un câble USB.
- Lancez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte appropriée (ex. Arduino Nano ESP32) et le port COM.
- Naviguez vers l'icône Bibliothèques dans la barre gauche de l'IDE Arduino.
- Cherchez "DIYables ESP32 WebApps", puis trouvez la bibliothèque DIYables ESP32 WebApps de DIYables
- Cliquez sur le bouton Installer pour installer la bibliothèque.
- Search for DIYables ESP32 WebApps created by DIYables and click the Install button.
- On vous demandera d'installer d'autres dépendances de bibliothèques
- Cliquez sur le bouton Installer tout pour installer toutes les dépendances de bibliothèques.
- Dans l'IDE Arduino, allez dans Fichier Exemples DIYables ESP32 WebApps WebPlotter, ou copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Arduino
- Mettez à jour les identifiants WiFi dans le sketch :
- Cliquez sur le bouton Téléverser dans l'IDE Arduino pour téléverser le code sur l'Arduino Nano ESP32
- Ouvrez le Moniteur Série
- La sortie du Moniteur Série devrait ressembler à ceci :
- Si rien n'apparaît, appuyez sur le bouton de réinitialisation de la carte.
- Entrez l'adresse IP du Moniteur Série dans un navigateur sur le même réseau.
- Exemple : http://192.168.0.2
- La page d'accueil affiche une carte pour l'application de traceur :

- Sélectionnez la carte Web Plotter pour ouvrir la page du graphique :

- La page est également directement accessible à http://192.168.0.2/web-plotter.
- Le graphique commence à se mettre à jour au fur et à mesure que le sketch envoie des données simulées. Chaque série est dessinée dans une couleur distincte.
Configuration du Traceur
Définissez le titre du graphique, les étiquettes des axes, le comportement de mise à l'échelle automatique et le nombre maximum d'échantillons conservés avant de démarrer le serveur :
Envoi de Points de Données
Chaque point de données spécifie un nom de série, une valeur X et une valeur Y. La série est créée automatiquement à la première utilisation :
Lecture depuis de Vrais Capteurs
Remplacez les valeurs simulées dans l'exemple par de vraies lectures de capteur :
Capteur Unique
Plusieurs Capteurs
Limitez le taux d'envoi pour éviter de surcharger la connexion WebSocket. Un intervalle de 500 ms à 1000 ms convient à la plupart des applications de capteurs.
Dépannage
Le graphique ne se met pas à jour
- Confirmez que webAppsServer.loop() s'exécute à chaque itération de loop()
- Ajoutez Serial.println() avant addDataPoint() pour vérifier que le chemin de code s'exécute
- Rechargez la page du navigateur et vérifiez l'indicateur de connexion WebSocket
Le graphique affiche des lignes plates ou des valeurs incorrectes
- Vérifiez la formule de lecture et de mise à l'échelle du capteur
- Imprimez la valeur dans le Moniteur Série en même temps que vous l'envoyez au traceur
Trop de points de données ralentissent le navigateur
- Réduisez setMaxSamples() pour diminuer les points conservés par série
- Augmentez le délai entre les envois de données