MicroPython

Cet article explique comment installer le firmware MicroPython sur l’ESP32 pour pouvoir programmer en Python une carte ESP32.

Micro Python ?

MicroPython est une implémentation écrite en C du langage Python adapté pour les microcontrôleurs comme les ESP8266 et les ESP32.

Installation du firmware MicroPython

Installer esptool

Pour installer le firmware MicroPython sur votre carte, vous aurez besoin de l’outil esptool d’Espressif.

Indication

Si vous utilisez Arduino IDE pour programmer l’ESP32, vous avez déjà esptool installé.

Sinon pour installer esptool, il faut avoir python installé et taper dans l’invite de commande

pip install esptool

Installer MicroPython

Pour installer le firmware MicroPython, suivez les étapes suivantes :

../_images/mp15.jpg

Choisissez la version stable

Note

Pour pouvoir utiliser les 4 Mo de RAM supplémentaires de la carte uPesy ESP32 Wrover DevKit, il faut choisir la version GENERIC-SPIRAM (Téléchargement direct)

  • Ensuite, on utilise esptool pour flasher le firmware sur la carte ESP32 :
    • Si vous avez Arduino IDE pour programmer l’ESP32, il suffit d’aller dans le dossier où il y a esptool : C:\Users\VOTRENOM\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\2.6.1

      ../_images/mp1.jpg

      Dossier d’Arduino IDE qui contient esptool

      On copie le firmware dans ce dossier

      ../_images/mp2.jpg

      Il faut ensuite ouvrir l’invite de commande (CMD) dans ce dossier pour pouvoir utiliser esptool. Il suffit de taper « cmd » dans la barre de navigation :

      ../_images/mp3.jpg

      Un terminal est censé apparaitre :

      ../_images/mp4.jpg

      Pour connaître le port COM de la carte ESP32, brancher la carte et aller dans le Gestionnaire des périphériques

      ../_images/mp7.jpg

      Taper « gestionnaire des périphériques » dans la barre de recherche Windows

      Regarder le numéro de COM dans l’onglet « Ports (COM et LPT) »

      ../_images/mp8.jpg

      Ici c’est le COM8

      Ensuite, on rentre la commande dans le terminal qui permet de flasher le firmware avec esptool et on appuie sur Entrée :

      Avertissement

      Il faut penser à changer le numéro de port COM et écrire correctement le nom du fichier binaire à la fin.

      esptool.exe --chip esp32 --port COM8 --baud 460800 write_flash -z 0x1000 esp32spiram-idf3-20191220-v1.12.bin
      

      Astuce

      Appuyer sur la touche tabulation pour écrire le nom du fichier binaire automatiquement

      ../_images/mp6.jpg

      Téléversement du firmware avec esptool

    • Si vous avez installé esptool manuellement, il faut taper cette commande en précisant le chemin vers votre fichier binaire (ici dans Téléchargements)

    esptool.py --chip esp32 --port COM8 --baud 460800 write_flash -z 0x1000 C:\Users\VOTRENOM\Downloads\esp32spiram-idf3-20191220-v1.12.bin
    

Le firmware Micro Python est maintenant installé sur votre carte ESP32.

Installer un IDE compatible

Il faut maintenant installer un IDE pour pouvoir écrire le programme et l’envoyer à l’interpréteur Micro Python sur la carte ESP32.

Pour les débutants, les IDE les plus utilisés sont Mu , Thonny IDE ou encore uPyCraft . Nous allons utiliser Mu dans ce tutoriel.

Installer Mu

Mu est un IDE spécialement conçu pour programmer avec Micro Python sur des micro contrôleurs (Micro Bit, ESP8266, ESP32)

L’Installation de Mu est très simple, il suffit :
  • De télécharger la dernière version Alpha (qui supporte l’ESP32) sur le site officiel

../_images/mp9.jpg

Télécharger la dernière version alpha qui supporte l’ESP32

Télécharger directement la bonne version ici

  • D’installer le fichier .exe

../_images/mp10.jpg

Installation de Mu

  • Lorsque vous ouvrez Mu, vous obtenez cette interface :

../_images/mp11.jpg

Interface simpliste de Mu

  • Brancher votre carte ESP32, et vérifier que le mode choisi est bien « ESP MicroPython »

../_images/mp12.jpg

Mode ESP MicroPython

  • Si vous appuyez sur le bouton « REPL », l’interpréteur MicroPython de votre carte apparaît :

../_images/mp14.jpg

Mode ESP MicroPython

Votre premier programme MicroPython

Ce premier programme MicroPython affiche un message dans la console et fait clignoter la led bleue (sur le GPIO2) de la carte ESP32.

import time
from machine import Pin

print("Hello World")
p2 = Pin(2,Pin.OUT)

while True:
    p2.on()
    time.sleep_ms(500)
    p2.off()
    time.sleep_ms(500)

Pour lancer le script, il suffit d’appuyer sur le bouton « Lancer ».

Note

L’exécution du code est instantanée !

../_images/mp13.jpg

Premier Programme MicroPython

Outils avancés

On peut avoir un terminal à distance sur notre carte ESP32 avec RSHELL. L’installation et l’utilisation sont disponibles sur la page Github de l’outil. On peut aussi stocker les scripts Python directement dans la flash de l’ESP32.

Ce tutoriel (en anglais) explique comment utiliser RSHELL :

Unexpected Maker a fait une série de tutoriels pour utiliser MicroPython sur l’ESP32 :