Violet connecting objects

mirrorVous connaissez certainement la société Violet et plus particulièrement son fameux lapin communicant : le Nabaztag ? Cette même société produit le « mir:ror« , un petit gadget très design qui n’est pas moins qu’un  lecteur RFID.

Question coût, le mir:ror se trouve un peu partout pour un 50ène d’euros. J’ai déniché le mien en solde pour moins de 30 € – Tu vois chérie, moi aussi le fais les soldes  !!! – Dans un joli coffret, sont rangés le lecteur usb, 3 « timbres » autocollants (Ztamp:s) et 2 petits lapins (Nano:Ztag), tous munis d’une puce RFID.nano1

Le lecteur fonctionne biensûr avec les objets commercialisés par Violet, mais aussi avec n’importe quel tags RFID, pourvu qu’il  respecte la norme ISO 14443 A ou B – La carte de bus/métro de Toulouse fonctionne parfaitement par exemple.

En utilisation standard, moyennant l’installation d’un petit logiciel (Mirware) et la création d’un compte (gratuit) sur le site de Violet, nous pourrons enregistrer nos objets RFID et associer une action à leur approche ou leur éloignement du lecteur.

ztampsAprès tout ce vocabulaire « Nabaztanique« , il faut bien que j’avoue que ce n’est pas pour son utilisation standard que j’ai craqué, mais pour  les  perspectives prometteuses  offertes en terme de bidouillage : Authentification pam, évènements domotiques (X10), clef de chiffrement, on peut imaginer énormément d’usages « non-officiels » … et c’est ça qui est bon !

Néanmoins, dans la suite du billet, je vais balayer une installation classique du « Mirware » sous Linux. Il faut bien commencer par là ! Cette manipulation ne présente pas de difficulté particulière, à part peut-être pour les architectures 64 bits. Dans un prochain article, je m’intéresserai au développements possibles autour du joujou !

Mirware mon beau Mirware…

J’ai réalisé ce test sur deux machines sous Ubuntu (9.04 « Jaunty jackalope » ), l’une en 32 bits, l’autre en 64. Mais Mirware devrait fonctionner sous n’importe quelle distribution, le tout étant de bien installer les librairies nécessaires.

Dans les pré-requis, il faut bien entendu une machine sous Linux, disposant d’une interface graphique et connectée à Internet. En effet, Mirware fonctionne grâce au serveur Violet.net, sur lequel seront enregistrés les tags et les actions qui leurs sont associées.  C’est un peu limitant, mais comment dire….c’est comme ça ! Domage !

L’application est disponible ici en version alpha… On regrettera l’absence des sources, mis à part pour la partie concernant la détection du périphérique, ce qui va sauver l’installation sur une distribution 64 bits.

Je parlais de librairies, il nous faudra satisfaire quelques dépendances à ce sujet et en installer 3 principales :

(cf le README pour plus d’infos)

$ sudo apt-get install   libqt4-webkit   libqca2   libsdl1.2debian

Nous pouvons à présent télécharger et installer le Mirware :

$ wget -c http://broad.violet.net/mirror/mirware.tar.gz
$ tar -xvzf mirware.tar.gz
$ cd mirware-0.9.9-1724
$ sudo ./installer.sh

Le script installer.sh, présent dans l’archive de Mirware, va juste caler les droits pour la détection du périphérique :

installer.sh ( pour information uniquement)

#!/bin/bash
[ "$(id -u)" -eq 0 ] || { echo "This script needs root credentials" ; exit 1 ; }
chown root discover-device || { echo "Could not change owner of discover-device to root. Do you have root credentials ?" ; exit 1 ; }
chmod a+s discover-device || exit 1
touch detected_device
 
echo "All done ! You can now plug a mir:ror and launch mirware-launcher.sh !"

Il ne reste plus qu’à connecter le mir:ror et  lancer mirware :

$ ./mirware-launcher.sh

icone_notifUne icône dans la barre de notification indique que tout se passe bien. En approchant un objet du capteur, une fenêtre de connexion devrait apparaître, suivie d’un interface permettant d’enregistrer l’objet et de lui associer des actions (applications).

