Ceci est une ancienne révision du document !
MicroPython est une implémentation légère et compacte de l' interpréteur Python 3. Il inclus un petit sous ensemble de la bibliothèque standard Python et est optimisé pour s'exécuter sur microcontrôleur ( tel qu'un ESP32) ou en environnement contraint (en ressources matérielles). Le cœur Micropython utilise 256Ko d'espace en flash et 16 Ko de RAM.
Un pyboard MicroPython est un circuit électronique sur lequel a été flashé Micropython. Il s'y exécute directement (bare metal) et offre alors via son environnement interactif et ses fonctionnalités l'équivalent d'un système d'exploitation bas niveau permettant de gérer tous types de projets électroniques; d'ajouter et de modifier facilement des scripts qui seront interprétés (il intègre et gère un système de fichiers).
MicroPython est un langage de haut niveau facilement lisible et intégrant de fonctionnalités modernes et avancées telles qu'un environnement interactif (REPL), la gestion des nombres flottants, les listes et dictionnaires, des générateurs, la gestion des exceptions etc.
L'environnement REPL de python offre aux phases de conceptions et aux tests une grande réactivité/souplesse/facilité de réalisation.
Pour les performances, il est possible de créer des modules en C et en assembleur.
Il va falloir:
Récupérer la dernière version du firmware sur:
Le firmware doit être flashé sur l'ESP via esptool le programme du constructeur (Espressif))
création d'un environnement virtuel Python
Si Micropython est installé pour la première fois, il faut effacer entièrement la mémoire flash
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
Le firmware peut alors être installé:
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-20190125-v1.10.bin
Micropython est écrit en C99, il est sous licence open source. les sources sont disponibles sur github
Il faut maintenant interagir avec Micropython s’exécutant sur le microcontrôleur ESP32. Le REPL Micropython est disponible via le port série: il faut donc un programme capable de lire/écrire sur le port série: