Micro:bit - Session REPL et flashage en ligne de commande

Chez MC Hobby, nous sommes très accros au développement sous MicroPython et cette fois, nous nous attaquons à MicroPython sur Micro:bit.
Micro:bit sous MicroPython

Nous avions déjà introduit le programme mu Editor (MicroPython Editor for Micro:bit) qui facilite l'édition du code sur Micro:bit.

Par contre nous avons aussi un faible pour RShell, un outils puissant en ligne de commande. Cependant RShell ne fonctionne pas avec Micro:bit (Harg!!!).

Que faire dans ce cas?
Attention: cet article concerne principalement l'utilisation sous Linux
Flasher MicroPython sur le Micro:bit
Pour commencer, il faut flasher MicroPython sur Micro:bit.
Le plus simple, c'est de se rendre sur l'éditeur Python de Microbit.org ( http://python.microbit.org/v/1 ) et télécharger le programme par défaut. Programme (fichier) HEX que vous copierez sur le Micro:bit.
x

Voila, le Micro:bit affiche, en boucle, le message "Hellon World!" puis un coeur.

Obtenir une session REPL
Une fois MicroPython flashé sur votre Micro:bit, le programme screen permet d'obtenir une session REPL sur le Micro:bit.
Une fois connecté sur le port USB, le Micro:bit est normalement associé au périphérique /dev/ttyACM0

Pour ouvrir une session repl, saisir la commande suivante dans un terminal:

screen /dev/ttyACM0 115200

Pour utiliser REPL sur le Micro:bit il faut absolument arrêter le programme en cours d'exécution en pressant Ctrl-C .

Vous pouvez maintenant saisir le code suivant pour tester votre session REPL.

>>> from microbit import *
>>> display.show(Image.HAPPY)

Exemple de session REPL sur Micro:bit
MicroPython, Micro:bit et les fichiers
Il est possible d'utiliser du code MicroPython pour écrire des fichiers de données dans la flash du MicroBit (même si il y a très peut d'espace disponible).

>>> f = open( 'data.txt', 'w' )
>>> f.write('this is my test file \n')
22
>>> f.write('And the second line' )
19
>>> f.close()
>>> import os
>>> os.listdir()
['data.txt']

Le bonne nouvelle, c'est que fichier écrit dans la flash du Micro:bit résiste au reset et mise hors tension du Micro:bit.

uFlash (micro Flash)
uFlash permet de flasher un script MicroPython sur votre Micro:bit. uFlash permet de flasher MicroPython + le script en préparant un fichier HEX fichier HEX qui sera expédié sur le Micro:bit.

$ uflash my_script.py
Flashing Python to: /media/ntoll/MICROBIT/micropython.hex

Vous pouvez facilement installer uFlash avec la commande pip suivante:
https://github.com/ntoll/uflash

Documentation MicroPython pour Micro:bit

Bien que déjà mentionné dans de précédents articles, le site "Read the docs" contient des informations détaillées sur l'API MicroPython pour Micro:bit