Introduction et programmation de la carte NodeMCU ESP8266

L’ESP8266 NodeMCU est un petit microcontrôleur doté de GPIO et pouvant se connecter à Internet via WLAN. Cela et le prix bas le rendent très intéressant par rapport aux Arduinos, par exemple. Dans les prochains tutoriels, nous souhaitons utiliser les modules ESP8266 peu coûteux pour envoyer des données via une connexion Wifi au Raspberry Pi, qui agit comme le «cœur».

Ce tutoriel concerne l’introduction ainsi que la configuration générale et commencez d’abord avec un NodeMCU ESP8266.

Matériels requis

Il existe différents modèles d’ESP8266, le moins cher (ESP-01) n’a que quatre broches GPIO. Cela devrait être suffisant pour des applications minimales. Si plus de broches matérielles sont nécessaires, l’ESP-12 est le meilleur choix. Ce dernier est également disponible en tant que «carte de développement», ce qui rend les adaptateurs inutiles.

Avant de commencer, vous devez vous assurer de la version qui vous convient. Ce didacticiel et tous les didacticiels à venir seront compatibles avec les deux versions.

  • le NodeMCU ESP-12 Le module a l’avantage de pouvoir être connecté via un câble MicroUSB et possède un bouton de réinitialisation. Si vous avez seulement besoin du module sans carte de développement (par exemple en raison de contraintes d’espace), vous pouvez également acheter ce séparément.

Si vous n’avez pas de carte intégrée, vous avez besoin des éléments suivants:

Si vous souhaitez recréer l’exemple à la fin, vous devriez également avoir quelques LED Là.

Configuration et câblage

Tout d’abord, nous devons connecter l’ESP8266 à un port USB de notre ordinateur. Avec la carte de développement, il suffit de connecter un câble micro USB. Sans une telle carte, nous devons utiliser l’adaptateur USB-TTL. Pour cela, il est important que nous connaissions l’affectation des broches de notre module ESP.

Pour les deux ESP-01 et ESP-12, j’ai inséré l’affectation des broches ici:

Vue de dessus de l'ESP8266 NodeMCU ESP-01

Vue de dessus de l’ESP8266 NodeMCU ESP-01 (la source)

Brochage ESP-12

Brochage ESP8266 NodeMCU ESP-12

Une affectation de tous les modèles (ESP-05, ESP-07, etc.) peut être trouvée ici.

Nous devons maintenant connecter le module à l’adaptateur USB FT232. Cela a 6 broches, dont nous allons utiliser 4. L’étiquetage des broches n’est pas directement visible car il est entre le cavalier et les broches réelles.

Les broches suivantes du module NodeMCU ESP8266 sont d’abord connectées au convertisseur USB-TTL à l’aide de câbles de démarrage:

ESP8266 Adaptateur série USB-TTL FT232
VCC VCC
CH_PD VCC
TXD Tx
GND GND
RXD Rx
GPIO 0 GND (temporaire)

Soit dit en passant, la connexion de GPIO0 à GND n’est importante que lors du flashage. Une fois que le firmware a été correctement flashé, vous pouvez déconnecter cette broche du GND.

Clignotement du firmware

Tout d’abord, connectez l’adaptateur USB à votre PC. L’ESP8266 doit être reconnu automatiquement et les pilotes doivent être installés automatiquement sous Windows 7/8/10.

Ensuite, nous avons besoin du Outil Flasher NodeMCU. Il y a un 32 bits et 64 bits version de celui-ci, qui doit être téléchargée en fonction du système d’exploitation.

Démarrez le programme et sélectionnez le port correspondant auquel l’ESP82166 est connecté. Normalerweise wird dieser automatisch erkannt (solange nicht mehr als ein Modul angeschlossen ist). Nach Prüfung drücke auf Flash (F) und warte, bis der Vorgang vollendet ist. Die Mac-Adresse sollte direkt angezeigt werden:

Clignotant NodeMCUL’équipe de développement est probablement en train de rendre l’outil disponible pour Linux et Mac. Si vous souhaitez mettre à jour le firmware un jour, vous pouvez trouver plus d’informations ici.

