{{tag>dev esp esptool firmware flash iot}}
====== esptool: Flasher le firmware sur ESP ======
**esptool** est l'outil en ligne de commande développé par **Espressif** permettant de flasher le firmware de son choix sur les microcontrôleurs de la gamme ESP:
* ESP8266
* ESP32
===== Installation =====
La version stable est disponible sur le gestionnaire de packetage Python pip. Créer un environnement virtuel Python:
$ cd /usr/local/share
$ sudo python3 -m venv esptool
$ sudo chown -R username:username esptool/
$ cd esptool
$ source bin/activate
$ pip3 install wheel
$ pip3 install esptool
===== Flasher un firmware =====
Notes détaillées concernant le flashage de firmwares:
* Flasher le firmware ESP IDF-AT sur ESP8266
===== Troubleshooting =====
Lors de l'installation en environnement virtuel, des messages d'erreurs du type suivant sont retournés:
Building wheel for esptool (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/share/esptool/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-voaybiok/esptool/setup.py'"'"'; __file__='"'"'/tmp/pip-install-voaybiok/espto
ol/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-w
heel-iq4ohvd9
cwd: /tmp/pip-install-voaybiok/esptool/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
Le module wheel est nécessaire:
pip3 install wheel
==== Sources ====
* https://stackoverflow.com/questions/34819221/why-is-python-setup-py-saying-invalid-command-bdist-wheel-on-travis-ci
===== Références =====
* https://docs.espressif.com/projects/esp-at/en/latest/Get_Started/Downloading_guide.html
* https://github.com/espressif/esptool