Comment (ré)installer le firmware MicroPython sur un ESP8266 ou ESP32 avec le script esptool.py

Dans le tutoriel précédent, nous avons pu tester le firmware MicroPython qui est maintenant pré-installé par défaut sur la Wemos LoLin32 Lite. Le firmware MicroPython est disponible pour de nombreux micro-contrôleurs. Les cartes de développement pyBoard (les cartes dédiées au MicroPython), les carts WiPy, les cartes à base de STM32 (STM32F4), les cartes Nucleo et Espruino Pico et enfin les cartes de développement ESP8266 et ESP32. Pour télécharger le dernier firmware qui correspondant à votre carte, rendez-vous le site officiel du projet MicroPython sur cette page.

Installer esptool

Pour installer le firmware MicroPython sur votre carte, vous aurez besoin des outils esptool d’Espressif. Si vous avez déjà python (pour le savoir, il suffit d’exécuter la commande python –version dans le Terminal ou l’invite de commande sur Windows), exécutez simplement la commande

pip install esptool

Pour en savoir plus sur l’outil en ligne de commande esptool, vous pouvez lire cet article.

Flasher le firmware MicroPython sur une carte ESP8266 ou ESP32

Si ce n’est pas encore fait, allez sur cette page pour télécharger la dernière version du firmware pour ESP8266 ou ESP32. On télécharge directement un fichier binaire qu’il va nous suffire de téléverser sur la carte à l’aide d’un câble USB.

Ici, je vous propose de (ré)installer le firmware sur une carte ESP32. Pour l’ESP32, c’est simple, il n’y a qu’un seul binaire disponible. Pour les cartes ESP8266, il y a trois firmwares différents :

  • La dernier build (dernière compilation), aussi nommé latest
  • Une version avec le mode debug activé par défaut et WebRPL désactivé
  • Une version pour les anciens ESP8266 avec seulement 512KB de mémoire flash

Un fois téléchargé, ouvrez le Terminal (Linux et macOS) ou l’invite de commande sous Windows (ou PowerSheel) puis branchez la carte. Exécutez la commande ls /dev/tty*  sous Linux ou macOS et mode  sous Windows pour identifier le port USB sur lequel la carte est branchée. Ici, un exemple sur un Mac Mini (le port bluetooth est affiché)

ls /dev/tty*
/dev/tty.Bluetooth-Incoming-Port
/dev/tty.wchusbserial1440
...
Si la carte n’est pas visible, c’est que vous devez installer le driver CH341 sur votre machine, suivez ce tutoriel pour cela et revenez après.

La première chose à faire est d’effacer la mémoire flash de la carte, pour cela exécutez cette commande en remplaçant le port USB par le votre

esptool.py --port /dev/tty.wchusbserial1440  erase_flash

Placez vous dans le répertoire de téléchargement (cd ~/Downloads/) puis lancez l’installation du firmware avec la commande suivante. N’oubliez pas de remplacer le port COM et le nom du firmware avant de l’exécuter.

esptool.py --port /dev/tty.wchusbserial1440  --baud 460800 write_flash --flash_size=detect 0 esp32-20171130-v1.9.2-445-g84035f0f.bin

L’installation débute immédiatement et ne prend environ 15 secondes.

esptool.py v2.2-dev
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 936288 bytes to 587495...
Wrote 936288 bytes (587495 compressed) at 0x00000000 in 14.2 seconds (effective 529.2 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting...

Il ne nous reste plus qu’à vérifier que tout fonctionne bien en se connectant avec rshell présenté dans le tutoriel précédent.

rshell --buffer-size=30 -p /dev/tty.wchusbserial1440
Remarque. Si vous n’arrivez pas à vous connecter avec rshell, pas le choix, il faudra redémarrer l’ordinateur ou le Raspberry Pi !

 

 

 

 

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous désinscrire à tout moment.

Promos à ne pas louper

Tags :

3
Poster un Commentaire

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  S’abonner  
Notifier de
Olivier Galand

Bonjour et merci pour le tuto, je rajoute une information, j’ai essaye de flasher une carte de dev ESP32 le 21/12/2018 avec le dernier firmware micropython et au reboot j’ai l’erreur :

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000

Apres recherche sur le net il faut changer l’offset de depart de la commande esptool.py flash_write (changer le 0 en 0x1000)

ex : esptool.py –port COM5 –baud 460800 write_flash –flash_size=detect 0x1000 esp32-20181221-v1.9.4-759-g5ed578e5b.bin

source : https://github.com/micropython/micropython-esp32/issues/130 (dpgeorge commented on 26 Jul 2017)

Merci beaucoup pour le retour 😀 effectivement ça ne s’invente pas

oliviergaland yes but

Domotique et objets connectés à faire soi-même