Par exemple, vous pouvez charger un firmware personnalisé depuis ici (avec plus de bibliothèques incluses en standard (comme http, etc.). C’est au format de fichier “.bin” et peut être utilisé dans l’onglet “Config” au lieu du firmware prédéfini Connect que le débit en bauds sur ces builds personnalisés est 115200 et non 9600 (si vous les utilisez).

Une fois le firmware transféré avec succès, vous pouvez déconnecter GPIO0 de GND et fermer l’outil de clignotement.

Connexion à l’ESP8266

Le microcontrôleur NodeMCU ESP8266 peut être programmé à l’aide du LUA langue (d’ailleurs, cela se produit également dans notre script de télégramme automatique). Afin de transférer le code du programme à cela, nous devons d’abord établir une connexion série. La façon la plus simple de le faire est d’utiliser un outil.

Pour cela, j’utilise le “ESPlorer», Qui a été écrit en Java et peut donc être utilisé sur tous les systèmes d’exploitation. Tout d’abord, téléchargez cela depuis la page développeur et décompressez-le.

Sous les systèmes d’exploitation Windows, il suffit de démarrer le «ESPlorer.bat» associé.

La sélection du port est à nouveau disponible dans l’onglet de droite. Sélectionnez le port correspondant (pour moi, c’est COM5) avec un débit en bauds de 9600 (dans les versions précédentes, c’était 115200). Maintenant, cliquez sur le Ouvert bouton.

Paramètres ESPlorer

Habituellement, il ne se passe pas grand-chose au début, sauf pour ce texte:

PORT OPEN 9600

Communication with MCU..

Vous devez d’abord redémarrer le microcontrôleur. Il suffit d’appuyer sur le bouton de réinitialisation d’une carte de développement. Sans planche, le Broche RST (voir ci-dessus pour l’affectation) doit être connecté brièvement à GND. Le message suivant apparaît alors:

Got answer! Communication with MCU established.
AutoDetect firmware...

Can't autodetect firmware, because proper answer not received (may be unknown firmware). 
Please, reset module or continue.

Self adjust flash size.

NodeMCU 0.9.5 build 20150318  powered by Lua 5.1.4
lua: cannot open init.lua
>

Vous avez maintenant réussi! Ici, les commandes peuvent déjà être saisies via LUA, qui sont ensuite exécutées une fois. Par exemple, vous pouvez saisir ce qui suit en bas:

print("Hello World")

Bien sûr, il est également possible d’exécuter le code du programme immédiatement après le démarrage. Pour ce faire, le code doit être écrit dans un fichier «init.lua», mais nous y reviendrons dans un instant.

Soit dit en passant: en théorie, il est également possible de se connecter via Putty ou Arduino IDE ou tout programme pouvant établir une connexion série. À mon avis, l’outil ESPlorer est l’option la plus pratique.

Premier test – Serveur

le NodeMCU page a quelques exemples (ci-dessous), dont deux que nous voulons essayer.

Le premier exemple est un petit serveur Web qui s’exécute sous l’adresse IP locale de l’ESP8266. Bien sûr, ce premier doit être connecté au WLAN.

Dans le côté gauche de l’ESPlorer, vous pouvez copier le code suivant:

Bien entendu, les données WLAN (SSID = nom, mot de passe) doivent être remplacées par celles de votre réseau.

Puis appuyez “Envoyer à ESP»(Vous devrez peut-être enregistrer le fichier localement au préalable).

Pour connaître l’adresse IP, vous pouvez saisir les informations suivantes dans la vue de droite ci-dessous:

Cela donne une sortie comme celle-ci:

192.168.1.77    255.255.255.0    192.168.1.1

La première adresse IP spécifiée est celle du réseau local. Si votre ordinateur se trouve également sur ce réseau, vous pouvez simplement saisir cette IP dans votre navigateur et ce qui suit devrait apparaître:

Aperçu de la réponse du serveur

Dès que vous l’appelez, le journal dans la fenêtre de droite de l’ESPlorer devrait également afficher quelque chose.

Si vous souhaitez placer le fichier dans le démarrage automatique, enregistrez-le sous «init.lua» et transférez-le sur l’ESP.
Si vous souhaitez le supprimer un jour, vous pouvez le faire comme suit (Documentation):

file.remove("init.lua")

Connexion de l’ESP8266 NodeMCU GPIO

Enfin, nous voulons utiliser les GPIO et laisser une LED s’allumer.

Assurez-vous que la numérotation GPIO, comme avec le Raspberry Pi, ne correspond pas à l’affectation des broches. Par exemple, avec ESP-01 GPIO0 = Pin3 et GPIO2 = Pin4. Dans le code, nous donnons la numérotation des broches. Le devoir peut être trouvé ici.

Index IO ESP8266 pin Index IO ESP8266 pin
0 GPIO16 7 GPIO13
1 GPIO5 8 GPIO15
2 GPIO4 9 GPIO3
3 GPIO0 dix GPIO1
4 GPIO2 11 GPIO9
5 GPIO14 12 GPIO10
6 GPIO12

Avec l’ESP-12 NodeMCU, il convient de noter que les broches D (D0, D1, etc.) ne représentent pas les numéros GPIO, mais la numérotation IO / Pin:

Brochage NodeMCU

Avec le script suivant, vous pouvez flasher une LED sur GPIO2 (extrémité longue de la LED sur GPIO, extrémité courte sur GND):

Sur la page de référence de NodeMCU, vous pouvez trouver d’autres petits exemples.

Quels projets (en particulier par rapport au Raspberry Pi) dois-je mettre en œuvre ensuite?

Articles similaires

Bouton retour en haut de la page
Fermer