Langue : Français

Spécialisé dans la vente de produits robotiques ! Robots éducatifs, robots jouets, objets connectés

Vous êtes ici :
    Accueil > Actualités > Robots éducatifs > Utiliser Thymio avec Python

Python avec Thymio : guide complet

Robots éducatifs

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.

Python, qu'est ce que c'est ?

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 :

  • De haut niveau (ce qui signifie qu'il est comparativement plus facile à comprendre pour les humains que les langages de bas niveau)
  • Orienté objet (ce qui signifie qu'il est basé sur des données)

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é.

Python langage de programmation

Python et le robot éducatif Thymio

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 :

  • D'accéder aux variables du robot
  • De transpiler le code Python en code Aseba
  • D'envoyer du code Aseba au TDM, qui envoie ensuite le bytecode adéquat au robot

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).

Fonctionnement Python Thymio

Jupyter Notebooks

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

Prérequis et Installation de 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.

Thymio Suite

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.

Python 3

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

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”

Installation Python 3 Thymio

Puis, tapez :

python3 -m pip install jupyterlab

L'installation peut nécessiter l'installation préalable des outils de construction que vous trouverez ICI.

Python sur robot Thymio

Si vous préférez ne pas utiliser les notebooks Jupyter, il est possible d'utiliser TDMclient en dehors de Jupyter.

TDMclient3

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 

  • Connecter le robot thymio à votre ordinateur 
  • Démarrer Thymio Suite

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.

Thymio TDMclient3 Notebook

  • Ouvrez un terminal, et tapez cette commande pour ouvrir Jupyter 

jupyter-lab

 

  • Sur la gauche, vous pouvez parcourir l'endroit où vous avez dézippé les notebooks. Une fois que vous les avez trouvés, double-cliquez sur Thymio_Python_start.ipynb pour ouvrir le notebook.

Jupyter Notebooks pour Thymio

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).

Jupyter Notebooks pour ThymioEnsuite, si vous exécutez cette cellule (bouton play en haut de l'interface, ou shift+Enter), elle montrera son aspect résultant.

Jupyter Notebooks pour ThymioL'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.

Jupyter Notebooks pour Thymio

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.

Jupyter Notebooks pour Thymio

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.

La newsletter
Recevez nos bons plans et actualités