SmartCampus2014/FicheSuivi

Encadrants : Didier Donsez et Vivien Quema Etudiants : (mailing list du projet : [mailto:smartcampus2014@googlegroups.com ]) Les documents importants :
 * Nicolas Husson (chef de projet)
 * Thomas Nunes
 * Morgan Bidois
 * Laurène Guelorget
 * Simon Planès
 * Le dépôt Git se trouve ici
 * Le cahier des charges se trouve ici
 * Des photos de la maquette
 * Divers tutoriels maison, tutoriels Arduino et tutoriels Galileo
 * Le [[Media:flyer_SC.pdf | flyer]] et le [[Media:poster_SC.pdf | poster]] du projet
 * Les slides de la présentation (à venir)

= Présentation du projet = Le projet a débuté le 28 janvier 2014 et va durer environ 2 mois. La page complète du projet se trouve ici et le cahier des charges est consultable sur cette page. L’équipe est formée de 5 membres de RICM5, trois de l’option Communication Multimédia et deux de l’option Systèmes et Réseaux. Le chef de projet est Nicolas Husson.

Durant ce projet innovant, nous utilisons la méthodologie Agile et le Scrum Master est Thomas Nunes. La durée d’un sprint a été déterminée à une semaine et nous avons également décidé de mettre en place des « Poker Planning ».

= Progression du projet = 11 sous-projets ont été identifiés et décrits à travers ce diagramme :

Sprint 0 : du 28/01 au 02/02

 * compréhension du sujet
 * recherche sur les technologies utilisables : openHAB, protocole MQTT (et ses implémentations) pour la communication M2M...
 * premiers tutoriels : OpenHAB, mosquitto, etc. (voir le tutoriel dédié à Mosquitto)
 * rencontres avec Didier Donsez pour préciser le cahier des charges et avec Jérôme Maisonnasse pour l'accès à la fablab MJK (découpeuse laser, imprimante 3d, etc.)
 * enquête auprès d'utilisateurs potentiels (étudiants) de SmartCampus

Sprint 1 : du 03/02 au 09/02
Tâches principales
 * Génie Logiciel : finir l'architecture du projet (1ère version)
 * détailler le diagramme de classe
 * diagramme contexte, use-cases, scenarii d'utilisation, etc.
 * mettre au propre les schémas
 * finir le cahier des charges et rédiger MPI


 * Recherches et application des technologies
 * voir si le couplage Arduino/OpenHab est possible (voir le tutoriel pour se connecter à la carte en SSH)
 * faire un choix de techno : Titanium/PhoneGap en fonction de la RA
 * petite démo de la techno choisie


 * Maquette
 * plan papier de la maquette (nombre de bâtiments, localisation, etc.)
 * plan SVG des pièces de base pour la découpeuse laser
 * matériel externe (train LEGO, objets imprimante 3D, ...)

Tâches additionnelles
 * Contacter CROUS, semitag, METRO pour l'open data
 * Recherche d'une alternative à l'arduino si il ne supporte pas openHAB (azure, Raspberry Pi)
 * Petite démo d'openHAB avec cette alternative
 * Couplage de openHAB avec Mosquitto (voir le tutoriel dédié)



Sprint 2 : du 10/02 au 16/02

 * Arduino Galileo
 * Installation d'un OS sur Arduino Galileo avec une jvm et le système arduino
 * Openhab sur Arduino Galileo
 * Connexions avec des capteurs / ajout de shield arduino
 * Mosquitto sur Arduino Galileo
 * Intégration du projet Smart Citizen
 * Serveur MQTT / http
 * Recherche technologique (voir le tutoriel sur mongodb, Node.js Mongoose et le couplage Mongoose/MQTT)
 * Un prototype alliant serveur MQTT et HTTP
 * Schéma de base de donnée


 * Application Cliente de réalité augmentée
 * Prototype avec lecture d’un QRcode et affichage du numéro lu
 * Design IHM de l’application : maquettes avec des traits tordus


 * Maquette
 * Plans SVG d'un prototype
 * Découpe d’un premier prototype

Sprint 3 : du 17/02 au 23/02

 * Arduino Galileo
 * OS sur Arduino Galileo / JVM / openHAB / Mosquitto
 * Intégration avec le serveur


 * Application mobile
 * Recherche technologique (bootstrap, map, pop-ups, plein-écran, etc.)
 * Mise au propre sur wiki
 * Petite démo : une map avec éléments cliquables (voir le tutoriel dédié)


 * Maquette
 * Plans de tous les bâtiments (planches de 60*40cm) --> Changement de la taille de la maquette

Tâches additionnelles
 * Découpe de la moitié des bâtiments
 * Montage des bâtiments (chercher de la colle à bois)
 * Découpe routes, terrains, pistes cyclables
 * Une cafetière dans la salle robotique

