ESP8266 - Traceur Web
Ce tutoriel vous explique comment construire un traceur web semblable au Traceur Série que l'on trouve dans l'IDE Arduino. Cette configuration vous permet de surveiller facilement les données en temps réel provenant d'un ESP8266 à l'aide d'un navigateur web sur votre smartphone ou PC. Il visualisera les données sous une forme graphique similaire à celle que vous observez dans le Traceur Série de l'IDE Arduino.
Préparation du matériel
1 | × | ESP8266 NodeMCU | |
1 | × | Micro USB Cable | |
1 | × | (Optional) ESP8266 Screw Terminal Adapter |
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Comment fonctionne le traceur Web
- Le code ESP8266 crée à la fois un serveur web et un serveur WebSocket.
- Lorsqu'un utilisateur accède à la page web hébergée sur la carte ESP8266 via un navigateur web, le serveur web de l'ESP8266 renvoie au navigateur le contenu web (HTML, CSS, JavaScript).
- Le code JavaScript exécuté dans le navigateur web affiche un graphique ressemblant au Traceur Série.
- En cliquant sur le bouton de connexion sur la page web, le code JavaScript établit une connexion WebSocket avec le serveur WebSocket fonctionnant sur la carte ESP8266.
- L'ESP8266 envoie des données via la connexion WebSocket au navigateur web dans un format similaire à celui utilisé par le Traceur Série (détails fournis dans la section suivante).
- Le code JavaScript dans le navigateur web reçoit les données et les trace sur le graphique.
Le format de données que l'ESP8266 envoie au traceur web
Pour tracer plusieurs variables, nous devons séparer les variables les unes des autres par le caractère «\t» ou " ". La dernière valeur DOIT être terminée par les caractères «\r\n».
En détail :
- La première variable
- Les variables intermédiaires
- La dernière variable
Pour plus de détails, veuillez consulter le tutoriel ESP8266 - Traceur Série.
Code ESP8266 - Traceur Web
Le contenu de la page web (HTML, CSS, JavaScript) est stocké séparément dans un fichier index.h. Ainsi, nous aurons deux fichiers de code sur Arduino IDE :
- Un fichier .ino qui est un code ESP8266, créant un serveur web et un serveur WebSocket
- Un fichier .h qui contient le contenu de la page web.
Étapes rapides
Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation de l'ESP8266.
- Connectez la carte ESP8266 à votre ordinateur via un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, comme par exemple NodeMCU 1.0 (Module ESP-12E), et son port COM respectif.
- Ouvrez le Gestionnaire de bibliothèques en cliquant sur l'icône Gestionnaire de bibliothèques dans la barre de navigation gauche de l'Arduino IDE.
- Recherchez "WebSockets", puis trouvez les WebSockets créés par Markus Sattler.
- Cliquez sur le bouton Install pour installer la bibliothèque WebSockets.
- Sur l'IDE Arduino, créez un nouveau sketch, donnez-lui un nom, par exemple, newbiely.fr.ino
- Copiez le code ci-dessous et ouvrez-le avec l'IDE Arduino.
- Modifiez les informations WiFi (SSID et mot de passe) dans le code pour correspondre à vos propres identifiants de réseau.
- Créez le fichier index.h sur Arduino IDE en :
- Cliquant sur le bouton juste en dessous de l'icône du moniteur série et choisissez Nouvel Onglet, ou utilisez les touches Ctrl+Shift+N.
- Donnez le nom du fichier index.h et cliquez sur le bouton OK
- Copiez le code ci-dessous et collez-le dans index.h.
- Maintenant, vous avez le code dans deux fichiers : newbiely.fr.ino et index.h
- Cliquez sur le bouton Upload dans l'IDE Arduino pour charger le code sur ESP8266.
- Ouvrez le moniteur série
- Vérifiez le résultat sur le moniteur série.
- Prenez note de l'adresse IP affichée, et saisissez cette adresse dans la barre d'adresse d'un navigateur web sur votre smartphone ou PC.
- Vous verrez la page web comme ci-dessous :
- Cliquez sur le bouton CONNECT pour connecter la page Web à l'ESP8266 via WebSocket.
- Vous verrez que le traceur trace des données comme sur l'image ci-dessous.
- Vous pouvez ouvrir le traceur série sur l'IDE Arduino pour le comparer avec le traceur web sur le navigateur web.
- Si vous modifiez le contenu HTML dans le index.h et que vous ne touchez à rien dans le fichier newbiely.fr.ino, lorsque vous compilez et téléchargez le code sur ESP8266, l'Arduino IDE ne mettra pas à jour le contenu HTML.
- Pour que l'Arduino IDE mette à jour le contenu HTML dans ce cas, faites une modification dans le fichier newbiely.fr.ino (par exemple, ajouter une ligne vide, ajouter un commentaire....)
※ NOTE THAT:
Explication du code ligne par ligne
Le code ESP8266 ci-dessus contient des explications ligne par ligne. Veuillez lire les commentaires dans le code !