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
À 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
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 )
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).
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 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