Nombre total de pages vues

esp8266 avec Arduino IDE

 

programmer un esp8266 avec Arduino IDE
 
 
 Pour le téléversement de fichier ".bin"
 
 la solution que j'utilise est un petit programme très simple nodemcu pi flasher en quatre clics le boulot est fait.
 
- Sélectionnez le port sur lequel votre esp est branché
- Indiquer le fichier bin à téléverser.
- Choisissez le taux baud rate (personnellement je laisse celui indiqué).
- Sélectionnez le mode flash esp32 et esp8266 (esp12) DIO
                                                              esp01 ou esp07 QIO
                                                                         esp8285 DOUT
- Ligne "erase flash" (je conseille de cocher yes)
- Cliquer sur flash nodemcu
c'est fini
Pour plus d'explication voir le github nodemcu pi flasher
 

 
Pour l'installation du gestionnaire de carte esp8266 sur Arduino IDE aller directement sur la page esp8266 github vous avez tout ce que vous pouvez avoir besoin, sinon en simplifié lisez les quelque ligne ci dessous

Après avoir galéré (et ça m'arrive encore) pour programmer le esp8266 avec Arduino IDE je vais partager ma méthode en essayant d’être le plus simple.
en premier installé Arduino IDE, je pense que cela aide pour la suite

Lancer Arduino IDE.
Dans le menu fichier cliquer sur " préférences "
une fenêtre va s'ouvrir dans l'espace "additional board manager url " coller le lien ci dessous et cliquer OK
 

http://arduino.esp8266.com/stable/package_esp8266com_index.json  

ensuite dans le menu outils => choix de carte => board manager
Une fenêtre s'ouvre, descendre jusqu’à " esp8266 " cliquer sur installer.

 

 
À noter que cette méthode est identique pour les esp32 avec le lien spécial esp32 (une petite recherche Google).

Important : Si vous comptez téléverser le programme de Mtongnz (Arnet wifi vers 2 univers dmx) il faudra sélectionner la version 2.4.2, il y a un bug avec la version 2.5.x
 
Après l'installation fermer la fenêtre et maintenant dans le menu outils => choix de carte, vous devriez avoir plusieurs esp8266 de disponible.
Si vous n'avez pas un ESP spécial (nodemcu , D1 ou autre) ou si vous avez un esp-07 choisissez esp82266 générique.
Pour les paramètres de la carte le plus important et la ligne "flash size" si vous ne mettez pas la bonne taille de mémoire, vous aurez droit à un message d'erreur ! le problème, c'est que suivant l'esp la taille de la mémoire n'est pas la même.
Charger dans les exemples esp (Fichier > exemple > esp8266) le programme CheckFlashConfig)
Téléverser le programme, ouvrez le moniteur série, pensez à changer le baud en (115200)
Si la mémoire est ok, tout va bien.
Si le message est wrong modifier le paramètre avec la valeur que le programme vous donne.
La valeur spiffs que j'emploie sont pour l'ESP-01s et
les ESP-07= 1M/256k, pour les ESP-12e = 4M/1M

Pour l'Arduino IDE c'est fini. (si vous utilisez un nodeMCU, un Wemos ou n'importe quel esp avec une entrée USB vous pouvez sauter l'étape suivante)


Maintenant, il faut câbler l'esp8266 pour le programmer 
Il vous faut donc une interface " UART / TTL "( FT232, Cp2102, CH340 ) peu importe, pour les esp-01 il existe des interfaces dédiées voir ( artnet 1 univers dmx )

 
Si votre interface n'est pas en 3.3v ( alimentation et signal ) mais en 5v munissez-vous d'une interface " Logic Level Converter Bi-Directional Module 5V to 3.3V " (ou d'un montage à base de pont diviseur ou autre faire des recherches sur le net) car l'esp8266 fonctionne en 3v3 et ne supporte pas le 5v.
 

Après recherche il apparait que les gpio de l'esp supporte le 5v (à voir)
http://ba0sh1.com/blog/2016/08/03/is-esp8266-io-really-5v-tolerant/
 
L'alimentation, elle doit être de 3v3 (obligatoire sous peine de voir l'esp fumer).
Prévoir une alimentation 3v3. Si vous travaillez avec une " planche à pain " il existe des alimentations spéciales 5v et 3.3v.(voir Power supply)

Il faut donc une interface Usb <> Série, une alimentation 3v3 / ( 500mA ou plus), et une interface logic level pour les signaux Tx et Rx.

donc si vous n'avez rien de tout ça, achetez une interface Usb/Série en 3v3, plus besoin de logic level et peut-être mème de l'alimentation si l'interface usb est assez puissante

maintenant le câblage pour la programmation :
le Vcc de l'esp   =>   3.3v de l'alim
le Gnd de l'esp  =>    Gnd de l'alim
le Rx de l'esp    =>   Tx de l'uart/ttl en passant par le logic level converter
le Tx de l'esp    =>   Rx de l'uart/ttl en passant par le logic level converter
Gpio 0             =>   Gnd
Gpio 15           =>   Gnd (suivant modèle d'esp, ils ne l'ont pas tous)
ChDp ou En     =>    3.3v
Reset              =>    3.3v
Cliquer sur " téléverser " et normalement le programme va se charger.


Si ce n'est pas le cas, vérifier le câblage et les paramètre mémoire ! Et si tout ça vous donne des maux de tête !




Aucun commentaire:

Enregistrer un commentaire