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

Roadmap

 * Avancement :

Les éléments restant à définir :
 * Liaison (intégration) interface web - serveur sur lequel une api est disponible pour communiquer avec le gestionnaire de ressource et la grille
 * L'api permettant de prendre le contrôle d'OAR
 * Vision en direct de la grille (webcam ?)

Les éléments définis et en phase de développement :


 * Design + Fonctionnalité de l'interface web


 * On s'oriente sur une interface composé de plusieurs modules :
 * Gestion + création de son compte utilisateur
 * Historique des manipulation sur la grille
 * Gestion de la carte réservé pendant une durée (visualisation de la carte + interaction)
 * Commander sa carte via le web
 * Visualiser l'ensemble de la grille avec les différents capteurs
 * Upload de son programme source
 * Tchat + contact admin
 * Interface Administrateur : accès privilégié au carte et à OAR via le web


 * Api permettant la communication entre serveur web et serveur hébergeant la grille

Les éléments finis :


 * Installation OAR
 * Api permettant la communication avec les cartes

On pense être capable, à l'heure actuelle, de finir le projet en excluant le tout intégré. C'est à dire le logiciel de développement Arduino intégré à l'interface web.

Cahier des charges
Liens : [[Media:Cdcarduigrid.pdf]]