ESP8266 - Matrice LED via le Web
Dans ce tutoriel, nous apprendrons à contrôler un panneau d'affichage à matrice LED via une interface web en utilisant l'ESP8266. En détail, nous programmerons l'ESP8266 pour qu'il devienne un serveur web qui effectue les opérations suivantes :
- Renvoie une interface web aux utilisateurs lors de la réception d'une demande depuis un navigateur web.
- Fournit l'interface web permettant aux utilisateurs d'envoyer le message à l'ESP8266.
- Affiche les messages sur la matrice LED une fois le message reçu.
Préparation du matériel
1 | × | ESP8266 NodeMCU | |
1 | × | Micro USB Cable | |
1 | × | FC-16 LED Matrix 32x8 | |
1 | × | Breadboard | |
1 | × | Jumper Wires | |
1 | × | (Optional) DC Power Jack | |
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) |
À propos de la matrice LED et du serveur Web
Nous pouvons utiliser un HTTP pur pour envoyer un texte depuis une interface web vers l'ESP8266. Cependant, l'utilisation de WebSocket le rend plus réactif et n'ajoute pas beaucoup de difficulté. Donc, dans ce tutoriel, nous utiliserons le WebSocket.
Non familiarisé avec la matrice de LED, le serveur Web et WebSocket, y compris leurs brochages, fonctionnalités et programmation ? Explorez des tutoriels complets sur ces sujets ci-dessous :
- ESP8266 - LED Matrix tutorial
- ESP8266 - Web Server tutorial
- ESP8266 - WebSocket tutorial
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.
Code ESP8266
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 l'IDE Arduino :
- 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 ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez un ESP8266.
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'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.
- Recherchez « MD_Parola », puis trouvez la bibliothèque MD_Parola
- Cliquez sur le bouton Install.
- On vous demandera d'installer la bibliothèque "MD_MAX72XX"
- Cliquez sur le bouton Install All pour installer la dépendance.
- Sur Arduino IDE, créez un nouveau sketch, donnez-lui un nom, par exemple, newbiely.fr.ino
- Copiez le code ci-dessous et ouvrez-le avec Arduino IDE.
- Créez le fichier index.h sur Arduino IDE en :
- Cliquant soit sur le bouton situé juste en dessous de l'icône du moniteur série et choisissez Nouvel Onglet, soit en utilisant 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 téléverser le code sur ESP8266.
- Ouvrez le moniteur série
- Consultez 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 CONNECTER pour connecter la page web à ESP8266 via WebSocket.
- Tapez quelques mots et envoyez-les à ESP8266.
- Vous verrez la réponse de ESP8266.
※ NOTE THAT:
Si vous modifiez le contenu HTML dans le fichier 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'IDE Arduino ne mettra pas à jour le contenu HTML.
Pour que l'IDE Arduino mette à jour le contenu HTML dans ce cas, effectuez une modification dans le fichier newbiely.fr.ino (par exemple, ajouter une ligne vide, ajouter un commentaire...).
Explication du code ligne par ligne
Le code ESP8266 ci-dessus contient des explications ligne par ligne. Veuillez lire les commentaires dans le code !