Talk:Proj-2014-2015-SmartCampus2015/SRS

=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:
 * http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
 * http://en.wikipedia.org/wiki/Software_requirements_specification
 * IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998

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.