Introduction et programmation de la carte NodeMCU ESP8266

ESP8266 Microcontroller Board

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?

  • ESP8266 OLED ESP12F Node-MCU Carte de Développement XTVTX 2 Pièces OLED Arduino avec écran OLED de 0,96 Pouces,Pilote CH340,Module sans Fil ESP-12E WiFi, et Micro USB,pour la Programmation Arduino
    La carte ESP8266 Node-MCU possède toutes les caractéristiques du module ESP8266 traditionnel, avec la même taille et les mêmes ports périphériques, et offre une intégration transparente avec un écran OLED de 0,96 pouce. L'écran présente une haute résolution de 128x64 avec un pilote 1306 et est compatible avec les interfaces I2C et SPI. Cette ESP8266 Display carte utilise l'I2C pour se connecter à un écran OLED via les broches SDA (D6 / GPIO12) et SCL (D5 / GPIO14). Avec cette carte, il est facile d'afficher une variété d'informations et de données. Pour installer la nouvelle version du pilote CH-340, il suffit de rechercher les mots clés "CH340 Driver" sur Google.com ou Bing.com et de suivre les instructions d'installation fournies.Recommandé pour le système d'exploitation Win10. La carte ESP8266 Display Node-MCU est équipée d'un module ESP12E, qui contient le microprocesseur RISC Tensilica Xtensa 32-bit LX106 alimentant la puce ESP8266. Ce microprocesseur supporte le RTOS et fonctionne à une fréquence d'horloge réglable entre 80 MHz et 160 MHz. Cette ESP8266 Display carte est une option exceptionnelle pour divers projets d'Internet des objets (IoT). Elle peut être utilisée pour afficher l'état de la connexion réseau,les informations de surveillance, les niveaux de puissance et d'autres données pertinentes.
  • Lot de 2 mini kit de carte NodeMCU ESP32 pour module WiFi ESP32 Bluetooth Internet of Development Board Based ESP8266 entièrement fonctionnel avec broches pour kit de bricolage Ardu-ino WeMos
    La carte de développement ESP32 Pro WeMos tout ce dont vous avez besoin pour programmer le dernier module ESP32 (ESP-WROOM-32), ESP32/32S WiFi Development Bluetooth ESP8266 Module CP2104 pour Arduino. Contrairement aux modèles ESP8266 Mini V2 et ESP8266 Mini Pro, l'ESP32 Mini supporte le module ESP32-WROOM-32 tout en conservant le même facteur de forme. Le DOIT esp32 Devkit est une solution à puce unique qui combine Bluetooth et fonctions Wi-Fi 2,4 GHz. La famille WeMos Mini de Boards est l'un des derniers compléments de l'écosystème Internet des things (IoT) basée sur les ESP32 et ESP8266. Associée à une gamme croissante de panneaux d'expansion, la famille WeMOS est une excellente solution pour les projets de construction rapides avec l'ESP8266 et ESP32.