Comment (ré)installer le firmware MicroPython sur un ESP8266 ou ESP32 avec le script esptool.py • Domotique et objets connectés à faire soi-même

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

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

Avez-vous aimé cet article ?

[Total: 0 Moyenne: 0]