MultiTouch Maison...La Contruction (Partie Software)
Par eMerzh le mercredi 22 octobre 2008, 08:40 - Lien permanent
Pour ceux ou celles qui auraient raté la précédente partie de ce billet qui consiste à construire un périphérique Multitouch pour environ 20-30 € maximum, n'hésitez pas à cliquer sur l'image suivante 
Mise en Garde :
!! Attention !! Bien que follement passionnant (...hem ...) ce billet décrira quelques manipulations qui risquent de mettre à mal votre système. Si vous ne savez pas précisément ce que vous faites, veillez à ne pas prendre de risque inutile!! On vous aura prévenu!!
Intro :
Après le Hardware, la partie software, le plus difficile! Nous allons utiliser pour ça une librairie Opensource, j'ai nommé : "TouchLib".
Cette librairie bien que portée sous linux a principalement été développée pour windows. Nous, linuxiens, subirons donc quelques effets de bord de ce fait (moins de démos, impossible d'interfacer avec flash,...). Mais, n'oublions pas que si le projet vous plaît, vous êtes libre (oui oui) de contribuer à votre manière!
Voici d'ailleurs le lien vers le projet : http://code.google.com/p/touchlib/.
L'article ne passera pas en revue l'étape pendant laquelle vous installez votre webcam sur votre système préféré. Nous supposerons donc que celle-ci est parfaitement reconnue 
Compilation et installations :
Comme Indiqué dans le wiki du projet, installons la touchlib sur notre système grâce aux commandes magiques :
svn co http://touchlib.googlecode.com/svn/trunk/ multitouch
cd multitouch
cmake .
make
pour les détails, regardez le wiki du projet.
il se peut que vous deviez aussi installer oscpack :
svn co https://www.smartelectronix.com:9000/repos/osc/trunk oscpack
cd oscpack
make
sudo make install
ou
sudo checkinstall make install
Configuration :
Rendez vous dans le répertoire "src" de votre touchlib fraîchement compilée, ensuite, lancez la commande :
./configapp
Cette commande permettra de créer un fichier de configuration pour la touchlib. Plusieurs fenêtres seront ouvertes et vous demanderont des réglages afin d'ajuster au mieux les filtres pour rendre les points plus nets.... moins vous avez de bruits et de taches (autre que vos doigts) et moins vous avez l'effet des ombres de votre main avec la lumière, mieux ce sera!
Plusieurs filtres sont à votre disposition pour arriver à vos fin : mono, rectify, highpass, invert, smooth, brightnesscontrast, backgroundremove, resize et quelques autres plus ou moins utiles.
Chacun de ces filtres possèdent une ou plusieures options de configuration voyez pour ça la documentation officielle sur les filtres. Pour les utiliser, ajoutez juste les lignes correspondantes dans le fichier de configuration sous la balise "filtergraph" et dans l'ordre qui vous convient le mieux (l'ordre est donc important).
Par exemple :
<invert label="invert3" />
Lorsque vous lancez l'application de configuration et que vos manipulations sont fructueuses, appuyez sur "enter" pour enregistrer le fichier config.xml et passer à la seconde phase (pas indispensable...d'ailleurs elle marche pas terrible chez moi). Sinon, veillez à quitter avec ctrl+c dans la console afin de ne pas écraser votre essai de configuration.....
Après de long chipots, vous devriez avoir un résultat ressemblant à ça :

Dans le cas contraire, vous pouvez reprendre mon fichier de configuration et l'adapter à vos souhaits (ou en chercher un autre sur le net) :
Sinon, Documentez-vous aussi sur la configuration de l'application sur le site du projet (bah oui, encore)
Lancement de la démo (enfin!)
Wééé, ça marche! Vous voici enfin à l'avant dernière étape de cet article.... Lançons la seule démo disponible pour notre plateforme à l'heure de l'écriture de ces lignes, grâce à la commande :
../demo/smoke/smoke config.xml
Nous passons donc notre fichier de configuration à celle-ci.
Touchez ensuite votre plaque et constatez les nuages de fumée suivant vos doigts et changeant de couleur.

Conclusion :
Malgré le peu d'application disponible de cette librairie, on voit clairement qu'il ne suffirait que peu d'effort pour fournir des petites démos sympas à la communauté. Alors je fais appel à tout le monde pour contribuer à sa manière au projet :
- configuration plus user friendly
- plus de démo
- traduction de doc
- plus de doc
- des paquets pour ubuntu?
- intégration avec les bureaux kde / gnome /...
- et bien d'autres choses!
D'autres plateformes ont fait le choix de la "multitouchitude" ... alors pourquoi pas nous!



Commentaires
...manque plus qu'un drivers pour le serveur X et hop, à moi la table basse qui remplace la souris
Et du coup ça marche ou pas ?
@boomy : +1
On notera le détail "vodka" sur la photo
@Renesis-3 : bééééh euuuuuh oui, plutôt pas mal même....mais bon les utilisations sont limitées pour l'instant, c'est tout
Le SVN de OSCPack n'est pas complet
C'est https://www.smartelectronix.com:900...
Très bon tuto, bien rédigé et complet, bravo.
Pour le driver du server X, il y a peu être une piste à creser du coté de MPX.
Quelques pistes :
http://www.youtube.com/watch?v=olWj...
http://doc.ubuntu-fr.org/mpx
http://wearables.unisa.edu.au/mpx/
Je vais certainement me pencher là dessus ce week end. Encore merci.
Superbe ! C'est une manip' qui m'intéressait depuis un moment déjà, et je suis ravi de voir qu'il suffit de peu de choses pour implémenter un truc qui a déjà de la gueule !
Maintenant la question est de savoir si il est faisable de projeter sur la surface papier, depuis l'intérieur de la boîte, l'affichage de l'écran avec un vidéoprojecteur par exemple. Si c'est possible, on s'approcherait beaucoup d'un produit type microsoft Surface.
@MrKikkeli: Pour les heureux qui possèdent un projecteur, un autre bricolage est plus approprié et plus couteux...mais il a 1000X plus de gueule
Il utilise la technologie FITR... voire ici :
http://nuigroup.com/wiki/Hardware_List/
C'est quoi le prix d'un video-projecteur miniature ( qui fass l'image de la taille d'une A3 par exempe, ou meme plus grand ^^ )
et c'est quoi ces truc de microsoft tablet ont vous parliez? par-ce que ca m'interesse grave votre truc^^
je vien de faire cette manip avec une webcam Philips spc1000NC, 2 feuille A3, et un boitier en bois, vachement plus solide, et sa tourne superbement bien!! ( en tout , j'en ait u pour 45euros tout compris ^^
Merci d'avence!