Mon premier programme

Après vous être amusé avec REPL vous vous demanderez sans doute comment faire pour ne pas avoir à retaper vos instructions à chaque fois. C'est assez facile. Tout ce qu'il vous faut c'est un éditeur de texte.
La pyboard est accessible comme lecteur de carte flash et avec un programme de type Explorer vous verrez le fichier main.py. C'est le fichier Python qui s'exécute à la réinitialisation de la pyboard (matérielle à l'aide du poussoir RST ou logicielle par la commande Ctrl-D). Ouvrez ce fichier à l'aide d'un éditeur de texte et ajoutez-y vos commandes. Lorsque c'est fait, enregistrez le fichier et réinitialisez la carte pour lancer votre programme.

Comment sortir d'une impasse

Ne craignez pas d'être créatif, essayez et corrigez vos erreurs. Si vous arrivez à déstabiliser le système au point que rien ne semble plus fonctionner, il y a deux procédures qui devraient pouvoir vous aider : le mode protégé et l'initialisation des paramètres d'usine. En mode protégé, les fichiers boot.py et main.py ne sont pas exécutés, ce qui vous donne accès au système de fichiers (le lecteur USB devrait apparaître). Vous pouvez alors modifier boot.py et main.py pour corriger les problèmes.

L'initialisation des paramètres par défaut (Factory reset) va un peu plus loin. Elle supprime tous les fichiers de l'espace de stockage interne de la pyboard (et non pas la carte SD), et restaure l'état d'origine des fichiers boot.py, main.py, README.txt et pybcdc.inf. En réappuyant sur RST vous vous retrouvez où vous avez démarré : au début de cet article.

Je veux en savoir plus !

Le site MicroPython fournit des tutoriels intéressants qui montrent comment utiliser les périphériques de la pyboard. Il est fortement recommandé de les lire, vous gagnerez beaucoup de temps. Ils présentent également des techniques avancées comme la combinaison de l'assembleur avec uPy. Gardez présent à l'esprit que ces tutoriels concernent la pyboard et que les techniques présentées ne fonctionnent pas nécessairement de la même manière sur d'autres cartes.

Vous n'êtes pas le seul à faire des erreurs

Au début de l'apprentissage de l'écriture de programmes uPy, vous rencontrerez évidemment votre lot d'erreurs et de maladresses. L'une des plus communes et des plus frustrantes c'est l'oubli de la touche de tabulation. Parfois aussi, vous pensez l'avoir utilisée, mais en réalité ce n'était pas le cas. Rappelez-vous que Python nécessite une indentation et que le seul caractère accepté est la tabulation. De nombreux éditeurs les remplacent à votre insu par des espaces. C'est pourquoi il faut vous assurer que ce n'est pas le cas. Le logiciel libre Notepad++ et un bon éditeur qui conserve les tabulations et met en évidence la syntaxe Python.

En dehors des problèmes d'indentation, Python peut également présenter quelques problèmes de compatibilité. MicroPython a été porté depuis Python, mais le portage n'est pas parfait. Sur le site uPy vous trouvez une liste des différences entre CPython (l'implémentation de référence de Python) et uPy. Donc si un jour vous rencontrez une erreur étrange sur un code supposé fonctionner, rappelez-vous de consulter cette liste.

Conclusion

MicroPython et la pyboard sont un moyen distrayant et bon marché d'accéder à la programmation embarquée et d'apprendre le langage Python progressivement. Toutes les fonctions promises durant la campagne Kickstarter ont été développées, même les plus étendues. Le site uPy avec ses bons tutoriels n'est pas forcément mis à jour rapidement, en cas de doute, consultez les pages du project sur GitHub.