Un module est un ensemble de fonctions et d’objets qu’on charge avec import pour s’en servir. En MicroPython, tout l’accès au matériel passe par des modules (machine, time…), et l’on peut aussi organiser son propre code en plusieurs fichiers, chacun devenant un module. Cette fiche couvre les deux formes d’import, les modules intégrés utiles, ses propres fichiers, et l’installation de bibliothèques.
Deux façons d’importer
import machine # importe tout le moduleled = machine.Pin("LED", machine.Pin.OUT)
ou, plus court, en important seulement ce dont on a besoin :
La seconde forme est la plus courante dans les exemples. Les deux sont équivalentes. Elles diffèrent par la façon de nommer ensuite (machine.Pin vs Pin).
Les modules intégrés utiles
MicroPython embarque un sous-ensemble de la bibliothèque Python, plus des modules propres à l’embarqué :
machine — l’accès au matériel : Pin, ADC, PWM, I2C, SPI, UART, Timer, WDT… le module central de tout le module ;
time — pauses et chronométrage : sleep, sleep_ms, ticks_ms (voir temporiser) ;
network — le Wi-Fi, sur les cartes qui en ont (Pico 2 W, ESP32) ;
math, random, json, os — calcul, aléa, sérialisation, système de fichiers.
dir(machine) au REPL liste ce qu’offre un module : c’est le réflexe pour explorer sans documentation.
Organiser son code en plusieurs fichiers
Tout fichier .py enregistré sur la carte est importable comme module : son nom est le nom du fichier sans .py. Par exemple, un fichier outils.py sur la carte :
C’est ainsi qu’on range un projet qui grossit : un fichier par responsabilité, importés dans main.py.
Installer une bibliothèque
Pour un capteur ou un écran, une bibliothèque MicroPython existe souvent. Deux voies :
mip — le gestionnaire de paquets MicroPython : depuis une carte connectée au réseau, import mip; mip.install("nom") télécharge la bibliothèque. Thonny propose aussi Outils → Gérer les paquets.
Copie manuelle — télécharger le .py de la bibliothèque et l’enregistrer sur la carte (comme un fichier de plus), puis l’importer.
import machine ≠ from machine import Pin. Avec le premier, on écrit machine.Pin. Avec le second, Pin. Mélanger les deux noms provoque une erreur de nom.
Le module doit être sur la carte.import outils ne marche que si outils.py est enregistré sur le Pico, pas seulement ouvert dans Thonny. Vérifier qu’il est bien dans les fichiers de la carte.
Ne pas écraser un nom intégré. Nommer son fichier time.py ou machine.pymasque le module intégré du même nom : import time chargerait alors votre fichier. Choisir des noms distincts.
MicroPython n’a pas toute la bibliothèque Python. C’est un sous-ensemble : certains modules de CPython sont absents ou allégés. Vérifier au REPL (import ...) avant d’en dépendre.
Exercices
Exercice 1 — Deux écritures pour la même LED
Allumez la LED de deux façons : d’abord avec import machine, puis avec from machine import Pin. Qu’est-ce qui change dans le code ?
outils.py devient un module importable parce qu’il est sur la carte. Découper ainsi un projet en fichiers le rend lisible et réutilisable : c’est la base de l’organisation d’un firmware qui grandit.