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
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
- https://www.cyberciti.biz/hardware/5-linux-unix-commands-for-connecting-to-the-serial-console/
- https://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/
- https://www.howtogeek.com/662422/how-to-use-linuxs-screen-command/
- fermer proprement ? https://unix.stackexchange.com/questions/180900/terminate-screen-monitoring-serial-port