{{tag>dev esp8266 devkit flash firmware}}
====== DevKit ESP8266: Flasher firmware Espressif ======
Les firmwares pré-compilés par Espressif sont disponibles sur la page du constructeur:
* https://www.espressif.com/en/products/socs/esp8266ex/resources
* Télécharger et décompresser la version souhaitée. Ici on récupère **ESP8266 NonOS AT Bin V1.7.4**.
* Brancher la carte (Devkit) sur un port USB, et relever le nom du port dans les journaux système:
journalctl -k --since "1 minutes ago"
-- Logs begin at Tue 2021-01-05 18:32:35 CET, end at Tue 2021-01-05 21:02:43 CET. --
janv. 05 21:02:40 node-7fab kernel: usb 1-1: new full-speed USB device number 6 using xhci_hcd
janv. 05 21:02:40 node-7fab kernel: usb 1-1: New USB device found, idVendor=1a86, idProduct=7523, bc>
janv. 05 21:02:40 node-7fab kernel: usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
janv. 05 21:02:40 node-7fab kernel: usb 1-1: Product: USB Serial
janv. 05 21:02:40 node-7fab kernel: ch341 1-1:1.0: ch341-uart converter detected
janv. 05 21:02:40 node-7fab kernel: usb 1-1: ch341-uart converter now attached to ttyUSB0
Dans mon cas, l'UART du DevKit (ch341) est associée au fichier périphérique /dev/tyUSB0.
Un environnement virtuel Python est utilisé pour l'outil de flashage **esptool**, on active l'environnement
source source /usr/local/share/esptool/bin/activate
# Effacer la mémoire FLASH
esptool.py --port /dev/ttyUSB0 erase_flash
La commande suivante flashe le firmware
esptool.py --chip esp8266 --port /dev/ttyUSB0 --baud 115200 write_flash -fm dio -fs 4MB 0x00000 boot_v1.7.bin 0x01000 at/1024+1024/user1.2048.new.5.bin 0x1fc000 esp_init_data_default_v08.bin 0xfe000 blank.bin 0x1fe000 blank.bin
Le flashage du firmware est terminé, on peut quitter l'environnement virtuel Python:
deactivate
===== Test =====
On essayer maintenant de se connecter en série via [[dev:iot:esp8266:communication_serie_via_minicom|minicom]], cutecom ou le moniteur série de l'IDE Arduino et envoyer des commandes AT:
AT
AT+GMR