Python est un langage de programmation de plus en plus utilisé et il peut-être totalement compatible avec le robot éducatif Thymio. Vous trouverez donc dans cet articles tous les éléments qui vous faciliteront la mise en place et l'utilisation de Python avec le robot Thymio : qu'est-ce que Python, Python pour Thymio, Jupyter Notebooks, Prérequis et Installation.
Avec cet article, dont les éléments nous ont été transmis directement par Thymio, vous aurez toutes les clés en main pour une utilisation avancée et personnalisée du robot éducatif programmable Thymio.
Vous avez probablement entendu parler de Python, car il est très demandé de nos jours. Il s'agit d'un langage de programmation qui est :
Sa syntaxe est relativement simple. Il est aujourd'hui largement utilisé dans de nombreux domaines et dispose d'une communauté florissante avec de nombreuses bibliothèques.
Python est également un langage interprété ; il doit toujours y avoir un interprète sur la machine qui exécute le code directement, sans compilation, par opposition à un langage comme le C++, où vous avez d'abord besoin d'un compilateur pour créer un exécutable, mais cet exécutable peut ensuite être exécuté même sans compilateur installé.
Dans le cas du robot éducatif Thymio, il n'y a pas d'interpréteur Python à l'intérieur du robot. Thymio exécute Aseba, et possède une machine virtuelle (VM) Aseba légère. Pour que Thymio puisse exécuter un programme, celui-ci doit être un bytecode Aseba.
Quand un programme est créé dans VPL ou Aseba, un script Aseba est compilé en bytecode Aseba par le Thymio Device Manager (TDM) et envoyé au robot. Par conséquent, un module Python (tdmclient) a été développé pour permettre à Python de communiquer avec le Thymio Device Manager (TDM).
En particulier, ce modèle permet :
Grâce à ce transpiler, il n'est pas nécessaire d'apprendre la syntaxe d'Aseba pour programmer Thymio. Il existe des commandes Python équivalentes à l'API Aseba Thymio, ainsi que quelques fonctionnalités supplémentaires (Liens : TDM Client / TDM Python).
Le matériel et les didacticiels incluant du code Python que vous trouverez ici se présentent sous la forme de Jupyter Notebooks. Jupyter Lab est une application web qui s'exécute dans votre navigateur et qui permet de créer des documents contenant différents types de cellules, telles que des cellules markdown, des cellules de code qui peuvent être exécutées directement, etc (plus d’informations).
En bref, cela signifie qu'au lieu d'avoir un terminal dans lequel vous tapez et exécutez vos commandes Python, vous utiliserez un document où votre code est présenté dans des cellules, ainsi que des cellules de texte explicatif, des images, etc.
Plus d'informations : Jupyter Notebooks
Cette section explique toutes les étapes nécessaires avant de pouvoir commencer les exercices Thymio dans Jupyter Notebooks. Il est nécessaire d'installer les différents éléments suivants.
L'installation de Thymio Suite est nécessaire car le pilote pour Thymio et TDM sont requis pour cette application. Lien du programme : Thymio Suite.
Afin d'exécuter du code Python, vous devez avoir l'interpréteur installé sur votre ordinateur. Il n'est pas intégré à Thymio Suite, vous devrez l'installer séparément.
Vous pouvez trouver la dernière version de Python ici (version 3.8 ou ultérieure nécessaire).
Lien d'installation de Python 3. Ceci installera également un autre utilitaire, pip, qui est nécessaire ci-dessous.
Nous recommandons d'ajouter Python à PATH (case à cocher sur l'écran d'installation), car cela vous permettra de taper des commandes plus courtes, mais vous pouvez également taper le chemin complet vers l'exécutable si vous utilisez python ou pip depuis la ligne de commande.
JupyterLab vous permettra d'ouvrir les notebooks Jupyter dans votre navigateur et gèrera l'interpréteur Python. Pour l'installer, nous allons utiliser pip, un utilitaire fourni avec Python.
Ouvrez un terminal (sous Windows, cherchez "cmd" à côté du menu démarrer, sous MacOS l'application s'appelle Terminal) et tapez :
python3 -m pip install --upgrade pip
Pour être sûr que c’est a jour . En fonction de votre installation, la commande peut être “python3” ou “python”
Puis, tapez :
python3 -m pip install jupyterlab
L'installation peut nécessiter l'installation préalable des outils de construction que vous trouverez ICI.
Si vous préférez ne pas utiliser les notebooks Jupyter, il est possible d'utiliser TDMclient en dehors de Jupyter.
Tdmclient sera installé directement à partir du notebook (voir notre exemple de notebook ci-dessous).
Nous avons préparé une série de notebooks pour démarrer avec Thymio sur Python. Téléchargez-les, et décompressez-les dans le dossier de votre choix sur votre ordinateur : Lien ICI
Laissez la fenêtre de bienvenue ouverte, ce qui garantit que le TDM est en cours d'exécution. Si vous souhaitez voir quels robots sont connectés, vous pouvez cliquer sur l'un des langages de programmation pour afficher la liste, mais ne démarrez aucune des interfaces.
jupyter-lab
Une fois que vous avez ouvert JupyterLab et le premier notebook, vous pouvez voir la structure. Il y a des cellules avec des titres, des textes, des liens, etc., et des cellules avec du code.
Si vous double-cliquez sur la première cellule contenant du texte, son apparence changera (vous verrez la source) et vous pourrez la modifier. Il s'agit d'une cellule markdown. Certains marqueurs vous permettent de formater votre texte (par exemple, # pour indiquer les titres).
Ensuite, si vous exécutez cette cellule (bouton play en haut de l'interface, ou shift+Enter), elle montrera son aspect résultant.
L'autre type de cellule que nous utilisons est celui des cellules de code. Ces cellules contiennent du code Python. Lorsque vous les exécutez, l'interpréteur Python exécutera les commandes qu'elles contiennent.
Parfois, il y aura une sortie, mais pas nécessairement. Pendant qu'une cellule est en cours d'exécution, un * apparaît dans les parenthèses à côté d'elle. Une fois qu'elle est exécutée, un nombre apparaît.
Le résultat de l'exécution persiste entre les cellules. Par exemple, si vous attribuez une valeur à une variable et que vous l'utilisez plus tard dans une autre cellule, la valeur est mémorisée.
En cliquant sur cette flèche dans le menu supérieur, vous pouvez redémarrer le noyau pour recommencer.