ArduiGrid


 * UE/Module: Projet innovant de RICM4 option CM et SR
 * Enseignants: Olivier Richard, Didier Donsez
 * Elèves: RICM4
 * Dewulf Mathieu (Chef de projet)
 * Carpaye Willy
 * El Bakkouri Nysrine
 * Jurado-Leduc Thibault
 * Malkas Benjamin
 * Mraihi Haythem

Objectif
Développer une plate-forme d'expérimentation à bas coût de type réseau de capteur autour des cartes Arduino et autour de cartes STM32VLDiscovery. On s'inspirera de de plate-forme SensLab.


 * L'infrastructure de réservation et de contrôle
 * Outil de réservation (base sur OAR
 * Interface de web
 * Environnement(s) et chaîne(s) de déploiement

La plateforme pourra proposer aux usagers plusieurs langages de développement sur les noeuds de la grille
 * Wiring
 * C/C++
 * ATMega Forth
 * Nutlua/Lua
 * Scheme (interpréteur à trouver...)

Il faudra prévoir également de rediriger les sorties (entrées ?) des noeuds de la grille
 * vers un programme (type Processing par exemple) s'exécutant sur une machine autre que l'hôte OAR,
 * vers des applications web (type Processing.js) s'exécutant sur le serveur HTTP de l'hôte OAR.

La grille sera constituée d'éléments modulaires regroupant 4 cartes embarquées et des plaques de prototypage sans soudure (breadboards). Les plaques de prototypage sans soudure pourront être pré-équipés de capteurs, d'actionneurs et de moyens de transmission (RF433 MHz, IrDA, XBee, ...). Les éléments seront raccordables par USB à la machine hôte de gestion OAR.



L'interface web est réalisé avec Google Web Toolkit et d' Eclipse. GWT est un outil de développement permettant de créer des applications AJAX en convertissant des classes Java en Javascript (pour faire simple :).

L'interface web est un élément central d'ArduiGrid. C'est elle qui va permettre aux utilisateurs d'effectuer leurs expérimentations de A à Z via leur navigateur internet. Pour cela elle fournie (liste non exhaustive) :


 * une gestion du compte : modifier le login/mot de passe/email/contact/...


 * un agenda de réservation : réserver un lot de noeuds, modifier une réservation


 * la planification des expériences : gérer les couples noeud/programme, gérer les comportements, ...


 * la gestion des programmes : créer, supprimer, modifier, partager entre utilisateur, uploader, downloader, evoyer par email, ...


 * la présentation des noeuds : visualiser les noeuds disponibles avec leur propriétés


 * la gestion des expériences en cours : redémarrer un noeud, changer de programme, visualiser les données renvoyé par les cartes,...


 * un faq


 * une documentation


 * la possibilité de contacter un admin : envoyer un email, tchatter, ...

Note : l'édition et la compilation des programmes est faite avec une adaptation du software Arduino basé sur Processing dont les sources sont accessibles ici. L'interface web doit donc remplacer l'interface de ce logiciel.

Liens
SensLab

Equipement

 * Arduino (x16)
 * STM32 Discovery (x16)
 * Breadboard (x16)
 * set of sensors and actuators