En plus du Nabaztag et du Nabaztag/tag, Violet a aussi produit un périphérique intéressant, le Mir:ror. Ce lecteur de puces RFID était — comme les Nabaztag — dépendant des serveurs et est donc inutilisable actuellement, tout du moins avec ses fonctions de base. Mais il est tout de même possible de l’utiliser. Dans la suite, je vais vous montrer quelque chose qui est plus un PoC (Proof of Concept) qu’une véritable application, mais qui montre que c’est possible.
Mir:ror, c’est quoi ? Un lecteur de puces RFID, sous la forme d’une soucoupe de 10 cm environ, qui se connecte en USB. L’appareil s’illumine et dispose de ses propres sons — un haut-parleur est présent dans l’appareil — et il peut lire des tags RFID aux normes ISO 14443A et 14443B. Techniquement, n’importe quelles puces RFID à la norme doit passer, moi j’ai utilisé un lapin Nanoztag, qui intègre une puce compatible.
Ca fonctionne comment ? Mir:ror ne fonctionne pas comme un lecteur RFID classique. Il est en fait reconnu comme un périphérique USB HID (Human Interface Device) et communique donc sans pilotes avec la majorité des OS. Techniquement, il suffit juste d’aller lire une valeur renvoyée, rien de bien sorcier. En gros, le lecteur va renvoyer une commande quand une puce s’approche et une autre quand elle s’éloigne, le tout avec un identifiant unique à chaque puce. C’est un peu simplifié, mais c’est schématiquement le fonctionnement.
C’est en regardant ce qu’avait fait Maurice Svay et en modifiant quelques trucs vus sur Instructables que j’ai testé rapidement ce qu’il était possible de faire.
Il faut d’abord un petit programme qui va vérifier les changements d’états au niveau du Mir:ror, HIDtest. Ensuite, un simple script va permet d’exécuter un code AppleScript en fonction de la puce. C’est de la démo, c’est un peu archaïque et ça nécessite d’aller modifier le script à la main, mais ça fonctionne.
Les deux fichiers nécessaires sont en téléchargement ici.
Première chose, on va identifier l’identifiant de la puce. Il suffit de lancer hidtest et de passer la puce devant le Mir:ror. Il faut lancer hidtest avec la commande ./hidtest
(avec éventuellement un chmod +x hidtest
si ça ne passe pas) et récupérer la valeur du tag.
Tag identified 0a00000000000000000000000000 OUT
Tag identified 0000000000000000000000000000
Tag identified 000008d0021a053b455286000000 IN
La valeur est donc ici 000008d0021a053b455286000000
pour mon Nanoztag.
Dans le script, sous la ligne ## RFID tags
, il faut donc ajouter l’identifiant de votre tag.
Le programme hidtest doit être dans le même dossier que le script iTunes.
Le script va simplement boucler et envoyer la commande Play à iTunes quand on met le tag sur le lecteur et envoyer Pause quand on retire le tag.
Pour les commandes à envoyer à iTunes (ou un autre logiciel), il y a pas mal de documentations là-bas. Placer un tag sur un CD et faire lire ce CD directement à iTunes est par exemple possible assez facilement.
Une fois le script adapté à votre usage (et à vos tags), il suffit de le lancer avec la commande ./itunes.sh (même chose, un un chmod +x itunes.sh
sera peut-être nécessaire).
Une petite vidéo pour montrer ce que ça donne.
Super cet article!
Je cherchais justement à interagir avec mon mir:ror et ça marche nickel, merci pour l’astuce.
J’en profite pour poser la question, savez vous si il est possible de faire la même chose en AS3 (Flash) ? (pas pour lancer itunes pour pour interagir avec l’annimation)
Merci pour ce blog que je viens de découvrir et qui me donne envi de resortir mon lapin histoire d’en faire quelque chose :p
A bientôt dans d’autres articles !
Léandre
J’ai jamais vraiment fait de flash, mais le script est assez simple, donc s’il est possible d’interagir en AppleScript avec l’AS3, ça doit marcher.
Merci pour le tuyau… J’hésitais à jeter mon Mir:ror…
Par contre, j’ai testé, je n’y arrive pas. J’ai bien téléchargé les deux fichiers, ils sont bien dans le même dossier. hidtest reconnait mon tag, je l’ai incorporé dans le fichier itunes.sh, mais quand je mets et enlève le nano:ztag, rien ne se passe dans itunes…
Ai-je oublié une étape ?
Merci d’avance pour votre aide.
Je sais que le dernier message remonte à 6 mois maintenant, mais comme beaucoup j’ai remis la main sur le Mir:ror qui dormait dans un carton… la questions que je me suis posé a été de le refaire marcher pour mon mac. Je suis tombé sur une appli intéressante qui permet via des applescript de programmer toutes les actions que l’on souhaite et ce assez facilement : http://lcprod.net/bonus/reflexio
Ca fonctionne parfaitement bien et laisse pas mal de marge de manoeuvre (envoyer un imessage, mettre en veille le mac, l’éteindre, piloter itunes, etc…). L’esprit est bien celui décrit ici…
oups, désolé du comm précédent : j’avais pas tout lu le blog (toujours pas mais j’ai exploré un peu plus) et le site lcprod est déjà indiqué dans un post…