Difference between revisions of "Talk:Proj-2014-2015-SmartCampus2015/SRS"

From air
Jump to navigation Jump to search
 
(14 intermediate revisions by one other user not shown)
Line 1: Line 1:
  +
=1. Introduction=
[[Image:SmartCampus-logo.png|400px|thumb|right]]
 
  +
==1.1 Purpose of the requirements document==
[[Image:SmartCampus2014-001.jpg|400px|thumb|right]]
 
  +
This Software Requirements Specification (SRS) identifies the requirements for the SmartCampus2015 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.
[[Image:SmartCampus-RICMTeam2014.jpg|400px|thumb|right|SmartCampus's Team working hard !]]
 
Encadrants : Didier Donsez <br>
 
Etudiants : (mailing list du projet : [mailto:smartcampus2015@googlegroups.com <smartcampus2014@googlegroups.com>])
 
* Augustin Husson (chef de projet)
 
* Jérôme Barbier
 
* Rodolphe Freby
 
* Labat Paul
 
* Adji Sambe
 
<br>
 
Les documents importants :
 
* Le dépôt Git se trouve [https://github.com/Nexucis/SmartCampus ici]
 
   
  +
==1.2 Scope of the product==
= Présentation du projet =
 
  +
* The purpose of this project is to send and receive data with long range (more than 20km). Moreover, we need to create a web site for show this data in real time.
Le projet a débuté le 28 janvier 2015 et va durer environ 2 mois. La page complète du projet se trouve [http://air.imag.fr/index.php/SmartCampus2015 ici]
 
  +
* For example we will show temperature data on a graph.
  +
* Realize a contract with TAG compagny to connect our captor and collect position data about tramway.
  +
* The goal is to overconnected our campus.
   
  +
==1.3 Definitions, acronyms and abbreviations==
<br>
 
  +
* '''STM32''' : A family of 32-bit microcontroller integrated circuits by STMicroelectronics.
L’équipe est formée de 5 membres de RICM5, tous sont en option Systèmes et Réseaux. Le chef de projet est Augustin Husson.<br>
 
  +
* '''Nucleo L152RE''' : A is family of boards by STMicroelectronics with mbed IDE development
  +
* '''Mbed''' : This is a platform and operating system for internet-connected devices based on 32-bit ARM Cortex-M microcontrollers.
  +
* '''LoraMac''' : A communication protocol for LoRa technology.
  +
* '''MQTT''' : (formerly Message Queue Telemetry Transport), this is a publish-subscribe based "light weight" messaging protocol for use on top of the TCP/IP protocol.
  +
* '''libelium''' : A company selling compatible circuits with LoRa technology.
  +
* '''Weather Shield''' : This is an Arduino shield that provide some data : barometric pressure, relative humidity, luminosity, temperature,wind speed, direction, rain gauge and GPS.
   
  +
==1.4 References==
Durant ce projet innovant, nous utilisons la méthodologie Agile et le Scrum Master est Jérôme BARBIER. La durée d’un sprint a été déterminée à une semaine.
 
  +
* The global project's page can be found : [http://air.imag.fr/index.php/Proj-2014-2015-SmartCampus2015 here].
  +
* official website : [https://mbed.org/ mbed.org]
  +
* all old projects already done on : [http://air.imag.fr/index.php/SmartCampus2014/FicheSuivi SmartCampus]
  +
* the second group work on this technologie : [http://air.imag.fr/index.php/Proj-2014-2015-iRock Irock]
   
  +
==1.5 Overview of the remainder of the document==
= Progression du projet =
 
  +
The rest of the SRS examines the specifications of the [http://air.imag.fr/index.php/SmartCampus2014/FicheSuivi SmartCampus2014] project in details.
11 sous-projets ont été identifiés et décrits à travers ce diagramme :
 
[[File:gantt1.png | 1050px| center| thumb | Diagramme de Gantt prévisionnel]]
 
   
  +
=2. General description=
== Sprint 0 : du 28/01 au 02/02 ==
 
  +
==2.1 Product perspective==
* compréhension du sujet
 
  +
At first, the user goal is very simple. In fact, he just need to log on our website and select which data he wants to see. After that, he will be able to show different kind of data : temperature, pressure, localisation of tramway.<br>
* recherche sur les technologies utilisables : [[OpenHAB]], protocole [[MQTT]] (et ses implémentations) pour la communication M2M...
 
  +
How will work our project ? Some device are connected and send data (for example temperature) to our server. The user (connected on our web site) will see all these data in real time.
* 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>
 
   
  +
==2.2 Product functions==
== Sprint 1 : du 03/02 au 09/02 ==
 
  +
System architecture :
[[File:Archi02.png | 450px| right| thumb | Architecture globale de SmartCampus (M : extrémité d'une communication MQTT)]]
 
  +
[Mettre l'image]
'''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
 
   
  +
==2.3 User characteristics==
* Recherches et application des technologies
 
  +
The user doesn’t need to be familiar with programming and doesn't need a specific formation.<br>
** 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])
 
  +
He just needs to know how to use a browser.
** faire un choix de techno : Titanium/[[PhoneGap]] en fonction de la RA
 
** petite démo de la techno choisie
 
   
  +
==2.4 General constraints==
* Maquette
 
  +
*Platform constraints:
** plan papier de la maquette (nombre de bâtiments, localisation, etc.)
 
  +
::- ROS must operate on an Ubuntu platform.
** plan SVG des pièces de base pour la découpeuse laser
 
  +
::- The Platform need some of this two browsers : chrome/mozilla
** matériel externe (train LEGO, objets imprimante 3D, ...)
 
  +
*Environemental constraints:
<br>
 
  +
::- Wifi with Internet access for the robot and for the controller.
  +
::- The robot can’t climb up steep slopes.
   
  +
==2.5 Assumptions and dependencies==
'''Tâches additionnelles'''
 
  +
::- Captors needs battery.
* Contacter CROUS, semitag, METRO pour l'open data
 
  +
::- A server for our web site.
* Recherche d'une alternative à l'[[Arduino]] si il ne supporte pas openHAB ([[Windows Azure]], [[Raspberry Pi]])
 
  +
::- A browser for use our web site.
* Petite démo d'openHAB avec cette alternative
 
* Couplage de openHAB avec Mosquitto (voir le [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels#Comment_utiliser_openHAB_avec_Mosquitto_.3F tutoriel dédié])
 
   
  +
=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.
   
  +
==3.1 Requirement X.Y.Z (in Structured Natural Language)==
[[File:SmartCampusMaquette02.png | 450px| center | thumb | Plan de la maquette (3x2m)]]
 
   
  +
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.
== Sprint 2 : du 10/02 au 16/02 ==
 
  +
[[File:smart2014-prototype0.jpg | 200px| right| thumb | Premier prototype de bâtiment]]
 
  +
'''Function''': receive video trafic, put it on our interface and add directional buttun for control robair remotely via webRTC encoding
*'''[[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
 
   
  +
'''Description''': use browser interface for video-conference to allow us to control robair
* '''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
 
   
  +
'''Inputs''': webcam, directionnal buttons, voice buttons, create and join channel.
* '''Maquette'''
 
** Plans SVG d'un prototype
 
** Découpe d’un premier prototype
 
<br>
 
   
  +
'''Source''': directional button, webcam, webrtc
== Sprint 3 : du 17/02 au 23/02 ==
 
* '''Arduino Galileo'''
 
** OS sur Arduino Galileo / JVM / openHAB / Mosquitto
 
** Intégration avec le serveur
 
   
  +
'''Outputs''': webcam, directions information, voices information
* '''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 [http://air.imag.fr/index.php/SmartCampus2014/Tutoriels#Int.C3.A9grer_une_carte_Google_et_fixer_ses_limites tutoriel dédié])
 
   
  +
'''Destination''': robair for the direction, robair and us application for the video
* '''Maquette'''
 
** Plans de tous les bâtiments (planches de 60*40cm) --> Changement de la taille de la maquette
 
   
  +
'''Action''':
<br>
 
  +
* Etablished connection between many user
'''Tâches additionnelles'''
 
  +
* Send/receive video stream
* Découpe de la moitié des bâtiments
 
  +
* Controle ROBAIR with our interface
* Montage des bâtiments (chercher de la colle à bois)
 
  +
* Send data (text, sound, directionnal command)
* Découpe routes, terrains, pistes cyclables
 
* Une cafetière dans la salle robotique
 
<br>
 
   
  +
'''Non functional requirements''':
== Sprint 4 : du 24/02 au 02/03 ==
 
  +
::- beautiful HMI.
* '''Arduino Galileo'''
 
  +
::- We can't restart video after shut down the stream.
** OS sur Arduino Galileo / JVM / openHAB / Mosquitto
 
  +
::- we can't redirect the video stream to a other device.
** Capteurs : pression, température, humidité, NFC, leds, affichage, air quality, afficheur 7 segments, etc.
 
  +
::- All users have the directionnal buttons in their interface. We want only one (in progress...)
*** 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 [http://air.imag.fr/index.php/SmartCampus2014/TutoArduino tutoriels dédiés])
 
   
* '''Application mobile'''
+
'''Pre-condition''':
  +
*materials conditions:
** Finir design
 
  +
::- A RobAIR must be connected in the selected place.
** Présentation et validation du design (par le groupe)
 
  +
::- A server to log our website connection.
** Petite démo : un mode plein écran + layout (menu top, barre de notifications et conteneurs)
 
  +
::- A equipments with chrome or mozilla browsers.
   
  +
*Software conditions:
* '''Serveur'''
 
  +
::- Install the RobAIR2014-Server software on the ubuntu server on ROBAIR.
** Décision sur la méthode de remplissage de la BD
 
  +
::- Just need lastest chrome/mozilla version.
** Finir le serveur + README
 
** Simple interface admin SmartCampus (récupérer des données en ajax)
 
   
* '''Maquette'''
+
'''Post-condition''':
  +
::- The user can do videoconferencing with people who met the robot.
** Refaire le plan de la maquette (changement de dimensions)
 
  +
::- The user can control the robot by us interface.
** Plans de tous les bâtiments (planches de 60*40cm)
 
  +
::- The user can send voices data to robair speak.
   
  +
'''Side-effects''':
* '''Interface administrateur'''
 
  +
::- bit latency of the stream (in general the quality is nice).
** Design à gros grain : analyse des besoins et aspect général
 
  +
::- sometimes we have a fail of connection, just restart the connection and all will be functional.
** Recherche technologique (Ajax, template avec jade, approche modulaire (widgets), etc.)
 
   
  +
=4. Product evolution=
<br>
 
  +
::- 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
   
  +
=5. Appendices=
== Sprint 5 : du 10/03 au 16/03 ==
 
   
  +
==5.1. SRS structure==
* '''Arduino Galileo'''
 
  +
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.
** 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'''
+
'''References:'''
  +
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
** Intégration avec le serveur : afficher des éléments
 
  +
* http://en.wikipedia.org/wiki/Software_requirements_specification
** Intégration avec le serveur : envoyer des éléments (crowdsourcing)
 
  +
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]
** Test avec GeckoView
 
** Test plus complet ChromeView
 
** Travailler le crowdsourcing
 
   
  +
==5.2 Sources==
* '''Serveur'''
 
  +
::- The other groups who work on ROBAIR :
** Super admin SmartCampus : fonctionnalités (+ implémentation) et design interface
 
  +
::- [https://developer.mozilla.org/fr/docs/WebRTC developer.mozilla.org] <br>
** Tuto pour ajouter une route personnalisée
 
  +
::- [http://www.html5rocks.com/en/tutorials/webrtc/basics/ www.html5rocks.com] <br>
** Documentation du serveur
 
  +
::- [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>
   
  +
==5.3 Licensing Requirements==
* '''Maquette'''
 
  +
RobAIR will be released under a GPL license and will be open-source.
** 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
 
<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.
 

Latest revision as of 15:44, 9 March 2015

1. Introduction

1.1 Purpose of the requirements document

This Software Requirements Specification (SRS) identifies the requirements for the SmartCampus2015 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.

1.2 Scope of the product

  • The purpose of this project is to send and receive data with long range (more than 20km). Moreover, we need to create a web site for show this data in real time.
  • For example we will show temperature data on a graph.
  • Realize a contract with TAG compagny to connect our captor and collect position data about tramway.
  • The goal is to overconnected our campus.

1.3 Definitions, acronyms and abbreviations

  • STM32 : A family of 32-bit microcontroller integrated circuits by STMicroelectronics.
  • Nucleo L152RE : A is family of boards by STMicroelectronics with mbed IDE development
  • Mbed : This is a platform and operating system for internet-connected devices based on 32-bit ARM Cortex-M microcontrollers.
  • LoraMac : A communication protocol for LoRa technology.
  • MQTT : (formerly Message Queue Telemetry Transport), this is a publish-subscribe based "light weight" messaging protocol for use on top of the TCP/IP protocol.
  • libelium : A company selling compatible circuits with LoRa technology.
  • Weather Shield : This is an Arduino shield that provide some data : barometric pressure, relative humidity, luminosity, temperature,wind speed, direction, rain gauge and GPS.

1.4 References

  • The global project's page can be found : here.
  • official website : mbed.org
  • all old projects already done on : SmartCampus
  • the second group work on this technologie : Irock

1.5 Overview of the remainder of the document

The rest of the SRS examines the specifications of the SmartCampus2014 project in details.

2. General description

2.1 Product perspective

At first, the user goal is very simple. In fact, he just need to log on our website and select which data he wants to see. After that, he will be able to show different kind of data : temperature, pressure, localisation of tramway.
How will work our project ? Some device are connected and send data (for example temperature) to our server. The user (connected on our web site) will see all these data in real time.

2.2 Product functions

System architecture : [Mettre l'image]

2.3 User characteristics

The user doesn’t need to be familiar with programming and doesn't need a specific formation.
He just needs to know how to use a browser.

2.4 General constraints

  • Platform constraints:
- ROS must operate on an Ubuntu platform.
- The Platform need some of this two browsers : chrome/mozilla
  • 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

- Captors needs battery.
- A server for our web site.
- A browser for use our web site.

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.

3.1 Requirement X.Y.Z (in Structured Natural Language)

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.

Function: receive video trafic, put it on our interface and add directional buttun for control robair remotely via webRTC encoding

Description: use browser interface for video-conference to allow us to control robair

Inputs: webcam, directionnal buttons, voice buttons, create and join channel.

Source: directional button, webcam, webrtc

Outputs: webcam, directions information, voices information

Destination: robair for the direction, robair and us application for the video

Action:

  • Etablished connection between many user
  • Send/receive video stream
  • Controle ROBAIR with our interface
  • Send data (text, sound, directionnal command)

Non functional requirements:

- beautiful HMI.
- We can't restart video after shut down the stream.
- 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...)

Pre-condition:

  • materials conditions:
- A RobAIR must be connected in the selected place.
- A server to log our website connection.
- A equipments with chrome or mozilla browsers.
  • Software conditions:
- Install the RobAIR2014-Server software on the ubuntu server on ROBAIR.
- Just need lastest chrome/mozilla version.

Post-condition:

- The user can do videoconferencing with people who met the robot.
- The user can control the robot by us interface.
- The user can send voices data to robair speak.

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.

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

5. Appendices

5.1. SRS structure

The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.

References:

5.2 Sources

- The other groups who work on ROBAIR :
- developer.mozilla.org
- www.html5rocks.com
- www.w3.org (official documentation)
- www.simpl.info

5.3 Licensing Requirements

RobAIR will be released under a GPL license and will be open-source.