CentraleSupélecDépartement informatique
Plateau de Moulon
3 rue Joliot-Curie
F-91192 Gif-sur-Yvette cedex
Développer en Micropython pour la pyboard

Utiliser un éditeur capable de se connecter à la pyboard

La solution la plus simple (surtout sous Windows) est d'utiliser un éditeur comme Thonny qui permet de choisir l'interpréteur Python à utiliser et supporte la pyboard et les cartes ESP32 et BBC micro:bit.

Dans le menu Run, choisissez Configure interpreter et sélectionnez Micropython (generic) et le port série dont le nom débute par Pyboard Virtual Comm Port in FS Mode.

Vous devriez alors voir s'afficher dans longlet Shell de Thonny un texte similaire à ce qui suit :

MicroPython v1.21.0 on 2023-10-06; PYBv1.0 with STM32F405RG
Type "help()" for more information.
>>> 

Se connecter à l'interpréteur Python de la pyboard en ligne de commande

Pour savoir comment démarrer avec la pyboard sur votre ordinateur, consultez :

La pyboard apparaît également comme un port série, en général /dev/ttyACM0 sous Linux. Vous pouvez vous y connecter à l'aide du programme minicom, mais le plus simple est d'utiliser la commande pyterm qui est disponible sur github. Dans un terminal, tapez : pyterm suivi de la touche return. Vous devez obtenir un résultat similaire à ce qui suit :

Bienvenue avec minicom 2.7

OPTIONS: I18n
Compilé le Jan  1 2014, 17:13:19.
Port /dev/ttyACM0, 17:42:54

Tapez CTRL-A Z pour voir l'aide concernant les touches spéciales

Micro Python v1.4.4 on 2015-06-24; PYBv1.0 with STM32F405RG
Type "help()" for more information.
>>> 

Si ce n'est pas le cas, il est possible que la pyboard soit en train d'exécuter un programme. Vous pouvez arrêter son exécution en tapant Ctrl-C (appuyez sur la touche Ctrl, puis sur la touche C en gardant Ctrl enfoncée). Si l'invite de commande comporte un seul chevron > au lieu de trois comme montré ci-dessus, c'est que l'interpréteur est en mode brut. Pour sortir de ce mode, tapez Ctrl-B.

Une fois connecté à l'interpréteur, vous pouvez exécuter des commandes Python 3. L'indentation se fait uniquement avec des espaces, les tabulations ne sont pas acceptées.

Par exemple, tapez le code suivant, chaque ligne étant terminée avec la touche return :

2+3
2/3

Vous pouvez également accéder aux LED de la pyboard :

import pyb
led = pyb.LED(2)
led.on()

L'inconvénient de ce mode est que vous devez tout retaper en cas d'erreur, l'historique des commandes (avec les flèches vers le haut et vers le bas) étant très limité.

Pour fermer la connexion à la pyboard et quitter le programme pyterm, tapez :

  • Ctrl-A suivi de X si vous êtes connecté avec minicom (sous MacOS, remplacez Ctrl-A@ par ESC@@)
  • Ctrl-A suivi de Ctrl-X si vous êtes connecté avec picocom.
  • Ctrl-A suivi de :quit si vous êtes connecté avec screen.

Exécuter sur la pyboard un fichier stocké sur votre ordinateur

C'est la manière de procéder que nous vous recommandons pour programmer la pyboard.

Éditez votre programme (avec Eclipse, JEdit, gedit ou PyCharm par exemple), et enregistrez-le dans vos documents (vous pouvez créer un dossier correspondant à cette séance). Dans le terminal, utilisez la commande cd pour vous placer dans ce dossier. Par exemple cd Documents/BEPython. Utilisez ensuite la commande pyload pour charger votre fichier sur la pyboard : pyload be3.py.

Attention : vous ne pouvez pas utiliser pyterm et pyload en même temps car les deux programmes utilisent la même connexion série à la pyboard. Vous devez donc sortir de pyterm avant d'utiliser pyload, et attendre que pyload termine, ou le tuer avec Ctrl-C, avant de pouvoir vous connecter avec pyterm.

Exemple

Tapez le code suivant dans un fichier leds.py :

import pyb

led = []
for i in range(4):
  led.append(pyb.LED(i+1))

def main():
  idx = 0
  while True:
	led[idx].on()
	pyb.delay(200)
	led[idx].off()
	idx = (idx + 1) % 4

main()

puis, dans le terminal, tapez pyload leds.py

Vous devez voir les LEDs de la pyboard s'allumer successivement.

Tapez Ctrl-C pour arrêter le programme pyload. Votre programme Python continue à s'exécuter sur la pyboard. Pour l'arrêter, connectez vous à la pyboard à l'aide de pyterm. Tapez Ctrl-C pour arrêter votre programme, puis Ctrl-B pour sortir du mode brut. Vous avez de nouveau la main. Vous pouvez notamment allumer et éteindre les LEDs an tapant par exemple led[0].on() pour allumer la LED rouge. Votre programme est toujours dans la mémoire de la pyboard, vous pouvez le relancer en appelant la fonction main().