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 : a browser must be available to show our web site, captors and server must be on. Function: send and receive sensors data, put it on our databse and show these data on the web site.

Description: use browser interface for select and see data.

Destination: database for the storage of data, the website to the display of data.

Action:
 * Etablished connection between chip
 * Send/receive data
 * show data on the web site

Non functional requirements:
 * - LoraMac implementation
 * - AES encryptage (works in local but not between two chip)
 * - OpenBas implementation
 * - centralized OpenHab

Pre-condition:
 * materials conditions:
 * - Battery on our chip.
 * - A server to log our website connection.
 * - A equipments with browsers.


 * Software conditions:
 * - mqtt, python, nodejs, bower, mongo.
 * - Just need a browser.

Post-condition:
 * - The user can select subsection to see different kind of data (temperature, pressure and so on).
 * - The user zoom/unzoom on graphes.
 * - The user can see in real time the position of the tramways.

Side-effects:
 * - no side effects

=4. Product evolution=
 * - Realize geocalisation of tramway
 * - home automation
 * - no limit ?

=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 group Irock.
 * - mbed.org

5.3 Licensing Requirements

 * - Semtech
 * - mbed