Arduino Nano ESP32 Web Table avec la Bibliothèque DIYables ESP32 WebApps
Aperçu
Ce tutoriel couvre la classe DIYablesWebTablePage de la bibliothèque DIYables ESP32 WebApps. La page affiche un tableau à deux colonnes attribut-valeur dans le navigateur. Les lignes sont définies une fois sur l'Arduino Nano ESP32 au démarrage avec addRow(). Pendant le fonctionnement, les valeurs individuelles sont mises à jour via WebSocket en appelant updateValue(). Le navigateur met automatiquement en surbrillance les valeurs en cours de changement (rouge) par rapport aux valeurs qui se sont stabilisées (bleu), sans code de sketch supplémentaire.

Ce que ce Tutoriel Couvre
- Définir les lignes du tableau avec des noms d'attributs dans setup()
- Envoyer des mises à jour de valeurs au moment de l'exécution
- Comprendre la mise en surbrillance automatique de détection de changement du navigateur
- Limites du nombre de lignes du tableau
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 WebTable, 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 tableau :

- Sélectionnez la carte Web Table pour ouvrir la page de tableau de données :

- La page est également directement accessible à http://192.168.0.2/web-table.
Définition de la Structure du Tableau
Appelez addRow() à l'intérieur de setupTableStructure() pour définir chaque nom d'attribut. L'ordre des appels addRow() détermine l'ordre d'affichage dans le navigateur.
Le nombre maximum de lignes est de 20.
Envoi de Mises à Jour de Valeurs
Valeurs Initiales au Démarrage
Définissez les valeurs initiales pour chaque ligne immédiatement après avoir défini la structure :
Mises à Jour en Temps Réel dans la Boucle
Envoyez de nouvelles valeurs pendant le fonctionnement. Chaque appel met à jour la ligne d'attribut correspondante dans le navigateur sans reconstruire le tableau complet :
Mise en Surbrillance de Détection de Changement
Le navigateur suit l'historique des valeurs de chaque ligne en interne. Aucun état côté sketch n'est requis :
| Couleur | Signification |
|---|---|
| Rouge | La valeur a changé dans le dernier intervalle de mise à jour |
| Bleu | La valeur est stable depuis plusieurs intervalles |
| Blanc | La valeur a été envoyée une fois et n'a pas été renvoyée |
Le suivi des valeurs est entièrement côté client. L'Arduino Nano ESP32 ne stocke aucune valeur précédente.
Dépannage
Les lignes du tableau apparaissent dans le mauvais ordre
- Les lignes s'affichent dans l'ordre où addRow() est appelé dans setupTableStructure()
- N'appelez pas addRow() après webAppsServer.begin()
Les valeurs arrêtent de se mettre à jour
- Confirmez que webAppsServer.loop() est appelé à chaque itération de loop()
- Évitez les valeurs delay() supérieures à votre intervalle de mise à jour
Le nombre de lignes dépasse le maximum
- La bibliothèque supporte jusqu'à 20 lignes
- Combinez les valeurs liées en une seule chaîne pour réduire le nombre de lignes si nécessaire
Page inaccessible
- Vérifiez l'adresse IP du Moniteur Série
- Confirmez que l'appareil du navigateur et la carte sont sur le même réseau WiFi