L’ESP8266 est un module Wifi qui va nous permettre de connecter l’arduino au web.
Je parle de ce modèle : ESP-01S et voici à quoi il ressemble :
Si vous voulez l’acheter : ESP8266 ESP-01S
Pour le connecter au web, il faut configurer le module pour qu’il se connecte au Wifi et ensuite on pourra lui envoyer un petit code qui par exemple affichera des données provenant de l’arduino sur une IP du réseau local (par exemple : 192.168.1.13).
Les broches du module
3v3 / VCC : doit être connecté au 3.3v. | RX : permet de recevoir des données |
RST : doit être connecté au 3.3v. Il est possible de redémarrer le module en le connectant au GND par une simple connexion / déconnexion | IO0 / GPIO0 : peut être utilisé comme broche I/O. Si on souhaite configurer le module, il faut le connecter au GND lors de la mise sous tension (puis on le débranche après quelques secondes environ 5-6s). Dans ce mode il est possible d’écrire et d’envoyer du code dans l’ESP. |
EN / CH_PD : doit être raccordé au 3,3V. | IO2 / GPIO2 : peut être utilisé comme broche I/O. Cette broche dispose d’une résistance et est raccordée sur la LED bleue (version esp01s). Je rajoute également un point important : l’utilisation de la led (LED_BUILTIN) fonctionne à l’envers : HIGH éteindra la LED et LOW l’allumera. (On remerciera un de nos lecteurs qui à remonté cette information. Merci à lui) |
TX : permet d’envoyer des données | GND : doit être connecté au GND |
Branchement
Le module possède 2 mode : écriture & lecture
Mode écriture
Ce mode permet tout simplement d’écrire dans le module et ainsi lui injecter notre code.
ESP | UNO |
---|---|
TX | TX |
RX | RX |
GND | GND |
IO2 | 3.3v |
IO0 | GND (quelques secondes au démarrage et ensuite on débranche) |
EN | 3.3v |
RST | Non branché |
On pense bien à brancher le GND de la carte à la masse également.
J’ai vu beaucoup de chose sur le net qui s’arrête à cette étape mais pour moi ce n’est pas suffisant car impossible de téléverser un sketch. Je rajoute un câble au RESET de la carte vers la masse et là le téléversement fonctionne. D’ailleurs si quelqu’un sait pourquoi, n’hésitez pas à me donner l’information dans les commentaires 🙂
Ça ne fonctionne pas pour vous ? C’est surement un souci de branchement et/ou d’alimentation.
Si vous êtes sur une carte non officielle, le 3.3v peut ne pas être suffisant, c’est pourquoi je vous conseille une alimentation externe en 3.3v. Par exemple un module d’alimentation externe (le cavalier pour sélectionner le voltage doit être positionné sur le 3.3v)
Par exemple, avec ma nano non officielle, lorsque je branche l’ESP, la tension chute en dessous de 2v de ce fait l’ESP ne démarre pas.
Mode lecture
Ce mode exécute tout simplement le code qui se trouve sur le module.
ESP | UNO |
---|---|
TX | RX |
RX | TX |
GND | GND |
IO2 | Non branché |
IO0 | Non branché |
EN | 3.3v |
RST | 3.3v |
TX et RX sont bien croisés, faut le voir de la sorte : l’ESP parle (TX) et la UNO écoute (RX) et inversement. Évidemment, c’est utile à partir du moment où on utilise l’Arduino pour échanger avec l’ESP sinon on peut les débrancher.
Si cet article vous a plu, n’hésitez pas à laisser un commentaire, noter et partager l’article.
Bonjour Captain Arduino,
Je me permets un petit signalement :
Dans le tableau où tu as écrit : IO2 / GPIO2 : peut être utilisé comme broche I/O. Cette broche dispose d’une résistance et est raccordée sur la LED bleue (version esp01s) :
Ça serait bien de signaler/corriger que la LED bleue est activé/allumée à l’état LOW ( GPIO2=0 ) et éteinte à l’état HIGH ( fonctionnement inversé de la LED bleue )
Merci.
Bonjour Pierre,
Merci pour ton retour, je viens de tester et effectivement tu as raison. La LED fonctionne à l’envers. Je vais de ce pas modifier mon article
Merci bien 🙂
Bonjour,
Est-ce qu’il y aurait une libraire pour l’utiliser sur un µC (Uno, Nano, Mega) avec des protocoles tels que NTP, FTP, MQTT ?
Merci d’avance
Bonjour Pascal,
Tu souhaites une lib pour l’utiliser sur quoi ?
Côté protocoles, il me semble que pour le FTP c’est possible :https://playground.arduino.cc/Code/FTP/,
Pour MQTT : https://github.com/256dpi/arduino-mqtt
Pour NTP que je connais moins bien : https://github.com/arduino-libraries/NTPClient
Laissez tomber, j’imaginais l’ESP-01 comme périphérique d’un Arduino. Idée saugrenue : le nodeMCU fait tout cela
Bonne fin de journée et d’année !
Oui l’ESP-01 est un module à part entière pour des projets bien précis ne demandant pas grand chose vu le nombre de GPIO disponible.
Pour des projets plus conséquents un nodeMCU est plus pratique.
Bonne fin de journée à vous également et de bonnes fêtes de fin d’année