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 :
- https://github.com/Frederic-soft/Micropython si vous êtes sous Linux ou MacOS
- https://wdi.centralesupelec.fr/boulanger/MicroPython/TutorialPyboard dans tous les cas
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 deX
si vous êtes connecté avecminicom
(sous MacOS, remplacezCtrl-A@ par
ESC@@)Ctrl-A
suivi deCtrl-X
si vous êtes connecté avecpicocom
.Ctrl-A
suivi de:quit
si vous êtes connecté avecscreen
.
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
:
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()
.