Piloter thymio avec snap

Bonjour à tous,
J’ai vu dans la doc snap que le robot thymio pouvait être piloté par scratch et snap via node.js.
Il y a dans snap un pdf qui renvoie via http://localhost:3000 vers ext_basic.json et ext_scratch.json, pour ensuite utiliser asebahttp api puis asebascratch api.De là, via aseba-ser:tcp: on envoie vers thymio_motion.aesl et aseba firmware.
Je ne comprends pas la méthode pour l’appliquer à snap…
Quelqu’un peut)il m’éclairer ?
Merci d’avance
Alain

Bonjour,

Moi aussi je m’intéresse à controller un robot Thymio avec Snap! car Snap! est fabuleux.
Il y a peut-être quelque chose qui pourrait vous éclairer dans ce post :
https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/issues/1711#issuecomment-291939737

Nathalie Carrié

Bonjour,
Vous trouverez sur cette page les blocs du pilotage d’un Thymio pour snap :
http://dm1r.fr/thymio-scratch-sim/
Le fichier se nomme thymio-scratch-snap-base.zip, il faut le chercher sur la page.
Dans l’archive zip, se trouve le fichier thymio_snap_15052017.xml qui est à importer depuis l’interface de snap, dans lequel se trouvent tous les blocs pour Thymio. Les fichiers utilisés par snap sont au format xml.
Voilà, j’esmère que ça va vous sservir.

Bonjour,

Nous n’avons que des postes sous Linux au lycée, et les patchs ne sont malheureusement donnés que pour Windows et Mac.

Nos élèves ont tous un portable sous Linux (offert par la Région) à leur entrée en seconde.

Avez-vous une idée de ce qu’il faut faire sous Linux pour que la passerelle Thymio-poste marche ?
Je ne comprends pas pourquoi il faut passer par Scratch.

bonjour,

Je ne vois pas de quelle passerelle vous parlez …
Je n’ai pas cette passerellle dans mes deux versions de snap…
D’autre part, je ne passe pas par scratch, snap fonctionne sans scratch…

La version de Thymio Snap! que j’ai faite et qui est sur http://dm1r.fr/thymio-scratch-sim/ utilise la passerelle faite pour Thymio Scratch et disponible ici : https://github.com/davidjsherman/inirobot-scratch-thymioII/releases .
Cette passerelle nécessite l’environnement aseba pour fonctionner.

  • Il y a 2 versions intégrées dans l’environnement aseba qui fonctionnent pour windows et osx. En les installant vous avez à la fois l’environnement aseba et la passerelle permettant de connecter thymio à scratch (ou snap!, c’est la même passerelle). Tout est expliqué ici : http://dm1r.fr/thymio-scratch-sim/ .
  • Il y aussi une version simple de la passerelle pour windows, osx et ubuntu sur https://github.com/davidjsherman/inirobot-scratch-thymioII/releases. Elle a besoin que l’environnement aseba soit installé par ailleurs. Elle ne fonctionnera sans doute pas avec la version la plus récente d’aseba mais à tester avec des anciennes.

Toutes ces questions vont être bientôt résolues, quand Thymio Scratch (et aussi donc Thymio Snap!) va sortir officiellement chez Mobsya. Les versions actuelles de Thymio Scratch et Thymio Snap! sont expérimentales et fournies par Inria pour tester ce que donnent de tels langages avec Thymio.

Pour en savoir sur tout cela et plus encore, ne manquez pas le Colloque Robotique et Education de Bordeaux le 18 juillet http://dm1r.fr/roboeduc17/ et la conférence mondiale Scratch (et Snap!) http://www.scratch2017bdx.org/ .

Didier Roy

1 « J'aime »

Bonjour,
Merci pour toutes ces précisions.@droy.
Est-il possible d’avoir les documents terminaux afférent à ces deux évènements ?

Bonjour,

Je me posais la question d’une passerelle éventuelle car pour moi, cela ne marche pas.

