Tabletop


 * UE/Module: Projet innovant de RICM4 option CM
 * Enseignant: Didier Donsez
 * Elèves RICM4: Christophe Havard (chef de projet), Renaud Collin, Sebastien Skorupski

Introduction
Les technologies utilisées sont Flash (AS3) pour le codage de l'application, NFC pour l'identification et le paiement des utilisateurs.

Présentation commerciale du projet : AIR_NFC_TableTop

Les actualités du projet en anglais sur notre blog

Objectifs
Les objectifs du projet sont
 * 1) de réaliser la partie matériel d'un tabletop à faible coût
 * 2) d'évaluer les canevas de développement d'IHM multipoint (Flash/Android, C#/.NET/Windows7)
 * 3) de réaliser une application pour une table de restaurant (affichage des plats, commande, addition, enquête de satisfaction ...)
 * 4) d'utiliser la technologie NFC (Near Field Communication) pour permettre aux utilisateurs de s'identifier et payer via leur téléphone mobile

Ces informations peuvent être injectées dans un monde virtuelle d'avatars. Inversement, les capteurs et les usagers peuvent être simulés et représentés dans le monde réel augmenté. Pour cela, vous utiliserez DiaSuite.

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 pièces de cartons sont découpés et placées autour de la table afin de la protéger de perturbations extérieures.

Installation logicielle

 * CCV (Community Core Vision) CCV

Premières Démos

 * Test Application "Fire"
 * Test Application "Water"
 * Test Application "Paint"

Communautée
Information sur la librairie open-source libnfc

Téléchargement de la librairie libnfc

Documentation sur l'API

Forum de la librairie

Tutoriel sur l'utilisation de NFC sur Androïd

Matériel

 * ACR122 NFC reader : drivers sur nfc-reader.com ou lien alternatif (meilleur débit)


 * 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:
 * MinGW-w64 compiler toolchain
 * LibUsb-Win32 0.1.12.2
 * CMake 2.6
 * libnfc

Installation
Testée sous Windows XP/SP3 32 bit.

- clic-droit sur le poste de travail/propriétés - Dans l'onglet avancé, cliquer sur Variables d'environnements - Modifier la variable PATH cd c:\NFC\libnfc-build cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release c:\NFC\libnfc-src mingw32-make cd ..
 * 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 :
 * 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 :
 * 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 : Le fichier exécutable se trouve dans libnfc-build\examples
 * 1) Placer le fichier .c dans c:\NFC\libnfc-src\examples
 * 2) Editer examples\CMakeLists.txt et ajouter le nom du fichier .c dans la section SET
 * 3) Exécuter make.bat depuis c:\NFC\

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 ) 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 :

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

Liens externes

 * (en) NFC Forum
 * (en) open source library for Near Field Communication (NFC)
 * (en) NUI Group(natural user interface group)