Premiers pas
Guide de démarrage rapide pour la carte STeaMi avec MicroPython.
Connecter la carte
- Brancher la carte STeaMi à l'ordinateur via le câble micro-USB
- La carte apparaît comme :
- Un disque USB (STEAMI) — pour le drag-and-drop de firmware
- Un port série (CDC) — pour la communication REPL
Installer mpremote
mpremote est l'outil officiel MicroPython pour interagir avec la carte depuis le terminal.
pip install mpremote
Vérifier la connexion :
mpremote connect list
Premier programme
Méthode 1 : REPL interactif
Ouvrir un terminal REPL sur la carte :
mpremote repl
Taper du code Python directement :
from machine import I2C
i2c = I2C(1)
print(i2c.scan())
Cela affiche la liste des adresses I2C des périphériques connectés sur le bus interne.
Méthode 2 : Exécuter un script
Créer un fichier hello.py :
from machine import I2C
i2c = I2C(1)
devices = i2c.scan()
print(f"Périphériques I2C détectés : {len(devices)}")
for addr in devices:
print(f" 0x{addr:02X}")
L'exécuter sur la carte :
mpremote run hello.py
Lire un capteur
Exemple : lire l'accéléromètre ISM330DL sans installation permanente. Depuis la racine d'un clone de micropython-steami-lib :
mpremote mount lib/ism330dl run lib/ism330dl/examples/basic_read.py
Contenu de lib/ism330dl/examples/basic_read.py :
from time import sleep_ms
from ism330dl import ISM330DL
from machine import I2C
i2c = I2C(1)
imu = ISM330DL(i2c)
print("ISM330DL example: basic read")
print()
while True:
ax, ay, az = imu.acceleration_g()
gx, gy, gz = imu.gyroscope_dps()
temp = imu.temperature()
print(
"A[g]=({:+.2f},{:+.2f},{:+.2f}) "
"G[dps]=({:+.1f},{:+.1f},{:+.1f}) "
"T={:.1f}°C".format(
ax, ay, az,
gx, gy, gz,
temp
)
)
sleep_ms(500)
Installer un driver
Temporaire (mpremote mount)
Monter le dossier du driver et exécuter un script :
mpremote mount lib/ism330dl run lib/ism330dl/examples/basic_read.py
Le driver est disponible pendant l'exécution mais pas stocké sur la carte.
Permanent (copier sur la carte)
Copier le driver sur le système de fichiers de la carte :
mpremote cp -r lib/ism330dl/ism330dl :lib/
Le driver est alors disponible en permanence, même après redémarrage.
Limite RAM
Le STM32WB55 dispose de 256 Ko de RAM. L'utilisation simultanée de plusieurs drivers peut saturer la mémoire. Quelques conseils :
- Ne charger que les drivers nécessaires
- Utiliser
gc.collect()régulièrement - Préférer
mpremote mountpour le développement (pas de copie sur la flash interne)
Voir issue #175 pour plus de détails.
Étapes suivantes
- MicroPython — Installation du firmware, conventions API, tutoriels par composant
- DAPLink — Firmware interface, protocole I2C, flash externe
- Hardware — Description détaillée du matériel