Tabletop
- UE/Module: Projet innovant de RICM4 option CM
- Enseignant: Didier Donsez
- Elèves RICM 5: Christophe Havard (chef de projet), Renaud Collin, Sebastien Skorupski
- Intervenants externes : Elsa Neves (ICM Grenoble)
Introduction
Le tabletop est une table tactile interactive d'environ 60". La technologie employée est dite "multipoint", c'est-à-dire qu'elle permet à un nombre important d'utilisateur d'interagir en même temps.
Cette table fonctionne avec un Mac Mini et 2 systèmes d'exploitation : Mac OSX et Windows 7. Les applications clientes peuvent être développées sur plusieurs technologies dont :
- Java (MT4j)
- Flash AS3 (TUIO library)
- Python (PyMT)
- etc
La table est également équipée d'un lecteur NFC type ACR122.
Présentation commerciale du projet : AIR_NFC_TableTop
Objectifs
Les objectifs du projet sont
- de réaliser la partie matériel d'un tabletop à faible coût
- d'évaluer les canevas de développement d'IHM multipoint (Flash/Java/C#/.NET/Windows7)
- de réaliser une application pour une table de restaurant (affichage des plats, commande, addition, enquête de satisfaction ...)
- d'utiliser la technologie NFC (Near Field Communication) pour permettre aux utilisateurs de s'identifier et payer via leur téléphone mobile
Table Tactile
Matériel
- Table en verre IKEA (60")
- Miroir
- Mac Mini
- Videoprojecteur short-throw
- Illuminateur IR
- Webcam PS3 modifiée (IR filter removed & visible light bandpass filter added)
- Lentille grand angle (m12/0.5mm mount, 1.8mm, angle of view = 170°)
- RFID Reader (ACS ACR 122 RFID reader)
Installation matérielle
- La surface vitrée de la table est recouverte de papier calque afin de capter l'image du vidéo projecteur. - Le bord supérieur de la table est percé afin de pouvoir fixer un support pour le vidéo-projecteur. - Un miroir est placé de telle sorte à renvoyer l'image du vidéo-projecteur vers la surface vitrée - Des lampes infrarouges sont placés à l'intérieur de la table afin de diffuser des ondes infrarouge vers la surface vitrée. - La webcam est pointée vers la surface vitrée. - Des plaques en bois sont découpées et placées autour de la table afin de la protéger des perturbations extérieures (lumière notamment).
Installation logicielle
- Tracker : CCV 1.4 (Community Core Vision) CCV
Premières Démos
Module NFC
Communautée
Information sur la librairie open-source libnfc
Téléchargement de la librairie libnfc
Tutoriel sur l'utilisation de NFC sur Androïd
Matériel
- ACR122 NFC reader : drivers sur nfc-reader.com ou [1]
- Nokia 6131 NFC : Support en ligne
Environnement Logiciel : Nokia 6131 NFC
Nokia 6131 SDK. Le SDK propose deux type d'installation : sous forme d'une plugin eclipse ou d'un framework
Environnement Logiciel : libnfc
Ce document est basé sur le fichier README-Windows.txt disponible dans l'archive libnfc-1.4.2 [www.libnfc.org]
Prérequis
Afin de pouvoir interagir avec l'ACR122 les logiciels suivants doivent-être téléchargés:
Installation
Testée sous Windows XP/SP3 32 bit.
- Installer MinGW .!!!Attention!!! La documentation officielle indique qu'il faut sélectionner MinGW-w64 afin que MinGW puisse avoir accès aux librairie PCSC (Smart Card).
- Ajouter les répertoires suivant à votre PATH : c:\MinGW64\bin;c:\MinGW64\x86_64-w64-mingw32\lib32;c:\MinGW64\x86_64-w64-mingw32\include. pour ce faire :
- clic-droit sur le poste de travail/propriétés - Dans l'onglet avancé, cliquer sur Variables d'environnements - Modifier la variable PATH
- Décompresser l'archive libusb-win32-bin dans c:\Program Files\LibUSB-Win32. C'est dans ce répertoire que CMake cherchera LIBUSB lors de la compilation.
- Lire le libusb-win32-bin-README contenu dans le dossier bin afin de savoir où copier les deux fichiers .dll et .sys (dépend de votre architecture...)
- Installer CMake : Choisissez l'option "Add Cmake to the system PATH" pendant l'installation afin que CMake soi accessible depuis MinGW
- Extraire l'archive libnfc archive versc:\NFC\libnfc-src
- Lancer un éditeur de texte et copier les instructions suivantes :
cd c:\NFC\libnfc-build cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release c:\NFC\libnfc-src mingw32-make cd ..
- Sauvegarder le fichier dans C:\NFC\make.bat
- Exécuter make.bat
- Copier le fichier c:\NFC\libnfc-build\libnfc\libnfc.dll vers c:\windows\system32
Créer son programme
Il n'est pas possible (à ma connaissance) de compiler directement un fichier utilisant la librairie nfc. Pour compiler il faut éditer le fichier de configuration CMakeList.txt :
- Placer le fichier .c dans c:\NFC\libnfc-src\examples
- Editer examples\CMakeLists.txt et ajouter le nom du fichier .c dans la section SET
- Exécuter make.bat depuis c:\NFC\
Le fichier exécutable se trouve dans libnfc-build\examples
Utiliser des librairies supplémentaires
Prenons l'exemple des sockets sous windows, afin de permettre la compilation d'un programme les utilisant il faut (en plus de l'inclusion de <winsock2.h>) utiliser la librairie ws2_32. Là encore il faudra éditer le fichier de configuration CMakeList.txt afin d'expliciter les librairies à utiliser, de manière similaire à celle-ci:
IF(WIN32) TARGET_LINK_LIBRARIES(monProgramme ws2_32) TARGET_LINK_LIBRARIES(monProgramme nfc) TARGET_LINK_LIBRARIES(monProgramme nfc-utils) ENDIF(WIN32)
Source complète : File:CMakeLists.txt
Blazeds
Blazeds est un composant open source permettant d'accéder à des objets distant via une application Flex. Pour son fonctionnement blazeds se base sur un serveur Tomcat côté client et côté serveur. Getting start with Blazeds