IDS



Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)


 * Etudiantes DSAA: Lauriane DUGIT-GROS, Ophelie BATTAGLIA, Julie FUND . Enseignant Jean-Baptiste Joatton. fiche de suivi
 * Eleves RICM5 : Simon BISCH, Aurélien CLAVELIN, Florian FOURURE . Enseignant Didier Donsez. fiche de suivi

Contexte
Interactive Digital Signage

Digital signage will soon appear in every aspect of daily life, offering a third foundational platform that, along with smart- phones and tablets, will support communication in the 21st century.

Examples:
 * http://territoires-nfc.forum-smsc.org/tag-nfc/le-deploiement-du-mobilier-communicant-saccelere-outre-manche/
 * http://www.jcdecaux.com/fr/Presse/Communiques2/2012/JCDecaux-experimente-six-Mobiliers-Urbains-Intelligents-dans-le-cadre-de-l-appel-a-projets-de-la-Ville-de-Paris
 * http://next.liberation.fr/design/2013/02/01/une-table-de-jeu-tactile-pour-les-squares-parisiens_878558
 * http://www.rslnmag.fr/post/2012/12/17/Les-reseaux-sociaux-dans-la-ville.aspx

Matériel

 * Caisse
 * TV 37 Pouces Full HD
 * Planches de bois OSB3 10 mm
 * Verre trempé IKEA
 * Roulette pour le déplacement
 * Unité(s) centrale(s)
 * Mac Mini
 * Raspberry Pi
 * Arduino
 * Micro
 * Capteurs polluant (CO2, NO, CO, GPL)
 * Carte Wifi pour monitorer
 * TP-Link : TL-WN722N
 * Caméras stéreo + profondeur
 * XBox Kinect
 * Creative Interactive Gesture Camera Developer Kit
 * Haut Parleurs + Ampli 60W
 * NFC Reader
 * ACS_ACR_122
 * SCL3711
 * Camera USB + Diode blanche puissance pour faire un lecteur de QRCode
 * Détecteur ultrason de distance : non prioritaire
 * Imprimante : non prioritaire

Logiciels (utilisés)

 * http://voxygen.fr/index.php
 * Dragon Natural Speaking
 * OpenCV (face tracking)
 * OpenNI (Kinect)
 * DBus
 * Libnfc (Near Field Communication)
 * Intel® Perceptual Computing SDK

Logiciels (réalisés)
Voici la liste des différentes applications que nous avons réalisées dans le but de répondre à différents use cases.

MacScanner
Ce module permet de voir les cartes wifi actives autour de la borne. On utilise la suite aircrack-ng afin de monitorer le wifi environnant, avec la carte wifi USB TL-WN722N (la carte wifi intégrée du mac mini ne permettant pas le monitoring avec les drivers linux). L'idée inérente, est de montrer que l'on peut observer les "devices" proches ayant une carte wifi active. On peut ensuite imaginer différentes utilisations. Par exemple dans le cas où on disposerait de plusieurs bornes, on pourrait paramétrer l'affichage en fonction de l'adresse mac à proximité (pour que l'affichage "suive" la personne).

Sources : git

Prérequis

 * aircrack-ng
 * python
 * java
 * drivers wifi installés et compatibles pour faire du monitoring

Installation
Normalement aucune installation n'est nécessaire. Le jar contenu dans le dépot est fonctionnel. Pour recompiler l'interface java, le plus simple est de créer un projet à partir des sources (dans netbeans ou eclipse), et d'inclure le dossier lib.

Utilisation
Il suffit d'éxecuter le script main en lui passant en paramètre l'interface wifi que l'on souhaite utiliser pour monitorer. Si aircrack, python et java sont correctement installés, tout fonctionne directement.

EDTDemon
Ce module permet d'afficher l'emploi du temps lorsque que l'on pose un tag nfc sur le lecteur contenant les bonnes informations.

Sources : à venir

PicViewer
PicViewer est un petit script python permettant d'afficher les images contenues dans le dossier pic. On peut naviguer parmi les images avec les flèches gauche et droite. Nous avons réalisé ce script afin d'avoir un affichage simple à contrôler avec la kinect.

Kinect
Il s’agit d’une camera utilisant des techniques d’interaction développées par la société israélienne PrimeSense, longtemps nommée par le nom de code du projet, « Project Natal », elle a été officialisée juste avant l'E3 sous le nom Kinect. Elle est basée sur un périphérique d’entrée branché sur la console Xbox 360 qui permet d’interagir par commande vocale (pas disponible au lancement en France), reconnaissance de mouvement et d’image.

Nous avons utilisé celle ci dans notre projet pour la reconnaissance des mouvements afin de manipuler les différentes pubs affichées sur la borne interactive.

Installation
Pour installer la Kinect, nous avons tout d’abord installé le driver grâce aux librairies :

* libusb-1.0-0-dev * freeglut3-dev * g++

Pour vérifier que les drivers marche bien nous avons utilisé l’utilitaire freenect qui permet de visualiser les différents capteurs de la Kinect (profondeur, vidéo, son etc…).

Afin d’exploiter ces données, nous avons installé un middleware OpenNI ainsi que NITE. Nous les avons téléchargé sur ce lien et nous avons compilé puis installé ces applications afin qu’elles soient adapté à notre système d’exploitation.

Développement
(à venir photo)

Afin de personnaliser notre code, nous avons suivit un tutorial sur ce lien puis nous l’avons adapté à nos envies.

Initialement, le programme détectait les mouvements de la main et écrivait dans la console les spécifications du geste qu’il avait détecté.

Pour démarrer la détection des gestes, il faut initialisé une session. Afin de le faire, il faut lever la main devant la Kinect puis avancer celle-ci vers la Kinect et la refermer afin que le programme reconnaisse le geste « click ». La session est alors initialisé et la détection des gestes est enclenché juste ce qu’a ce que la Kinect perdre le tracking de la main.

Nous avons modifié ce code pour que la session s’initialise juste en levant la main (geste RaiseHand) et que lors de la détection des gestes « swipe » droite et gauche, cela reviennent à faire les flèches du clavier (respectivement gauche droite). Nous avons aussi ajouté une option sur la détection des « swipe » haut et bas pour changer de bureau (option –b lors du lancement du .jar).

Launch
C'est un ensemble de scripts permettant de lancer l'ensemble des applications que nous avons développées.

Projets Connexes

 * GroundCTRL
 * KiCTRL
 * Cave à vin NFC

Challenges

 * NFC Forum
 * Intel Perceptual

Evénements

 * Journée Polytech Grenoble 2013