connexion

mirware

32 bits…C’est bien…mais 64 ?

Si vous utilisez une distribution 64 bits, il vous faudra recompiler le petit programme de détection du mir:ror : discover-device et installer les librairies utilisées par Mirware dans leur version 32 bits. Sans les sources et en l’abscence de version 64 bits, pas le choix…

Concernant la compilation de discover-device, rien de bien sorcier, il faut juste ne pas oublier de lui redonner les bons droits…
$ sudo rm discover-device
$ gcc discover-device.c -o discover-device
$ sudo ./installer.sh

Pour les librairies 32 bits, après avoir pas mal joué de l’apt-get, je suis tombé sur un script qui simplifie bien les choses (merci Cappy). Getlibs prend en paramètre un binaire et télécharge les librairies dépendantes dans leurs versions 32 et 64 bits… Le pied !

$ wget -c http://frozenfox.freehostia.com/cappy/getlibs
$ ./getlibs mirware

Pour clore ce chapitre…

…sur une utilisation classique du mir:ror, je peux ajouter qu’une grande majorité des actions proposées par le serveur sont fonctionnelles sous Linux… L’ouverture d’un dossier, le chargement d’une url, l’accès à la messagerie, à un podcast ou une webradio, la lecture d’un texte en texttospeech et j’en passe…

J’ai tout de même noté un problème gênant sur l’application permettant le lancement de scripts;  En effet, cette dernière ne sait gérer que des scripts Windows/Dos batch (.bat) ou des AppleScripts(MacOsx). Ce n’est pas très gênant pour l’utilisation que je compte en faire et comme promis, je détaillerai, dans le prochain article comment s’affranchir des contraintes du serveur Violet.net pour passer de l’autre côté du mirroir.

Laissez votre message après le bip...Biiiiip

Commentaires

J’ai mis du temps à comprendre en quoi ça pouvait me servir et je commence à comprendre. Premier truc simple éteindre l’ordinateur quand je lui montre mes clefs.

Faut un peu se creuser les méninges pour trouver son utilité mais elle existe.

Bonne chance dans ton « hackage » 😉

Merci pour le billet, où as-tu trouvé ton paquet en soldes ?

J’ai déjà le nabastag, donc, çà pourrait être intéressé de lui faire faire des petits 🙂

Yoko : A la base, le RFID sert principalement à l’authentification… On en retrouve dans des badges d’accès, des cartes d’abonnement (bus, métro, ski), mais aussi pour sur les étiquettes antivol des magasins… Il peut-être aussi utilisé à la place d’un code barre pour le marquage d’un produit.
Free propose également le mir:ror packagé en contrôle parental : En fonction de la couleur du lapin posé sur le mir:ror, le degré du contrôle change.
Les utilisations possibles ne manquent pas !

Bristow : 29,20 € en solde à la Fnac…disponible également au même prix sur leur boutique en ligne…

je suis très intéressé par tes expérimentations sur le lecteur RFID. Ça fait depuis quelques jours que je cherche une platine de développement sur les RFID 13,56MHz (limité certes à la norme ISO 14443A) à prix réduit (moins de 30 euros en raison des soldes). L’idée étant bien sur de créer ses propres applis sur PC ou ou tout autre système embarqué tournant sous Linux. J’ai hâte de lire le prochain chapitre…

Je viens d’en faire l’acquisition… en solde.
Ton article est très intéressant.
J’attends avec impatience ton prochaine chapitre.
Merci

Mercipour le tuto mais en 64B
j’obtiens
Cannot mix incompatible Qt libraries
et là je calle,
je suppose qu’il aprécie pas les QT32 & 64 bit mais qui quoi où ?

Trouvé la raison
ls -l /usr/lib32/libQt*.so.4
me donnait des révisions 4.3 et 4.5 selon les libs.

alors j’ai appliqué un fix un peut sauvage mais opérationnel.

J’ai joué du getlibs jusqu’à ce que j’obtienne :

