Screen

Screen est un terminal série en ligne de commande (du projet GNU). L'intérêt de screen, au delà de son usage avec Micropython, est la possibilité de "détacher" des sessions différentes.

C'est un outil plutôt robuste et simple à utiliser.

La connexion se fait simplement avec la commande saisie dans un terminal système :

screen /dev/ttyACM0

On obtient :

MicroPython v1.14-80-g75db0b907 on 2021-02-22; PYBv1.1 with STM32F405RG
Type "help()" for more information.
>>>

Note

Ce qui est cool avec cette commande, c'est qu'on obtient un prompt Python dans le terminal système comme on l'aurait pour le Python du système lui-même. Sauf qu'ici, c'est bel et bien avec le "moteur MicroPython" de la carte avec qui on est en interaction.

Adapter le chemin de la carte à votre situation. Au besoin, pour voir les ports série actifs, faire :

ls /dev/tty*

Un petit défaut de screen est de ne pas pouvoir remonter dans l'historique du shell en cas de sortie longue, ce que permet par contre rshell en mode repl

Bon à savoir

Si on a pas le prompt >>> directement...

Il suffit de saisir ou faire un reset avec CTRL+B

Si on a un message d'erreur...

Cela peut arriver si on a lancé précédemment une connexion avec screen qui s'est mal fermée ou autre. Pour cela, il suffit de fermer toutes les sessions screen existantes avec la commande :

killall screen

Puis resaisir la commande de connexion.

Liens utiles