Aller au contenu principal

Premiers pas

Guide de démarrage rapide pour la carte STeaMi avec MicroPython.

Connecter la carte

  1. Brancher la carte STeaMi à l'ordinateur via le câble micro-USB
  2. 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 mount pour 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