Différences entre versions de « FEATHER-CHARGER-MICROPYTHON-ESP8266 »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(8 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
  
 
== Préparatifs ==
 
== Préparatifs ==
 +
Note: [[FEATHER-CHARGER-MICROPYTHON-ESP8266-EN|cette page existe également en anglais]]
 +
 
Avant d'utiliser MicroPython avec un ESP8266 il sera nécessaire de reflasher l'ESP8266 avec la dernière version de du firmware MicroPython.
 
Avant d'utiliser MicroPython avec un ESP8266 il sera nécessaire de reflasher l'ESP8266 avec la dernière version de du firmware MicroPython.
  
 
Nous vous proposons ce tutoriel condensé (abordable) mais vous pouvez également [http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/intro.html#deploying-the-firmware suivre les instructions officielles] (''micropython.org, anglais'') pour charger MicroPython sur un ESP8266.
 
Nous vous proposons ce tutoriel condensé (abordable) mais vous pouvez également [http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/intro.html#deploying-the-firmware suivre les instructions officielles] (''micropython.org, anglais'') pour charger MicroPython sur un ESP8266.
  
En tout premier lieu vous aurez également besoin [https://www.python.org/downloads/ d'installer Python 2.7] (n'oubliez pas de sélectionner l'option qui ajoute le programme python dans le PATH de recherche de windows).
+
En tout premier lieu vous aurez également besoin [https://www.python.org/downloads/ d'installer Python]. Anciennement, la version Python 2.7 était nécessaire mais cela devrait maintenant être supporté sur Python 3.x . Si vous êtes un utilisateur Windows, n'oubliez pas de sélectionner l'option qui ajoute le programme python dans le PATH de recherche. Python est généralement disponible out-of-the-box sur les plateformes Linux.
  
Ensuite, il est nécessaire d'installer le logiciel {{fname|esptool.py}} qui permet de flasher un firmware sur ESP8266. La façon la plus simple d'installer ce logiciel est d'utiliser '''pip''' (l'installateur de paquet python).
+
Ensuite, il est nécessaire d'installer le logiciel {{fname|esptool.py}} qui permet de flasher un firmware sur ESP8266. La façon la plus simple d'installer ce logiciel est d'utiliser '''pip''' (ou pip3 pour python3.x). pip est l'installateur de paquet python.
  
 
Saisissez la commande suivante dans un terminal:
 
Saisissez la commande suivante dans un terminal:
Ligne 14 : Ligne 16 :
 
  <nowiki>pip install esptool</nowiki>
 
  <nowiki>pip install esptool</nowiki>
  
{{underline|Note pour les utilisateurs de Mac OSX et Linux:}} vous pourriez avoir besoin d'exécuter cette commande en tant que root à l'aide d'un {{fname|sudo}} comme ceci:
+
{{underline|Note pour les utilisateurs de Mac OSX et Linux:}} vous pourriez avoir besoin d'exécuter cette commande en tant que '''root''' à l'aide d'un {{fname|sudo}} comme ceci:
  
 
  <nowiki>sudo pip install esptool</nowiki>
 
  <nowiki>sudo pip install esptool</nowiki>
Ligne 33 : Ligne 35 :
 
C'est un peu différent pour chaque carte ESP8266
 
C'est un peu différent pour chaque carte ESP8266
  
=== Le cas général ===
+
=== Le cas général - Sans interface USB-Serie ===
 
[[Fichier:ESP8266-HUZZA.png|400px]]  
 
[[Fichier:ESP8266-HUZZA.png|400px]]  
  
Ligne 45 : Ligne 47 :
  
 
Pour le {{pl|846|Feather HUZZAH ESP8266}}, {{pl|1221|Wemos D1 Mini}}, {{pl|1222|Wemos D1 Pro}} c'est encore plus simple. Vous n'avez pas besoin de faire quoi que ce soit pour activer le mode "flashage Firmware". Cette carte est conçue pour détecter lorsque le port série est ouvert en vue de flasher le module. Il passe donc automatiquement en mode flashage en configurant automatiquement le module ESP8266 pour recevoir le firmware.
 
Pour le {{pl|846|Feather HUZZAH ESP8266}}, {{pl|1221|Wemos D1 Mini}}, {{pl|1222|Wemos D1 Pro}} c'est encore plus simple. Vous n'avez pas besoin de faire quoi que ce soit pour activer le mode "flashage Firmware". Cette carte est conçue pour détecter lorsque le port série est ouvert en vue de flasher le module. Il passe donc automatiquement en mode flashage en configurant automatiquement le module ESP8266 pour recevoir le firmware.
* '''Sur Windows, vous devez préalablement [https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx installer le pilote CP210x de SiLabs] on Windows pour rendre visible le port série de la carte.<br />Sur Windows, il vaudra installer le pilote VCP standard (''normal VCP driver'') et non celui prenant en charge l'énumération des ports séries (''with Serial Enumeration'')
+
* '''Sur Windows''': vous devez préalablement [https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx installer le pilote CP210x de SiLabs] on Windows pour rendre visible le port série de la carte.<br />Sur Windows, il vaudra installer le pilote VCP standard (''normal VCP driver'') et non celui prenant en charge l'énumération des ports séries (''with Serial Enumeration'')
* '''Sur MacOS X, vous devez préalablement [https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx installer le pilote CP210x de SiLabs] on Windows pour rendre visible le port série de la carte.
+
* '''Sur MacOS X''': le convertisseur USB-Serie devrait déjà être supporté.
 +
* '''Sur Linux''': le convertisseur USB-Serie est déjà supporté.  
 
{{ambox|text=Sur la gamme Wemos ESP8266, le convertisseur USB Série est basé sur un CH340D. Il est donc nécessaire d'installer le pilote approprié.}}
 
{{ambox|text=Sur la gamme Wemos ESP8266, le convertisseur USB Série est basé sur un CH340D. Il est donc nécessaire d'installer le pilote approprié.}}
  
Ligne 61 : Ligne 64 :
 
* Enfin relâcher le bouton GPIO 0.
 
* Enfin relâcher le bouton GPIO 0.
  
=== ESP8266-EVB (ESP8266-DEV) ===
+
=== ESP8266-EVB (Evaluation Board) ===
 
[[Fichier:OLI-ESP8266-EVB.jpg|180px]]
 
[[Fichier:OLI-ESP8266-EVB.jpg|180px]]
  
Ligne 78 : Ligne 81 :
 
  <nowiki>esptool.py --port /chemin/vers/ESP8266 erase_flash</nowiki>
 
  <nowiki>esptool.py --port /chemin/vers/ESP8266 erase_flash</nowiki>
  
Où {{fname|/chemin/vers/ESP8266}} est le chemin ou nom du port série connecté sur l'ESP8266. Le nom exacte du périhérique varie en fonction du type de convertisseur USB-vers-série. Lister vis port série avant de connecter le module ESP826 puis répétez l'opération avec le port série connecté. Le port qui vient d'apparaître est celui correspondant à votre ESP8266.
+
Où {{fname|/chemin/vers/ESP8266}} est le chemin ou nom du port série connecté sur l'ESP8266. Le nom exacte du périhérique varie en fonction du type de convertisseur USB-vers-série. Lister vos port série avant de connecter le module ESP826 puis répétez l'opération avec le port série connecté. Le port qui vient d'apparaître est celui correspondant à votre ESP8266.
  
 
{{ADFImage|FEATHER-CHARGER-MICROPYTHON-ESP8266-22.png}}
 
{{ADFImage|FEATHER-CHARGER-MICROPYTHON-ESP8266-22.png}}
Ligne 123 : Ligne 126 :
 
Pour le {{pl|668|ESP8266-EVB}} evaluation board et {{pl|667|ESP8266-DEV}} carte de développement placée sur la carte ESP8266-EVB:
 
Pour le {{pl|668|ESP8266-EVB}} evaluation board et {{pl|667|ESP8266-DEV}} carte de développement placée sur la carte ESP8266-EVB:
  
[[Fichier:OLI-ESP8266-EVB.jpg|180px]] [[Fichier:OLI-ESP8266-DEV.jpg|90px]]
+
[[Fichier:OLI-ESP8266-EVB.jpg|180px]] [[Fichier:OLI-ESP8266-DEV.jpg|110px]]
  
 
Exécutez la commande suivante pour charger le nouveau firmware (celui que vous avez déjà téléchargé sur votre ordinateur):
 
Exécutez la commande suivante pour charger le nouveau firmware (celui que vous avez déjà téléchargé sur votre ordinateur):

Version actuelle datée du 19 mai 2021 à 13:15


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Préparatifs

Note: cette page existe également en anglais

Avant d'utiliser MicroPython avec un ESP8266 il sera nécessaire de reflasher l'ESP8266 avec la dernière version de du firmware MicroPython.

Nous vous proposons ce tutoriel condensé (abordable) mais vous pouvez également suivre les instructions officielles (micropython.org, anglais) pour charger MicroPython sur un ESP8266.

En tout premier lieu vous aurez également besoin d'installer Python. Anciennement, la version Python 2.7 était nécessaire mais cela devrait maintenant être supporté sur Python 3.x . Si vous êtes un utilisateur Windows, n'oubliez pas de sélectionner l'option qui ajoute le programme python dans le PATH de recherche. Python est généralement disponible out-of-the-box sur les plateformes Linux.

Ensuite, il est nécessaire d'installer le logiciel esptool.py qui permet de flasher un firmware sur ESP8266. La façon la plus simple d'installer ce logiciel est d'utiliser pip (ou pip3 pour python3.x). pip est l'installateur de paquet python.

Saisissez la commande suivante dans un terminal:

pip install esptool

Note pour les utilisateurs de Mac OSX et Linux: vous pourriez avoir besoin d'exécuter cette commande en tant que root à l'aide d'un sudo comme ceci:

sudo pip install esptool

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Si pip vous informe que esptool.py ne fonctionne qu'avec Python 2.x alors essayer une nouvelle fois en utilisant pip2 dans la commande à la place de pip (si votre système utilise Python 3 par défaut alors la commande pip pourrait conduire à une situation un peu confuse).

Télécharger MicroPython

Ensuite, téléchargez la dernière version du binaire du Firmware MicroPython pour ESP8266. Ces firmwares sont généralement compilés journellement depuis le code source sur Github. Si vous voulez réaliser votre propre compilation du firmware MicroPython ESP8266 (like if you're customizing it or including other modules & scripts) alors voyez le tutoriel "Building and Running MicroPython on the ESP8266 (Adafruit, anglais), un guide bien pratique qui explique comment compiler le firmware sur une machine virtuelle spéciale.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Branchement + Activer le mode Flash

Maintenant nous allons placer notre ESP8266 en mode "Flashage Firmware". Cette opération est nécessaire aussi bien pour l'effacement de la mémoire Flash que pour le téléversement d'un nouveau FirmWare.

C'est un peu différent pour chaque carte ESP8266

Le cas général - Sans interface USB-Serie

ESP8266-HUZZA.png

  • Pour le module ESP8266 brute ou NodeMCU Lolin vous aurez besoin de brancher un bouton pour ramener le GPIO0 à la masse et un deuxième bouton pour ramener la broche RESET à la masse. Maintenez le bouton GPIO0 enfoncé (ou connectez le à la masse) ET pressez puis relachez le bouton RESET pendant que vous maintenez GPIO0 à la masse. Relâcher finalement la broche GPIO0.
  • Pour le breakout HUZZAH ESP8266 les boutons GPIO0 et RESET sont déjà inclus sur la carte. Maintenez le bouton GPIO0 enfoncé (ou connectez le à la masse) ET pressez puis relâchez le bouton RESET pendant que vous maintenez GPIO0 à la masse. Relâcher finalement la broche GPIO0.

Feather HUZZAH ESP8266, Wemos D1

Ces modules dispose de la possibilité d'activer automatiquement le Flash Mode au moment de la programmation. Cela évite des manipulation supplémentaires.

FEATHER-ESP8266-02.jpg Wemos-D1-Mini-ESP8266.jpg

Pour le Feather HUZZAH ESP8266, Wemos D1 Mini, Wemos D1 Pro c'est encore plus simple. Vous n'avez pas besoin de faire quoi que ce soit pour activer le mode "flashage Firmware". Cette carte est conçue pour détecter lorsque le port série est ouvert en vue de flasher le module. Il passe donc automatiquement en mode flashage en configurant automatiquement le module ESP8266 pour recevoir le firmware.

  • Sur Windows: vous devez préalablement installer le pilote CP210x de SiLabs on Windows pour rendre visible le port série de la carte.
    Sur Windows, il vaudra installer le pilote VCP standard (normal VCP driver) et non celui prenant en charge l'énumération des ports séries (with Serial Enumeration)
  • Sur MacOS X: le convertisseur USB-Serie devrait déjà être supporté.
  • Sur Linux: le convertisseur USB-Serie est déjà supporté.

ESP8266-DEV (uniquement)

Il est possible de programmer un module ESP8266-DEV en utilisant un câble console (USB-Série-TTL) exploitant des signaux en logique 3.3V .

Voici comment effectuer le raccordement.

OLI-ESP8266-DEV-Wiring.jpg

Pour activer le FlashMode sur un ESP8266-DEV (version Olimex):

  • Il faut presser le bouton GPIO 0 (le petit bouton bouton utilisateur présent sur l'ESP8266-DEV, qui est également branché sur le GPIO 0)
  • Puis mettre le module sous tension
  • Enfin relâcher le bouton GPIO 0.

ESP8266-EVB (Evaluation Board)

OLI-ESP8266-EVB.jpg

Pour activer le FlashMode sur un ESP8266-EVB (évaluation board d'Olimex), ESP8266-DEV (version Olimex):

  • Il faut presser le bouton GPIO 0 (le bouton utilisateur de l'ESP8266-EVB est également branché sur le GPIO 0)
  • Puis mettre le module sous tension
  • Enfin relâcher le bouton GPIO 0.

A noter que l'ESP8266-EVB et ESP8266-DEV ne disposent pas de convertisseur USB-Série, il faut donc utiliser un cable console (USB-Série-TTL) pour communiquer avec la carte ESP8266.

UEXT-SERIAL-wiring2.jpg UEXT-SERIAL-wiring.jpg

Effacer la Flash

Il est recommander d'effacer entièrement le contenu de la mémoire Flash d'une carte ESP8266 avant de téléverser un nouveau FirmWare. Exécutez le code suivant dans un terminal pour effectuer cette opération:

esptool.py --port /chemin/vers/ESP8266 erase_flash

/chemin/vers/ESP8266 est le chemin ou nom du port série connecté sur l'ESP8266. Le nom exacte du périhérique varie en fonction du type de convertisseur USB-vers-série. Lister vos port série avant de connecter le module ESP826 puis répétez l'opération avec le port série connecté. Le port qui vient d'apparaître est celui correspondant à votre ESP8266.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Flasher MicroPython

ESP8266 d'Adafruit Industries

Pour le breakout HUZZAH ESP8266 et le Feather HUZZAH ESP8266 + FTDI Friend:

FEATHER-ESP8266-02.jpg ESP8266-HUZZA.png

Remettez votre ESP8266 en "mode Flashage" et exécutez la commande suivante pour charger le nouveau firmware (celui que vous avez déjà téléchargé sur votre ordinateur):

esptool.py --port /chemin/vers/ESP8266 --baud 115200 write_flash --flash_size=detect -fm dio 0 firmware.bin

Encore une fois, /chemin/vers/ESP8266 est le chemin ou nom du port série connecté sur l'ESP8266. Remplacez firmware.bin avec le vrai nom (et chemin d'accès) du fichier firmware que vous voulez téléverser sur l'ESP8266.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

ESP8266 WEMOS D1 Mini

Pour le Wemos D1 dispose de 4MB de Flash comme pour la plupart des ESP8266 disponible sur le marché.

Wemos-D1-Mini-ESP8266.jpg

Exécutez la commande suivante pour charger le nouveau firmware (celui que vous avez déjà téléchargé sur votre ordinateur):

 esptool.py --port /chemin/vers/ESP8266 --baud 115200 write_flash --flash_size=detect -fm dio 0 firmware.bin

ESP8266 WEMOS D1 PRO

Pour le Wemos D1 Pro dispose de 16MB de Flash, la commande de Flash est donc différente:

Wemos-D1-Pro-Mini-ESP8266.jpg

Exécutez la commande suivante pour charger le nouveau firmware (celui que vous avez déjà téléchargé sur votre ordinateur):

esptool.py --port /chemin/vers/ESP8266 --baud 115200 write_flash --fm dio --fs=32m 0 firmware.bin

ESP8266-EVB & ESP8266-DEV

Pour le ESP8266-EVB evaluation board et ESP8266-DEV carte de développement placée sur la carte ESP8266-EVB:

OLI-ESP8266-EVB.jpg OLI-ESP8266-DEV.jpg

Exécutez la commande suivante pour charger le nouveau firmware (celui que vous avez déjà téléchargé sur votre ordinateur):

 esptool.py --port /chemin/vers/ESP8266 --baud 115200 write_flash --flash_size=detect -fm dio 0 firmware.bin

Appliquer un cycle d'alimentation sur l'ESP8266-EVB pour réinitialiser la plateforme.

Après le Flash

Pressez le bouton RESET de votre carte une fois que l'outil à terminé le flashage du Firmware (la LED bleue clignote durant le flashage). Si vous ne possédez pas de bouton RESET, vous pouvez également déconnecter et reconnecter l'ESP8266 sur votre ordinateur.

Voila, vous venez de flasher votre ESP8266 avec la dernière version du firmware MicroPython!

Vous pouvez sauter sur la section REPL série de ce guide pour apprendre comment obtenir l'invite de commande de votre carte MicroPython.

Ressources

Messages d'erreur

J'ai le message d'erreur "read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?" !

Nous avons rencontré ce problème lorsque le câble console était branché sur un HUB USB externe. Essayez de brancher le câble console directement sur l'ESP8266.

Mise-à-jour d'EspTool

Les firmwares récents nécessitent une version récente d'EspTool pour être flasher l'ESP8266.

Pour notre grand malheur, nous avons essayé de flasher un firmware 1.8.x avec un EspTool 1.0.1. Inutile de dire que nous n'avons plus grand chose de fonctionnel sur notre ESP8266 !

Un upgrade d'EspTool à la version la plus récente (2.0.1 en l’occurrence, voir ici sur pypi.python.org) à résolu notre problème grâce à l'option --flash_size=detect

Pour forcer la mise-à-jour d'EspTool à une version donnée, il faut saisir:

sudo apt-get install esptool==2.0.1

Plus d'info

Voyez la page "MicroPython ESP8266 tutorial - deploying".


Source: MicroPython Basics: How to Load MicroPython on a Board
Créé par Tony DiCola pour AdaFruit Industries.

Traduit par Meurisse D. pour MCHobby

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com