ls -l /usr/lib32/libQt*.so.4
lrwxrwxrwx 1 root root 22 2009-08-22 14:36 /usr/lib32/libQt3Support.so.4 -> libQt3Support.so.4.5.1
lrwxrwxrwx 1 root root 29 2009-08-22 15:02 /usr/lib32/libQtAssistantClient.so.4 -> libQtAssistantClient.so.4.5.1
lrwxrwxrwx 1 root root 21 2009-08-22 15:03 /usr/lib32/libQtCLucene.so.4 -> libQtCLucene.so.4.5.1
lrwxrwxrwx 1 root root 18 2009-08-22 15:03 /usr/lib32/libQtCore.so.4 -> libQtCore.so.4.5.1
lrwxrwxrwx 1 root root 18 2009-08-22 15:03 /usr/lib32/libQtDBus.so.4 -> libQtDBus.so.4.5.1
lrwxrwxrwx 1 root root 32 2009-08-22 15:01 /usr/lib32/libQtDesignerComponents.so.4 -> libQtDesignerComponents.so.4.5.1
lrwxrwxrwx 1 root root 22 2009-08-22 15:01 /usr/lib32/libQtDesigner.so.4 -> libQtDesigner.so.4.5.1
lrwxrwxrwx 1 root root 17 2009-08-22 15:04 /usr/lib32/libQtGui.so.4 -> libQtGui.so.4.5.1
lrwxrwxrwx 1 root root 21 2009-08-22 15:04 /usr/lib32/libQtNetwork.so.4 -> libQtNetwork.so.4.5.1
lrwxrwxrwx 1 root root 20 2009-08-22 15:05 /usr/lib32/libQtOpenGL.so.4 -> libQtOpenGL.so.4.5.1
lrwxrwxrwx 1 root root 20 2009-08-22 15:05 /usr/lib32/libQtScript.so.4 -> libQtScript.so.4.5.1
lrwxrwxrwx 1 root root 17 2009-08-22 15:05 /usr/lib32/libQtSql.so.4 -> libQtSql.so.4.5.1
lrwxrwxrwx 1 root root 17 2009-08-22 15:05 /usr/lib32/libQtSvg.so.4 -> libQtSvg.so.4.5.1
lrwxrwxrwx 1 root root 18 2009-08-22 15:05 /usr/lib32/libQtTest.so.4 -> libQtTest.so.4.5.1
lrwxrwxrwx 1 root root 20 2009-08-22 14:36 /usr/lib32/libQtWebKit.so.4 -> libQtWebKit.so.4.5.1
lrwxrwxrwx 1 root root 17 2009-08-22 15:05 /usr/lib32/libQtXml.so.4 -> libQtXml.so.4.5.1

par exemple pour mettre libQT3Support à jour faire ./getlibs libQt3Support.so.4

Pour les pressés vous pouvez mettre toutes les libs en paramètre sur une commande.

Bon tags !

Bonjour,
En suivant ce tutoriel, j’ai eu les 2 erreurs suivantes :

1ère erreur :
./mirware: error while loading shared libraries: libQtScript.so.4: cannot open shared object file: No such file or directory

que j’ai résolu avec un
$ sudo aptitude install libqt4-script

2ème erreur :
./mirware: error while loading shared libraries: libQt3Support.so.4: cannot open shared object file: No such file or directory

que j’ai résolu avec un
$ sudo aptitude install libqt4-qt3support

Si ça peut aider …

Bonjour à tous!

Voila à cette etape là il m’affiche cette erreur!???!!

q’est ce ?

alex@alex-desktop:~/mirware-0.9.9-1724$ ./mirware-launcher.sh
Error while opening: ./detected_device
error while opening /dev/hidraw0.
error while opening /dev/hidraw1.
error while opening /dev/hidraw2.
./mirware-launcher.sh: line 11: 5585 Erreur de segmentation ./discover-device
Failed to detect mirror. Please try to unplug and replug it.

Laisser un commentaire

(requis)

(requis)