Proj-2014-2015-iRock/SRS: Difference between revisions
Line 51: | Line 51: | ||
==3.1 Requirement X.Y.Z (in Structured Natural Language)== |
==3.1 Requirement X.Y.Z (in Structured Natural Language)== |
||
Requirement : Grafana and InfluxDB installed on selected server hosting provider with enough bandwidth to accomodate the incoming data. |
|||
Requirement : same version of Kodi (former XBMC) installed on the computers used as screens, our Addon installed on these computers, our version of the remote control application installed on an android device with NFC technology and Wi-Fi, a network between computers and android device, kinect sdk installed on the computers used with kinect mode, NFC tags, files shared on the network |
|||
'''Function''': allow user to |
'''Function''': allow user to visualise environmental data sent over a long distance by LoRA Technology, and then predict landslides occurences. |
||
'''Description''': Using LoRA enabled radio and sensors embedded to various microcontrollers (STM32 Nucleo STM32 F3, STM32 F4), we will get environmental data such as temperature, humidity, and land movement relayed to a time-based database and from theron, analyse the data and predict lanslides. |
|||
'''Inputs''': environmental data such as temperature, humidity and movement |
|||
'''Description''': an android application and a Kodi Addon to |
|||
'''Source''': STM32 Nucleo, F3 F4 and LoRA radio module |
|||
'''Outputs''': Time-based graphs and MS Excel files |
|||
'''Inputs''': options in the Addon, options in the Android application, number of person in front of a screen, "position" of the user |
|||
'''Destination''': User and prediction algorithm |
|||
'''Source''': keyboard or mouse in the Addon option menu in Kodi, ouch screen on the Android device, kinect, NFC tags for the "position" |
|||
'''Outputs''': video or sound, depending of the media played |
|||
'''Destination''': user(s) |
|||
'''Action''': |
'''Action''': |
||
* Deploy iRocks evenly over a terrain the size of a football field |
|||
* play media using network shared files |
|||
* Start Grafana and InfluxDB |
|||
* resume play of media on various screen |
|||
* If applicable, start prediction algorithm on output (Grafana or Excel files) |
|||
* automatically add host on the remote control Android applicaion thanks to NFC tags |
|||
'''Non functional requirements''': |
'''Non functional requirements''': |
Revision as of 09:59, 23 March 2015
1. Introduction
1.1 Purpose of the requirements document
This Software Requirements Specification (SRS) identifies the requirements for the iRock project. This document is a guideline about the functionalities offered and the problems that the system solves.
1.2 Scope of the product
- The purpose of this project is to allow its users to predict and detect landslides and based on information sent by a number of sensors and radios embedded to microcontrollers.
- The code used in this project is extensible and open-source.
1.3 Definitions, acronyms and abbreviations
- LORA : 2-way wireless solution that complements M2M cellular infrastructure, and provides a low-cost way to connect battery operated and mobile devices to the network infrastructure
- SX1276 : A stable implementation of LORA
- Mbed : A platform and operating system for internet-connected devices based on 32-bit ARM Cortex-M microcontrollers
- STM32 Nucleo : An affordable and flexible way for users to try out new ideas and build prototypes with any STM32 microcontroller line, choosing from the various combinations of performance, power consumption and features.
- Keil : Complete software development environment for a wide range of ARM, Cortex-M, and Cortex-R based microcontroller devices.
1.4 References
- Page of the project : Extensions XBMC Sujet 2015
- Last year project : Extensions XBMC Sujet 2014
1.5 Overview of the remainder of the document
The rest of the SRS examines the specifications of the Extensions XBMC 2015 project in details. Section two of the SRS presents the general features of the FollowME extension. Section three outlines the detailed, specific and functional requirements, system and other related requirements of the project. Supporting information about appendices is provided in Section three.
2. General description
2.1 Product perspective
Monitor changes in environment such as temperature, movement, humidity and radio signal in order to detect landslides and predict the possibility of lanslides based on history
2.2 Product functions
The product has a built in relay infrastructure that transfer environmental data from the micro-controllers to a backend processing unit that stores the data in a time-based database. Analysis and prediction can be made based on this database, which is visualised in time graphs on Grafana.
2.3 User characteristics
The user does not need to be familiar with coding or computer science. But preliminary knowledge on geotechnical aspects of landslides is prefered to interpret the history of environmental data.
2.4 General constraints
- Communication based only on LoRA technology
- Deployment on non snowy terrain
- The user need to have a standard EC Amazon account activated for the backend
- Alarm notification system is not included in the scope of our project
2.5 Assumptions and dependencies
- Product availability/uptime depends on backend host provider
- No obstacles between radio embedded micro-controllers
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 : Grafana and InfluxDB installed on selected server hosting provider with enough bandwidth to accomodate the incoming data.
Function: allow user to visualise environmental data sent over a long distance by LoRA Technology, and then predict landslides occurences.
Description: Using LoRA enabled radio and sensors embedded to various microcontrollers (STM32 Nucleo STM32 F3, STM32 F4), we will get environmental data such as temperature, humidity, and land movement relayed to a time-based database and from theron, analyse the data and predict lanslides.
Inputs: environmental data such as temperature, humidity and movement
Source: STM32 Nucleo, F3 F4 and LoRA radio module
Outputs: Time-based graphs and MS Excel files
Destination: User and prediction algorithm
Action:
- Deploy iRocks evenly over a terrain the size of a football field
- Start Grafana and InfluxDB
- If applicable, start prediction algorithm on output (Grafana or Excel files)
Non functional requirements:
Pre-condition:
- materials conditions:
- Android device with Wi-Fi and NFC
- NFC tags
- computers with screens
- network
- kinect (optionnal)
- Software conditions:
- netwotk between coputers used as screens and android device
- shared media files on the network between machines
- same version of Kodi on every computers used as screeens
- our Kodi Addon installed on the computers used as scrrens
- our remote control android applciation installed on the Android device
- kinect sdk installed on computer(s) where the kinect(s) is(are) connected
Post-condition:
Side-effects:
4. Product evolution
- Use of Bluetooth instead of/with the NFC tags
- Find a way to avoid installing Kinect sdk to use the Addon
- Play (a movie or a music) on the remote between two screens using an elegant method
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 Kodi/XBMC extensions
- www.microsoft.com/en-us/kinectforwindows
- developer.android.com
- www.python.org
- mirrors.xbmc.org/docs/
5.3 Licensing Requirements
XBMC extension (or more precisly FollowMe) will be released under a GNU/GPL licence