Oui,
il y a un travail énorme derrière le fichier thymio_snap_15052017.xml
car j’ai bien vu tous les nouveaux blocs programmés pour le Thymio.
Et je remercie infiniment ceux qui les ont écrits (je n’aime pas l’environnement Aseba car on ne peut pas programmer de fonctions).
Malheureusement, je n’arrive pas à établir de contact.

J’ai d’abord dû ajouter une variable globale qui me semblait manquante à ce bloc : .
La variable thymioPort.

Ensuite l’initialisation donne ceci :

Apparemment, c’est cette fonction qui pose un problème :

​Auriez-vous
un exemple de programme qui fasse marcher le Thymio sous Snap! chez
vous ? Et sous quel Linux êtes-vous ? J’ai peut-être un problème de
ports.

Le bloc reste en attente.

Merci pour votre aide.

Nathalie Carrié

Bonjour,

J’avais écrit cette dernière réponse avant de lire la réponse de Didier Roy.
J’ai l’impression qu’il va falloir que j’attende la version publiée par Mobsya.
A moins qu’on ne m’aide un petit peu. J’ai une dernière séance sur le Thymio avec les premières S en accompagnement personnalisé dans une semaine… Ils adorent !

En tout cas, j’y serai à Bordeaux le 18 juillet…

Nathalie Carrié

Là, il semble donc qu’il faille attendre …

Aïe, @nathalierun, la séance avec les 1ère S doit être passée mais parlons quand même du problème rencontré.

  • Le bloc « Thymio Init » est inutile, il faudra que je l’enlève.
  • Le bloc « init Thymio … » génère une erreur s’il y a un pb de connexion (robot non connecté, port incorrect, passerelle entre Thymio et Scratch non lancée).
  • « get nodes » marche a priori bien, je n’ai pas eu d’erreur à ce jour.
  • Essayez avec le nouveau fichier : thymio_snap_29052017.doc (66,4 Ko) ==== Changer l’extension doc en xml (les xml ne sont pas uploadables pour des raisons de sécurité)

D’ici la fin juin, la version sera finalisée.

Bonjour,

Merci pour votre réponse.
J’ai installé le pack pour Ubuntu mais cela ne marche toujours pas. Je ne comprends pas pourquoi dans le fichier Scratch2-ThymioII.sh , il y a un exec asebascratch (fichier que je n’ai pas)…

Remarque : j’ai bien mis dans /usr/share/aseba/ le ficier thymio_motion.aesl

Bonjour,
Je me permets de relancer ce post.
Je fais une recherche IREM avec un collègue sur Snap! et nous souhaiterions faire du Thymio. Nous avons absolument besoin de créer nos propres blocs. Je suis sur Ubuntu 16.04. J’ai bien suivi toutes les étapes du lien https://pixees.fr/dm1r.fr/thymio-scratch-sim/index.html. Impossible d’établir une connexion. Pourtant, si je fais http://localhost:3000/nodes/thymio-II dans mon navigateur (Firefox à jour), j’ai bien toutes les infos sur le thymio-II (node: 19236). Malheureusement, dans Snap!, j’ai une syntax error dans JSON.parse avec le bloc get nodes.
Que puis-je faire ?

Au fait, le bridge n’a pas réussi à charger correctement le fichier motion.aesl. Voilà plusieurs heures que je cherche sur les forums. Je suis perdue.

Merci pour votre aide.

Bonjour @nathalierun,
Je transmets à @Michael_Bonani et @joel_rivet qui auront peut-être une idée.

Didier

Bonjour,

Je viens enfin de résoudre mon problème. Il fallait ajouter http:// au bloc Thymio URL of node ...
Après cela, les moteurs fonctionnent mais pas le bloc get nodes, ni les blocs RGB et pas mal d’autres blocs. Je continue à chercher.

Merci beaucoup pour votre fichier xml et tous les blocs pour le Thymio.