Sprint 4 : du 24/02 au 02/03
(voir les tutoriels dédiés)
 * Arduino Galileo
 * OS sur Arduino Galileo / JVM / openHAB / Mosquitto
 * Capteurs : pression, température, humidité, NFC, leds, affichage, air quality, afficheur 7 segments, etc.
 * leds : chenillard, bouton poussoir
 * température : alerte led + speaker quand dépassement d'un seuil, affichage sur 7 segments
 * compteur : BP + afficheur 7 segments


 * Application mobile
 * Finir design
 * Présentation et validation du design (par le groupe)
 * Petite démo : un mode plein écran + layout (menu top, barre de notifications et conteneurs)


 * Serveur
 * Décision sur la méthode de remplissage de la BD
 * Finir le serveur + README
 * Simple interface admin SmartCampus (récupérer des données en ajax)


 * Maquette
 * Refaire le plan de la maquette (changement de dimensions)
 * Plans de tous les bâtiments (planches de 60*40cm)


 * Interface administrateur
 * Design à gros grain : analyse des besoins et aspect général
 * Recherche technologique (Ajax, template avec jade, approche modulaire (widgets), etc.)

Sprint 5 : du 10/03 au 16/03

 * Arduino Galileo
 * Sketch sur Galileo
 * Mise en réseaux des Galileo
 * Intégration aux autres sous-projets
 * Capteurs + Mosquitto
 * Capteurs de pression (tam tam en papier)
 * Câblage électrique des Arduino


 * Application mobile
 * Intégration avec le serveur : afficher des éléments
 * Intégration avec le serveur : envoyer des éléments (crowdsourcing)
 * Test avec GeckoView
 * Test plus complet ChromeView
 * Travailler le crowdsourcing


 * Serveur
 * Super admin SmartCampus : fonctionnalités (+ implémentation) et design interface
 * Tuto pour ajouter une route personnalisée
 * Documentation du serveur


 * Maquette
 * Plans de tous les bâtiments, qui rentrent sur des planches de 60*40cm
 * Découpe laser de la moitié (ou plus) des bâtiments


 * Interface administrateur
 * Premier jet rudimentaire avec layouts + (système widgets)
 * Intégration avec le serveur
 * Ajout d’un système d’identification


 * Robots
 * Recherche techno
 * Robots multi-langage ? (javascript, perl, C, scala, lua, ocaml, java ou autre…)
 * Robot pour les menus du CROUS
 * Robots pour les événements CROUS, EVE, UJF
 * Robot pour le covoiturage : application mash-up de sites spécialisés
 * COQP : prise de contact, étude du code
 * Casier NFC : contact de l’équipe

Sprint 6 : du 17/03 au 23/03



 * Arduino Galileo
 * Recherche communication ino/python
 * Dupliquer les OS Galileo
 * Mise en réseaux des Galileo

(voir les tutoriels sur Galileo)


 * Application mobile
 * Intégration avec le serveur
 * Informations simple (lampadaire cassé)
 * MAP
 * Intégrer les différents éléments : applis, map, covoiturage, etc.
 * Test avec GeckoView/ChromeView


 * Serveur
 * Charge la BD de mock data
 * Super admin SmartCampus


 * Maquette
 * Montage des maquettes
 * Découpe du terrain, routes, tram, etc.
 * Disposer les QRcodes


 * Robots
 * Robots pour EVE
 * Intégration COQP
 * Intégration Casier NFC (contact de l’équipe pour accès à leur BD, lancer le code sur nos machine)
 * Robot pour la TAG/metro
 * Horaires pour les arrêts de tram
 * Événement (travaux, greves)

Sprint 7 : du 24/03 au 27/03

 * Arduino Galileo
 * Dupliquer les OS Galileo
 * Mettre à jour l'interface d'OpenHAB
 * Préparer la démo (capteurs, OpenHAB, etc.)

(voir les tutoriels sur Galileo)


 * Application mobile
 * Test de l'application sur mobile pour la démo
 * Retouches
 * Intégrer les horaires de tram
 * Mise à jour des descriptions
 * Super admin SmartCampus (ajout item OpenHAB)
 * Mise en production sur le cloud


 * Maquette
 * Disposer les QRcodes


 * Interface administrateur
 * Terminer l’application


 * Autres
 * Casier NFC (projet Walid et Lotfi)
 * Finir les READMEs et nettoyer le dépot


 * Soutenance
 * Diapos
 * Flyer + poster
 * Finir wiki Air

= Galerie =

= Documents et liens annexes =
 * Le dépôt Git se trouve ici
 * Le cahier des charges se trouve ici
 * Tutoriels maison
 * Tutoriels Arduino
 * Tutoriels Galileo