RICM4 2017 2018 - Serre Connectee / SRS

=1.  Introduction=

1.1 Purpose of the requirements document
The Software Requirements Specification (SRS) is a communication tool between stakeholders and software designers. It gives a description of the software’s purpose and functionality. In other words, the SRS is a document that captures complete description about how the system is expected to perform.

1.2 Scope of the product
The project consist of upgrading a classic greenhouse to retrieve live information about its climate. This information should be available for the farmer to view locally on a screen.

1.3 Definitions, acronyms and abbreviations

 * Greenhouse: an area, usually chiefly of glass, in which the temperature is maintained within a desired range, used for cultivating tender plants or growing plants out of season.
 * LoRa: Long Range and low energy radio RF technology developed by Semtech. It's an open-source technology.

1.4 References

 * Subject [FR]

1.5 Overview of the remainder of the document
We'll then dive deeper into specification and requirements of the project.

=2.  General description=

2.1 Product perspective

 * The aim of this projet is equip to equip multiples farms, not only one greenhouse.
 * This project may become a flagship project for ST MicroElectronics

2.2 Product functions
At the end, product should return: And display these data on a local graphic interface (dashboard).
 * The air temperature
 * The air moisture
 * The soil moisture

2.3 User characteristics

 * Even though those specifics farmers in St Cassien are (former) engineer, we should assume no technical background from the users to be able to use this systems for others farms.
 * Users are busy enough with their activity, we shouldn't assume they have time for complex deployment and maintenance.

2.4 General constraints

 * The energy source : There is no power near of the greenhouse, consequently we'll use a battery and a solar panel.
 * Duty Cycle : We can use only 1% of the time in order to comply with the law.
 * Sensors needs to be moveable : Vehicles should be able to move along the greenhouse.
 * Easy deployment : we aim to provide an easy way of setting up the systems :
 * Via an easy sets of instructions (tutorial)
 * And/or by using a docker image, containing all the necessary (dependencies and configurations).

2.5 Assumptions and dependencies

 * We assume that the solar pannels will sufficient enough to provide for the sensors.
 * We assume that the farm itself will have no (or not long) power outage.

=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)
Function: Sensors' measures access.

Description: The farmer need to be able to view the measurements on a screen at any time.

Inputs: Measurements and data from the sensors (Humidity of air/soil and ambiant temperature).

Source: NUCLERO-L073RZ

Outputs: Visual graph on the screen, using graphana visualization.

Destination: Raspberry's InfluxDB

Action: Visualization

Non functional requirements: Acceptability / maintainability

Pre-condition: All equipments are powered and properly working.

Post-condition: Same state as pre-condition

Side-effects: None (visualization is a "passive" action)

=4. Product evolution= In this iteration we aim to provide a local data viewer. Other groups are working towards an online dashboard solution. It might be interesting to group all this data on the same online virtual machine.

=5. Appendices= =6. Index=