Contrôle des broches numériques Web Arduino Nano ESP32 avec la bibliothèque DIYables ESP32 WebApps
Vue d'ensemble
Ce tutoriel couvre la classe DIYablesWebDigitalPinsPage de la bibliothèque DIYables ESP32 WebApps. La page présente chaque broche enregistrée sous forme de bouton dans le navigateur. Les broches de sortie peuvent être basculées ; les broches d'entrée affichent leur état actuel. La configuration des broches se fait entièrement dans le sketch — le navigateur reflète le mode que le sketch définit.

Ce que ce tutoriel couvre
- Activation des broches individuelles comme WEB_PIN_OUTPUT ou WEB_PIN_INPUT
- Lecture des changements d'état de sortie depuis le navigateur via un callback
- Fourniture des valeurs de broches d'entrée au navigateur via un callback de lecture
- Envoi des mises à jour d'état aux navigateurs connectés depuis le sketch
Matériel nécessaire
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 à l'aide d'un câble USB.
- Lancez l'Arduino IDE sur votre ordinateur.
- Sélectionnez la carte appropriée (par ex. Arduino Nano ESP32) et le port COM.
- Accédez à l'icône Bibliothèques dans la barre gauche de l'Arduino IDE.
- Recherchez "DIYables ESP32 WebApps", puis trouvez la bibliothèque DIYables ESP32 WebApps par DIYables
- Cliquez sur le bouton Installer pour installer la bibliothèque.
- Search for DIYables ESP32 WebApps created by DIYables and click the Install button.
- Il vous sera demandé d'installer d'autres dépendances de bibliothèques
- Cliquez sur le bouton Tout installer pour installer toutes les dépendances de la bibliothèque.
- Dans Arduino IDE, allez dans Fichier Exemples DIYables ESP32 WebApps WebDigitalPins, ou copiez le code ci-dessus et collez-le dans l'éditeur Arduino IDE
- Mettez à jour les identifiants WiFi dans le sketch :
- Cliquez sur le bouton Téléverser dans Arduino IDE pour téléverser le code sur Arduino Nano ESP32
- Ouvrez le Moniteur Série
- La sortie du Moniteur Série devrait ressembler à ce qui suit :
- 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 broches numériques :

- Sélectionnez la carte Broches numériques pour ouvrir la page de contrôle des broches :

- La page est également accessible directement à http://192.168.0.2/web-digital-pins.
- Basculez les broches de sortie en cliquant sur les boutons correspondants. La broche 13 (LED intégrée) devrait répondre immédiatement.
Méthodes de configuration des broches
Les broches doivent être enregistrées avant webAppsServer.begin(). Trois modèles sont pris en charge :
Activation des broches individuelles
Activation d'une plage de broches de sortie
Activation de toutes les broches
Callbacks
Callback d'écriture (broches de sortie)
Appelé quand le navigateur bascule une broche de sortie :
Callback de lecture (broches d'entrée)
Appelé quand le navigateur demande l'état actuel d'une broche d'entrée :
Envoi de l'état depuis le sketch
Quand une entrée change d'état en dehors d'une requête du navigateur, envoyez la mise à jour manuellement :
Contrôles de l'interface web
- Bouton de broche : Cliquez pour basculer une broche de sortie entre HIGH et LOW. Le vert indique HIGH ; le rouge indique LOW.
- Tout ON : Met toutes les broches de sortie enregistrées à HIGH.
- Tout OFF : Met toutes les broches de sortie enregistrées à LOW.
- Tout basculer : Inverse l'état actuel de toutes les broches de sortie.
Les broches d'entrée affichent leur état actuel sans bouton de basculement — le navigateur les rafraîchit périodiquement via WebSocket.
Dépannage
L'état de la broche ne change pas lors du clic
- Vérifiez que le callback onPinWrite est enregistré avant webAppsServer.begin()
- Confirmez que la broche est enregistrée avec WEB_PIN_OUTPUT
- Vérifiez le Moniteur Série pour les messages WebSocket entrants
La broche d'entrée affiche un état incorrect
- Confirmez que le callback onPinRead est enregistré
- Ajoutez une résistance de pull-up ou pull-down pour éviter les entrées flottantes
- Vérifiez que digitalRead() retourne la valeur attendue dans le callback
Page non accessible
- Vérifiez l'adresse IP affichée dans le Moniteur Série
- Assurez-vous que le port 80 est ouvert sur le réseau
- La carte et l'appareil du navigateur doivent être sur le même réseau WiFi 2,4 GHz