Difference between revisions of "Proj-2014-2015-iRock/SRS"

From air
Jump to navigation Jump to search
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
=1. Introduction=
 
=1. Introduction=
==1.1 Objectif du document d'exigence==
+
==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.
Ce document présente l'objectif du projet iRock, ainsi que les exigences fonctionnelles et non fonctionnelles, les risques, et les critères de qualité.
 
==1.2 Cadre du produit==
 
Ce projet s'inscrit dans le cadre de la dernière année du cycle d'ingénieur en informatique à Polytech Grenoble : RICM5 (Réseaux Informatiques et Communication Multimédia). Il sera mené par une équipe de 4 étudiants (2 en option Multimédia et 2 en option Réseaux) et se déroulera sur 2 mois.
 
   
==1.3 Définitions, acronymes et abréviations==
+
==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.
==1.4 Références==
 
   
  +
* We can calculate the position of sensor by triangulation with signal radio strength
==1.5 Présentation du restant du document==
 
   
  +
* The code used in this project is extensible and open-source.
=2. Description générale=
 
L'objectif de ce projet est de mettre en place un réseau de capteurs visant à prévenir le risque de glissement de terrain.<br>
 
==2.1 Perspective du produit==
 
==2.2 Fonctions du produit==
 
Le produit final est une application qui permet à la fois de gérer le réseau de capteurs, mais aussi dé récupérer et surtout de visualiser les données.
 
Les technologies utilisées seront LoRa pour la communication entre les capteurs, InfluxDb et Grafana pour la visualisation des données
 
==2.3 Caractéristiques de l'utilisateur==
 
L'utilisateur sera vraisemblablement des associations, des entreprises de prévention des risques, des services publics.
 
==2.4 Contraintes générales==
 
   
==2.5 Hypothèses et dépendances==
+
==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 : [[IRock]]
  +
  +
==1.5 Overview of the remainder of the document==
  +
The rest of the SRS examines the specifications of the IRock 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. He want have files of data to reuse it
  +
  +
==2.4 General constraints==
  +
* Communication based only on LoRA technology
  +
* Deployment on non snowy terrain
  +
* The user need to have a standard internet browser
  +
* 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
  +
*The area where rock are left must stay the same
  +
  +
=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:
  +
** At least 5 microcontrollers (mix of STM32 Nucleo, F3 , F4)
  +
** Mbed module for LoRA
  +
** Sparkfun weather station
  +
** Raspberry PI as the access point
  +
** Battery power for a span of a year or 2.
  +
  +
*Software conditions:
  +
** Keil MDK 4 or 5 to debug and flash micro-controllers (discovery board)
  +
** Mbed compiler to debug and flash micro-controllers (nucleo board)
  +
** Grafana and InfluxDB association
  +
** Appropriate relay program flashed on each micro-controller
  +
  +
'''Post-condition''':
  +
  +
'''Side-effects''':
  +
  +
=4. Product evolution=
  +
  +
* Use the updated version of LoRA
  +
* Use STM Cube for future development
  +
* Improve detection and prediction algorithme
  +
* Implement an alarm system
  +
* Enable reprogramming of micro-controllers from the backend
  +
* Add a system to dowload the Excel File from an internet browser
  +
  +
=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
  +
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]
  +
  +
==5.2 Sources==
  +
* SmartCampus 2015 group for LoRA
  +
  +
==5.3 Licensing Requirements==
  +
XBMC extension (or more precisly FollowMe) will be released under a GNU/GPL licence

Latest revision as of 15:50, 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.
  • We can calculate the position of sensor by triangulation with signal radio strength
  • 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 : IRock

1.5 Overview of the remainder of the document

The rest of the SRS examines the specifications of the IRock 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. He want have files of data to reuse it

2.4 General constraints

  • Communication based only on LoRA technology
  • Deployment on non snowy terrain
  • The user need to have a standard internet browser
  • 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
  • The area where rock are left must stay the same

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:
    • At least 5 microcontrollers (mix of STM32 Nucleo, F3 , F4)
    • Mbed module for LoRA
    • Sparkfun weather station
    • Raspberry PI as the access point
    • Battery power for a span of a year or 2.
  • Software conditions:
    • Keil MDK 4 or 5 to debug and flash micro-controllers (discovery board)
    • Mbed compiler to debug and flash micro-controllers (nucleo board)
    • Grafana and InfluxDB association
    • Appropriate relay program flashed on each micro-controller

Post-condition:

Side-effects:

4. Product evolution

  • Use the updated version of LoRA
  • Use STM Cube for future development
  • Improve detection and prediction algorithme
  • Implement an alarm system
  • Enable reprogramming of micro-controllers from the backend
  • Add a system to dowload the Excel File from an internet browser

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

  • SmartCampus 2015 group for LoRA

5.3 Licensing Requirements

XBMC extension (or more precisly FollowMe) will be released under a GNU/GPL licence