[TUTO] Programmer une ESP8266 avec un Arduino

Vos échanges, bricolages, idées et questions concernant l'ESP8266, les NodeMCU,Weemos, et consort
Répondre
deennoo
Messages : 4028
Enregistré le : 25 janv. 2015, 02:00

[TUTO] Programmer une ESP8266 avec un Arduino

Message par deennoo »

C'est fait ! Enfin ! le tout petit paquet a été déposé par le facteur ! 3 semaines d'attentes, d’inquiétude, depuis que vous avez passez votre commande pour un module ESP8266 en vrac, sans port USB, sans rien, juste le PCB et les 8 Pins deja soudé dessus, et biensur vous n'avez pas commandez le module FTDI usb qui va bien !

Super ! et maintenant ? comment on met un programme dedans ?

Faisont le tour de ce que nous avons a disposition :

- Un Rpi
- Un Arduino UNO
- Un Arduino Mega

Pour programmer l'ESP depuis un RPI c'est ici que cela ce passe : viewtopic.php?f=17&t=1218 (Merci Jacky)

Pour les Arduino....l'IDE Arduino qui va servir a transferet le programme dans l'ESP a une particularité :

Une fois que vous lui avez indiquez le Port COM et le type de Carte que vous avez, il va envoyer un signal du type : Sesame ouvre toi que je rentre et que je range mes affaires dedans.

Les ESP et les Atmels (Puces presentes sur les Arduino) ne parlent pas le meme language, du coup avec cette commande pour ESP, l'Atmel va dire : What did you Say ? i don't understand ! get back !

La solution est simple : Enlever la puce Atmel ! ceci est uniquement faisable sur un Arduino UNO qui a cette possibilitée, Les Mega ont les puces soudées, dommage.

Voici un Arduino Uno sans sa puce :
Capture.JPG
Capture.JPG (53.55 Kio) Vu 22422 fois
Le raccordement entre l'ESP et l'Arduino

Image


Une ESP 8266 SP 01 a besoin de 3.3v pour fonctionner.
En mode "normal" il faut que VCC et CH PD soit alimanté en 3.3v et que GND soit raccordé

Ce qui donne
esp arduino power.JPG
esp arduino power.JPG (75.98 Kio) Vu 22422 fois

Pour la mettre en mode programmation, il est necessaire de mettre le GPIO0 sur GND avant de mettre l'ESP sous tension, une fois qu'elle est alimenté avec ce GPIO 0 sur GND, sa petite led bleu va clignoté une fois et puis c'est tout, un vrai zombie bon a rien sauf a etre programmée.
esp mode prog.JPG
esp mode prog.JPG (25.93 Kio) Vu 22422 fois
Pour qu'elle "communique" avec notre atelier il faut raccorder ses pin RX et TX :
RX = Reception d'information, les oreilles
TX = Transmition d'information : La bouche

Chanceux que nous sommes notre Arduino UNO aussi a RX et TX !!

Donc en toute logique :
La bouche de L'ESP (TX) va parler aux oreilles de l'Arduino (RX)
Les Oreilles de L'ESP (RX) vont ecouté la bouche de l'Arduino (TX)

Ce qui nous donne :
esp arduino prog.JPG
esp arduino prog.JPG (88.9 Kio) Vu 22422 fois
Attention toute fois, Le port TX de L'arduino fonctionne en 5V et les ESP en 3.3V, une tolérance existe et on y est au maximum, chez moi cela fonctionne très bien et je n'ai jamais detruie d'ESP ainsi, mais il y a un risque sachez le !

Une fois votre programme chargé dans l'ESP, vous pouvez "debranché GPIO0 de GND", faites un reboot manuel (debranchez GND de l'ESP du GND de l'Arduino puis remettez le), et vous verrez la sequence de boot de L'ESP dans votre moniteur Serie

esp arduino listen.JPG
esp arduino listen.JPG (76.13 Kio) Vu 22422 fois

Ce type de raccordement permet egalement de reprogrammer :
- Le Relais wifi Sonoff ou le GPIO 0 est raccordé au bouton
- Le controleur de ruban de led H801 ou le GPIO 0 est le connecteur jp1
- La carte WifInfo de Charly86 (télé information par wifi) ou il faut maintenir le bouton flash durant le "téléchargement"
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

papoo
Messages : 2029
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: [TUTO] Programmer une ESP8266 avec un Arduino

Message par papoo »

j'ai toujours pas pu tester ton tuto, j'ai pas encore reçu mes ESP
en attendant, merci
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

dhafer
Messages : 1
Enregistré le : 07 oct. 2016, 17:22

Re: [TUTO] Programmer une ESP8266 avec un Arduino

Message par dhafer »

Bonjour,
Merci bien pour votre effort.
Donc,j'ai suivi les étapes de votre tutorial (sachant que gpio_0 du esp8266 est au GND), mais lors du l'upload, arduino IDE affiche ce message:
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed

J'ai besoin de votre aide svp.
Merci.

deennoo
Messages : 4028
Enregistré le : 25 janv. 2015, 02:00

Re: [TUTO] Programmer une ESP8266 avec un Arduino

Message par deennoo »

Gpio 0 au gnd juste le temps du boot ensuite on l'enleve.

Essaye d'inverser rx et tx
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

domcars0
Messages : 230
Enregistré le : 18 févr. 2017, 20:23

Re: [TUTO] Programmer une ESP8266 avec un Arduino

Message par domcars0 »

dhafer a écrit :Bonjour,
Merci bien pour votre effort.
Donc,j'ai suivi les étapes de votre tutorial (sachant que gpio_0 du esp8266 est au GND), mais lors du l'upload, arduino IDE affiche ce message:
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed

J'ai besoin de votre aide svp.
Merci.
Salut,
J'ai eu le même problème ( avec un ESP-12F) ... Pour pouvoir le flasher (sous Linux avec ce tuto http://www.letscontrolit.com/wiki/index ... are_Upload) j'ai du connecter le GPIO15 au GND .
C'est à dire:
GPIO15 -> Gnd
GPIO0 -> Gnd
EN (aka CH_PD) -> +3.3V
Vcc -> +3.3V
Gnd -> Gnd
Tx -> Rx de l'Arduino Uno
Rx -> Tx de l'Arduino Uno
La liberté a un prix... celui de l'effort.
Script DomoticzVeolia (Med et Grand Lyon)

Répondre