Talk:Proj-2014-2015-SmartCampus2015/SRS: Difference between revisions
(Created page with "=1. Introduction= ==1.1 Purpose of the requirements document== This Software Requirements Specification (SRS) identifies the requirements for the RobAIR p...") |
No edit summary |
||
Line 1: | Line 1: | ||
[[Image:SmartCampus-logo.png|400px|thumb|right]] |
|||
=1. Introduction= |
|||
[[Image:SmartCampus2014-001.jpg|400px|thumb|right]] |
|||
==1.1 Purpose of the requirements document== |
|||
[[Image:SmartCampus-RICMTeam2014.jpg|400px|thumb|right|SmartCampus's Team working hard !]] |
|||
This Software Requirements Specification (SRS) identifies the requirements for the [[RobAIR2013 | RobAIR]] project. The purpose of the present document is to explain how we organize our project, the different steps of the conception and the project achievement. |
|||
Encadrants : Didier Donsez et Vivien Quema <br> |
|||
==1.2 Scope of the product== |
|||
Etudiants : (mailing list du projet : [mailto:smartcampus2014@googlegroups.com <smartcampus2014@googlegroups.com>]) |
|||
* The purpose of this project is to send and receive video by webRTC protocol. Moreover, we need to control ROBAIR with our graphic interface. |
|||
* Nicolas Husson (chef de projet) |
|||
* It is a low cost robot (well below the maket price). |
|||
* Thomas Nunes |
|||
* The platform and software used for this robot are extensible and open-source. |
|||
* Morgan Bidois |
|||
==1.3 Definitions, acronyms and abbreviations== |
|||
* Laurène Guelorget |
|||
* '''WebRTC''' : Web Real-Time Communication is an API definition drafted by the World Wide Web Consortium (W3C) that supports browser-to-browser applications for voice calling, video chat, and P2P file sharing without plugins. |
|||
* Simon Planès |
|||
* '''Arduino''' : It is a open-source board with a microcontroller, intended to make the application of interactive objects or environments more accessible. |
|||
<br> |
|||
* '''ROS''' : Robot Operating System is a software framework for robot software development, (see also Robotics middleware) providing operating system-like functionality on a heterogeneous computer cluster. |
|||
Les documents importants : |
|||
* '''telepresence''': It is refers to a set of technologies which allow a person to feel as if they were present, to give the appearance of being present. |
|||
* Le dépôt Git se trouve [https://github.com/thomasNDS/SmartCampus2014 ici] |
|||
* '''Ubuntu''' : is a computer operating system based on the Debian Linux distribution and distributed as free and open source software, using its own desktop environment. |
|||
* Le cahier des charges se trouve [http://air.imag.fr/index.php/SmartCampus2014/CDC ici] |
|||
* '''P2P''' : Peer-to-Peer Protocol is an Application-layer protocol that can be used to form and maintain an overlay among participant nodes. It provides mechanisms for nodes to join, leave, publish, or search for a resource-object in the overlay. |
|||
* [http://air.imag.fr/index.php/SmartCampus2014/Maquette Des photos de la maquette] |
|||
* [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels Divers tutoriels maison], [http://air.imag.fr/index.php/SmartCampus2014/TutoArduino tutoriels Arduino] ,[http://air.imag.fr/index.php/SmartCampus2014/TutoGalileo tutoriels Galileo] et [http://air.imag.fr/index.php/SmartCampus2014/ModeEmploi un mode d'emploi] |
|||
* Le [[Media:flyer_SC.pdf | flyer]] et le [[Media:poster_SC.pdf | poster]] du projet |
|||
* Les [[Media:transparents_sc.pdf|slides de la présentation]] |
|||
<br> |
|||
* [https://www.youtube.com/watch?v=i1yOKK2O4fY&feature=youtu.be Une vidéo de notre maquette] |
|||
<br> |
|||
= Présentation du projet = |
|||
==1.4 References== |
|||
Le projet a débuté le 28 janvier 2014 et va durer environ 2 mois. La page complète du projet se trouve [http://air.imag.fr/index.php/SmartCampus2014 ici] et le cahier des charges est consultable sur [http://air.imag.fr/index.php/SmartCampus2014/CDC cette page]. |
|||
* The global project's page can be found [[RobAIR2014|here]]. |
|||
<br> |
|||
* The last RICM4 groups are working on this project. Here are their wiki 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.<br> |
|||
:- [[RobAIR2013-RICM4-Groupe1-Suivi | Group 1]] |
|||
:- [[RobAIR2013-RICM4-Groupe2-Suivi | Group 2]] |
|||
:- [[RobAIR2013-RICM4-Groupe3-Suivi | Group 3]] |
|||
* official website[http://www.webrtc.org/ webrtc.org] |
|||
* all old projects already done on [http://air.imag.fr/index.php/RobAIR RobAIR] |
|||
* the second group work on robair [http://air.imag.fr/index.php/Proj-2013-2014-RobAIR-2 Proj-2013-2014-RobAIR-] |
|||
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 ». |
|||
==1.5 Overview of the remainder of the document== |
|||
The rest of the SRS examines the specifications of the [[robAIR2014 | robAIR2014]] project in details. Section two of the SRS presents the general factors that affect the robAIR and its requirements, such as user characteristics and project constraints. Section three outlines the detailed, specific and functional requirements, performance, system and other related requirements of the project. Supporting information about appendices is provided in Section three. |
|||
= Progression du projet = |
|||
=2. General description= |
|||
11 sous-projets ont été identifiés et décrits à travers ce diagramme : |
|||
==2.1 Product perspective== |
|||
[[File:gantt1.png | 1050px| center| thumb | Diagramme de Gantt prévisionnel]] |
|||
At first, the user goal is very simple. In fact, he just need to log on our website on join robair connection. After that, he will be able to send/receive video conferance, control the robot with our graphic interface.<br> |
|||
== Sprint 0 : du 28/01 au 02/02 == |
|||
How will work our project ? The user will be connected by websocket to ROBAIR. Next, he will send/receive data (like move commande or video stream) by webrtc channel. When Robair receive the command, he will send it to ROS to do some actions (except stream). |
|||
* 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 [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels#Mosquitto 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 |
|||
<br> |
|||
== Sprint 1 : du 03/02 au 09/02 == |
|||
==2.2 Product functions== |
|||
[[File:Archi02.png | 450px| right| thumb | Architecture globale de SmartCampus (M : extrémité d'une communication MQTT)]] |
|||
[[File:connection.png|400px]]|It's was how webRTC connection works<br/> |
|||
'''Tâches principales''' |
|||
If a user want to join ROBAIR, he will click on "JoinRobair" button. If he want to shut down his stream video, he will click on "stop Video Stream" button. |
|||
* Génie Logiciel : finir l'architecture du projet (1ère version) |
|||
We need a ROS node to convert webrtc instructions to ROS. |
|||
** 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 |
|||
The robot interface functions: |
|||
** voir si le couplage Arduino/OpenHab est possible (voir le [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels#Comment_se_connecter_en_SSH_.C3.A0_la_carte_Galileo tutoriel pour se connecter à la carte en SSH]) |
|||
::- Control the robot |
|||
** faire un choix de techno : Titanium/[[PhoneGap]] en fonction de la RA |
|||
::- close/add stream video |
|||
** petite démo de la techno choisie |
|||
::- join/close channel to communicate with ROBAIR |
|||
* Maquette |
|||
==2.3 User characteristics== |
|||
** plan papier de la maquette (nombre de bâtiments, localisation, etc.) |
|||
The user doesn’t need to be familiar with programming and doesn't need a specific formation.<br> |
|||
** plan SVG des pièces de base pour la découpeuse laser |
|||
He just needs to know how to use a tablet and a television |
|||
** matériel externe (train LEGO, objets imprimante 3D, ...) |
|||
<br> |
|||
'''Tâches additionnelles''' |
|||
==2.4 General constraints== |
|||
* Contacter CROUS, semitag, METRO pour l'open data |
|||
*Platform constraints: |
|||
* Recherche d'une alternative à l'[[Arduino]] si il ne supporte pas openHAB ([[Windows Azure]], [[Raspberry Pi]]) |
|||
::- ROS must operate on an Ubuntu platform. |
|||
* Petite démo d'openHAB avec cette alternative |
|||
::- The Platform need some of this two browsers : chrome/mozilla |
|||
* Couplage de openHAB avec Mosquitto (voir le [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels#Comment_utiliser_openHAB_avec_Mosquitto_.3F tutoriel dédié]) |
|||
*Environemental constraints: |
|||
::- Wifi with Internet access for the robot and for the controller. |
|||
::- The robot can’t climb up steep slopes. |
|||
==2.5 Assumptions and dependencies== |
|||
::- The robot site has wifi access in all the visit area. |
|||
::- The robot base can be accessed at any time. |
|||
::- The robot can be connected with many users |
|||
::- The robot can be control by one user. |
|||
[[File:SmartCampusMaquette02.png | 450px| center | thumb | Plan de la maquette (3x2m)]] |
|||
=3.Specific requirements, covering functional, non-functional and interface requirements= |
|||
* document external interfaces, |
|||
* describe system functionality and performance |
|||
* specify logical database requirements, |
|||
* design constraints, |
|||
* emergent system properties and quality characteristics. |
|||
== Sprint 2 : du 10/02 au 16/02 == |
|||
==3.1 Requirement X.Y.Z (in Structured Natural Language)== |
|||
[[File:smart2014-prototype0.jpg | 200px| right| thumb | Premier prototype de bâtiment]] |
|||
*'''[[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 [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels#Mis_en_place_d.27une_base_de_donn.C3.A9e_mongodb_.28en_locale.29 mongodb], [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels#Mis_en_place_NodeJs_Mongoose Node.js Mongoose] et le [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels#Mis_en_place_NodeJs_Mongoose_MQTT couplage Mongoose/MQTT]) |
|||
** Un prototype alliant serveur MQTT et HTTP |
|||
** Schéma de base de donnée |
|||
* '''Application Cliente de réalité augmentée''' |
|||
Requirement : chrome/mozilla browser must be installed, internet connection between our application and robair, battery charged, access to steering commands the robot, all requirements of last years projects, ROS is used only on Linux systems. |
|||
** Prototype avec lecture d’un [[QRCode]] et affichage du numéro lu |
|||
** Design IHM de l’application : maquettes avec des traits tordus |
|||
'''Function''': receive video trafic, put it on our interface and add directional buttun for control robair remotely via webRTC encoding |
|||
* '''Maquette''' |
|||
'''Description''': use browser interface for video-conference to allow us to control robair |
|||
** Plans SVG d'un prototype |
|||
** Découpe d’un premier prototype |
|||
<br> |
|||
== Sprint 3 : du 17/02 au 23/02 == |
|||
'''Inputs''': webcam, directionnal buttons, voice buttons, create and join channel. |
|||
* '''Arduino Galileo''' |
|||
** OS sur Arduino Galileo / JVM / openHAB / Mosquitto |
|||
** Intégration avec le serveur |
|||
* '''Application mobile''' |
|||
'''Source''': directional button, webcam, webrtc |
|||
** 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 [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels#Int.C3.A9grer_une_carte_Google_et_fixer_ses_limites tutoriel dédié]) |
|||
* '''Maquette''' |
|||
'''Outputs''': webcam, directions information, voices information |
|||
** Plans de tous les bâtiments (planches de 60*40cm) --> Changement de la taille de la maquette |
|||
<br> |
|||
'''Destination''': robair for the direction, robair and us application for the video |
|||
'''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 |
|||
<br> |
|||
== Sprint 4 : du 24/02 au 02/03 == |
|||
'''Action''': |
|||
* '''Arduino Galileo''' |
|||
* Etablished connection between many user |
|||
** OS sur Arduino Galileo / JVM / openHAB / Mosquitto |
|||
* Send/receive video stream |
|||
** Capteurs : pression, température, humidité, NFC, leds, affichage, air quality, afficheur 7 segments, etc. |
|||
* Controle ROBAIR with our interface |
|||
*** leds : chenillard, bouton poussoir |
|||
* Send data (text, sound, directionnal command) |
|||
*** température : alerte led + speaker quand dépassement d'un seuil, affichage sur 7 segments |
|||
*** compteur : BP + afficheur 7 segments |
|||
(voir les [http://air.imag.fr/index.php/SmartCampus2014/TutoArduino tutoriels dédiés]) |
|||
* '''Application mobile''' |
|||
'''Non functional requirements''': |
|||
** Finir design |
|||
::- beautiful HMI. |
|||
** Présentation et validation du design (par le groupe) |
|||
::- We can't restart video after shut down the stream. |
|||
** Petite démo : un mode plein écran + layout (menu top, barre de notifications et conteneurs) |
|||
::- we can't redirect the video stream to a other device. |
|||
::- All users have the directionnal buttons in their interface. We want only one (in progress...) |
|||
''' |
* '''Serveur''' |
||
** Décision sur la méthode de remplissage de la BD |
|||
*materials conditions: |
|||
** Finir le serveur + README |
|||
::- A RobAIR must be connected in the selected place. |
|||
** Simple interface admin SmartCampus (récupérer des données en ajax) |
|||
::- A server to log our website connection. |
|||
::- A equipments with chrome or mozilla browsers. |
|||
* '''Maquette''' |
|||
*Software conditions: |
|||
** Refaire le plan de la maquette (changement de dimensions) |
|||
::- Install the RobAIR2014-Server software on the ubuntu server on ROBAIR. |
|||
** Plans de tous les bâtiments (planches de 60*40cm) |
|||
::- Just need lastest chrome/mozilla version. |
|||
* '''Interface administrateur''' |
|||
'''Post-condition''': |
|||
** Design à gros grain : analyse des besoins et aspect général |
|||
::- The user can do videoconferencing with people who met the robot. |
|||
** Recherche technologique (Ajax, template avec jade, approche modulaire (widgets), etc.) |
|||
::- The user can control the robot by us interface. |
|||
::- The user can send voices data to robair speak. |
|||
<br> |
|||
'''Side-effects''': |
|||
::- bit latency of the stream (in general the quality is nice). |
|||
::- sometimes we have a fail of connection, just restart the connection and all will be functional. |
|||
== Sprint 5 : du 10/03 au 16/03 == |
|||
=4. Product evolution= |
|||
::- add other project like '''COQP''' to selected whitch ROBAIR you want. |
|||
::- Switch between different robots. |
|||
::- Control the robot thanks to a neuronal device. |
|||
::- Thanks to a lidar, the robot makes its own map. (in progress...) |
|||
::- Ability to read QRcodes and display related contents on the tablet. |
|||
::- able to do as we want talk and not with previously saved text |
|||
* '''Arduino Galileo''' |
|||
=5. Appendices= |
|||
** 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''' |
|||
==5.1. SRS structure== |
|||
** Intégration avec le serveur : afficher des éléments |
|||
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard. |
|||
** 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 |
|||
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx |
|||
** Tuto pour ajouter une route personnalisée |
|||
* http://en.wikipedia.org/wiki/Software_requirements_specification |
|||
** Documentation du serveur |
|||
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998] |
|||
* '''Maquette''' |
|||
==5.2 Sources== |
|||
** Plans de tous les bâtiments, qui rentrent sur des planches de 60*40cm |
|||
::- The other groups who work on ROBAIR : |
|||
** Découpe laser de la moitié (ou plus) des bâtiments |
|||
::- [https://developer.mozilla.org/fr/docs/WebRTC developer.mozilla.org] <br> |
|||
::- [http://www.html5rocks.com/en/tutorials/webrtc/basics/ www.html5rocks.com] <br> |
|||
::- [http://www.w3.org/TR/2013/WD-webrtc-20130910/ www.w3.org] (official documentation)<br> |
|||
::- [http://www.simpl.info/index.html www.simpl.info] <br> |
|||
* '''Interface administrateur''' |
|||
==5.3 Licensing Requirements== |
|||
** Premier jet rudimentaire avec layouts + (système widgets) |
|||
RobAIR will be released under a GPL license and will be open-source. |
|||
** 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 |
|||
<br> |
|||
== Sprint 6 : du 17/03 au 23/03 == |
|||
[[Image:SmartCampus-LaserCuttedBuilding1.jpg|200px|thumb|right|Laser Cut Buildings for SmartCampus]] |
|||
[[Image:SmartCampus-LaserCuttedBuilding2.jpg|200px|thumb|right|Laser Cut Buildings for SmartCampus]][[Image:SmartCampus-LaserCuttedBuilding3.jpg|200px|thumb|right|Laser Cutted Building for SmartCampus]] |
|||
* '''Arduino Galileo''' |
|||
** Recherche communication ino/python |
|||
** Dupliquer les OS Galileo |
|||
** Mise en réseaux des Galileo |
|||
(voir les [http://air.imag.fr/index.php/SmartCampus2014/TutoGalileo 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) |
|||
<br> |
|||
== 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 [http://air.imag.fr/index.php/SmartCampus2014/TutoGalileo 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 |
|||
<br> |
|||
= Galerie = |
|||
[[Image:SmartCampus2014-001.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-002.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-003.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-004.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-005.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-006.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-007.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-008.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-009.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-010.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-011.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-012.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-013.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-014.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus2014-015.jpg|200px|Smart Campus 2014]] |
|||
[[Image:SmartCampus-logo.png|200px|Logo]] |
|||
[[Image:SmartCampus-RICMTeam2014.jpg|200px||SmartCampus's Team working hard !]] |
|||
[[Image:SmartCampusMaquette02.png|200px|Plan de la maquette (3x2m)]] |
|||
[[Image:SmartCampusSEMICON01.jpg|200px|Demo SmartCampus @ SEMICOM2014]] |
|||
= Vidéos = |
|||
Vous trouverez ci-desous des liens youtube sur des vidéos d'un partie de notre démo : |
|||
*[http://youtu.be/yzhQsh858uI Allumage+Extinction Leds via openhab avec Galileo sketch arduino] |
|||
*[https://www.youtube.com/watch?v=jeICG9IgD6E Visualisation de donnnées d'un capteur d'humidité et d'un capteur de pollution via Openhab avec Galileo sketch arduino] |
|||
* [https://www.youtube.com/watch?v=i1yOKK2O4fY&feature=youtu.be Une vidéo de notre maquette] |
|||
= Documents et liens annexes = |
|||
* Le dépôt Git se trouve [https://github.com/LaureneGuelorget/SmartCampus2014 ici] |
|||
* Le cahier des charges se trouve [http://air.imag.fr/index.php/SmartCampus2014/CDC ici] |
|||
* [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels Tutoriels maison] |
|||
* [http://air.imag.fr/index.php/SmartCampus2014/TutoArduino Tutoriels Arduino] |
|||
* [http://air.imag.fr/index.php/SmartCampus2014/TutoGalileo Tutoriels Galileo] |
|||
= Récompenses = |
|||
* [http://www.trophee-objets-connectes.fr/ 1er Trophée des Objets Connectés] : [https://twitter.com/umanlife/status/479677774341627904/photo/1 Prix projet de recherche] |
|||
[[Image:SmartCampus-Trophee-Equipe-1.jpg|200px|Trophée Objets Connectés pour Smart Campus 2014]][[Image:SmartCampus-Trophee-Equipe-2.jpg|400px|Trophée Objets Connectés pour Smart Campus 2014]] |
|||
= Présentations / Expositions = |
|||
==EclipseCon Toulouse 2014== |
|||
Démonstration à distance |
|||
==Makerfaire Paris 2014== |
|||
http://www.makerfaireparis.com/ |
|||
Sur le stand Intel Software Academic |
|||
==SEMICON, Grenoble== |
|||
Présentation au salon SEMICOM 2014, Grenoble, http://www.semiconeuropa.org/ |
|||
[[Image:SmartCampusSEMICON01.jpg|300px|Demo SmartCampus @ SEMICOM2014]] |
|||
==Journée GreLibre, Grenoble== |
|||
Journee GreLibre Open Data et Open SOurce le 18/10/2014 à la Mairie de Grenoble. |
Revision as of 12:43, 9 March 2015
Encadrants : Didier Donsez et Vivien Quema
Etudiants : (mailing list du projet : <smartcampus2014@googlegroups.com>)
- Nicolas Husson (chef de projet)
- Thomas Nunes
- Morgan Bidois
- Laurène Guelorget
- Simon Planès
Les documents importants :
- 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 ,tutoriels Galileo et un mode d'emploi
- Le flyer et le poster du projet
- Les slides de la présentation
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 (Windows 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
- 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
(voir les tutoriels dédiés)
- 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
Vidéos
Vous trouverez ci-desous des liens youtube sur des vidéos d'un partie de notre démo :
- Allumage+Extinction Leds via openhab avec Galileo sketch arduino
- Visualisation de donnnées d'un capteur d'humidité et d'un capteur de pollution via Openhab avec Galileo sketch arduino
- Une vidéo de notre maquette
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
Récompenses
Présentations / Expositions
EclipseCon Toulouse 2014
Démonstration à distance
Makerfaire Paris 2014
http://www.makerfaireparis.com/
Sur le stand Intel Software Academic
SEMICON, Grenoble
Présentation au salon SEMICOM 2014, Grenoble, http://www.semiconeuropa.org/
Journée GreLibre, Grenoble
Journee GreLibre Open Data et Open SOurce le 18/10/2014 à la Mairie de Grenoble.