Files
MSE-PI-E2EEDA-Plein-de-eeee…/report/main/specifications/05-objectives.typ

111 lines
9.6 KiB
Typst

#import "/metadata.typ": *
#pagebreak()
= Objectives <sec:spec:objectives>
In the various objectives, the "environment data" refers, at least, to the room temperature, the CO2 level in the room and the room's windows opening status.\
Each objective are either mandatory (MOx), optional (OOx) or personal (POx).
In the latter case, the associated student is indicated alongside.
#v(1.5em)
#set enum(indent: 1em)
//////////////////////////////
//////////////////////////////
#let objectives = [
#show: el.config.ref
#show: el.default-enum-list
#set enum(numbering: "MO1")
+ The environmental data for the observed rooms are stored in a database with an associated timestamp. #el.elabel(<mo:database>) #pause
+ The stored environmental data can be displayed in a 2D map.
The display allows to show both stored and live data. #el.elabel(<mo:map>) #pause
+ Using the stored environmental data, alongside external meteorological data, the system send a notification when the windows should be opened or closed.
This recommendations are based on the minimal time required to reduce the @co2 level in the room. #el.elabel(<mo:recommendation>) #pause
+ The changes in temperature when airing the room, with regards to outside temperature, are analysed and used for the window opening time recommendations. #el.elabel(<mo:analyse>) #pause
#v(1.5em)
#set enum(numbering: "OO1")
+ The display in MO2 /*@mo:map*/ also allows to display the prevision outputted by MO3 /*@mo:recommendation*/
+ The frequency of recorded data can be adjusted by the sensor to increase the autonomy
#v(1.5em)
#set enum(numbering: "PO1")
+ [Adrien]: A low-power firmware is fully developed on a nordic chip using Zephyr as the embedded OS.
The emphasise on the low-power elements allows for the firmware to run for days without charging the device again.\
Both these technologies are new for the student.
+ [Dimitri] A machine learning model is developed to predict the optimal moments to open windows, balancing @co2 reduction against thermal losses. The model is trained on historical sensor data and external weather data. Working with time series data and applying machine learning to a physical system are both new competencies for the student.
+ [Ibrahima]: A secure microservices architecture is developed using Spring Boot with emphasis on production-grade security (mutual TLS for IoT devices, JWT RS256 authentication, RBAC authorization, GDPR compliance). The system processes real-time sensor data via MQTT and delivers live updates through WebSocket to an Angular dashboard. Both distributed systems security and IoT protocol implementation are new competencies for the student.
+ [Alison]: A physical model will be developed using Matlab or Python to analyse the evolution of @co2 concentration as a function of several parameters, such as the classroom volume, the number of students, and the duration of window opening. The model will also estimate the thermal losses associated with window ventilation and will provide recommendations to optimise both indoor air quality and energy performance. As the student has limited experience in programming, the development of this model will also represent an opportunity to acquire and strengthen these skills.
+ [Djelal]: A communication layer will be developed to bridge the sensor nodes and the backend infrastructure, using a Raspberry Pi as a BLE-to-MQTT gateway. The gateway will continuously collect environmental data (CO₂, temperature, and window status) from multiple Nordic Thingy:52 nodes via BLE GATT services, enrich each measurement with a timestamp, and publish it to a Mosquitto MQTT broker in a structured JSON format. The design will emphasise reliability through automatic reconnection mechanisms and a clean abstraction between the BLE acquisition layer and the MQTT publishing layer. A basic security layer will also be implemented, including access control on the BLE side to restrict communication to known devices, and authentication mechanisms on the MQTT broker (username/password) to prevent unauthorized data injection. While this approach does not provide full end-to-end security, it reflects a lightweight and realistic security model for a constrained IoT deployment. Both BLE communication protocols and MQTT-based IoT messaging represent new competencies for me, and this project constitutes a significant challenge that I have chosen to undertake. Directly aligned with my orientation in communication systems, it provides an opportunity to apply and deepen these skills in a concrete, real-world context.
#let remi-serious-objectiv = [
A data infrastructure is automated, deployed both in productive and development environment. The database is automatically configured and populated by external MeteoSwiss data.
The student didn't experiment automatic deploy /configuration and multi-environment.
]
#let remi-fun-objectiv = [Solve Maxwell's equations]
+ [Rémi]: #remi-serious-objectiv
]
#let objectives-mo = [
#show: el.config.ref
#show: el.default-enum-list
#set enum(numbering: "MO1")
+ The environmental data for the observed rooms are stored in a database with an associated timestamp. #el.elabel(<mo:database>) #pause
+ The stored environmental data can be displayed in a 2D map.
The display allows to show both stored and live data. #el.elabel(<mo:map>) #pause
+ Using the stored environmental data and known physical model, the system send a notification when the windows should be opened. This recommendations are based on the co2 level in the room. #el.elabel(<mo:recommendation>) #pause
+ The changes in temperature when airing the room, with regards to outside temperature, are analysed and used for the window opening time recommendations. #el.elabel(<mo:analyse>) #pause
]
#let objectives-oo = [
#show: el.config.ref
#show: el.default-enum-list
#set enum(numbering: "OO1")
+ The display in MO2 /*@mo:map*/ also allows to display the prevision outputted by MO3 /*@mo:recommendation*/
+ The frequency of recorded data can be adjusted by the sensor to increase the autonomy
]
#let objectives-po = [
#show: el.config.ref
#show: el.default-enum-list
#set enum(numbering: "PO1")
+ [Adrien]: A low-power firmware is fully developed on a nordic chip using Zephyr as the embedded @os.
The emphasise on the low-power elements allows for the firmware to run for days without charging the device again.\
Both these technologies are new for the student.
+ [Dimitri] A machine learning model is developed to predict the optimal moments to open windows, balancing @co2 reduction against thermal losses. The model is trained on historical sensor data and external weather data. Working with time series data and applying machine learning to a physical system are both new competencies for the student.
+ [Ibrahima]: A secure microservices architecture is developed using Spring Boot with emphasis on production-grade security (mutual @tls for @iot devices, JWT RS256 authentication, RBAC authorization, GDPR compliance). The system processes real-time sensor data via @mqtt and delivers live updates through WebSocket to an Angular dashboard. Both distributed systems security and IoT protocol implementation are new competencies for the student.
+ [Alison]: A physical model will be developed using Matlab or Python to analyse the evolution of @co2 concentration as a function of several parameters, such as the classroom volume, the number of students, and the duration of window opening. The model will also estimate the thermal losses associated with window ventilation and will provide recommendations to optimise both indoor air quality and energy performance. As the student has limited experience in programming, the development of this model will also represent an opportunity to acquire and strengthen these skills.
+ [Djelal]: A communication layer will be developed to bridge the sensor nodes and the backend infrastructure, using a Raspberry Pi as a BLE-to-MQTT gateway. The gateway will continuously collect environmental data (@co2, temperature, and window status) from multiple Nordic Thingy:52 nodes via @ble GATT services, enrich each measurement with a timestamp, and publish it to a Mosquitto @mqtt broker in a structured JSON format. The design will emphasise reliability through automatic reconnection mechanisms and a clean abstraction between the @ble acquisition layer and the @mqtt publishing layer. A basic security layer will also be implemented, including access control on the @ble side to restrict communication to known devices, and authentication mechanisms on the @mqtt broker (username/password) to prevent unauthorized data injection. While this approach does not provide full end-to-end security, it reflects a lightweight and realistic security model for a constrained @iot deployment. Both @ble communication protocols and @mqtt\-based @iot messaging represent new competencies for me, and this project constitutes a significant challenge that I have chosen to undertake. Directly aligned with my orientation in communication systems, it provides an opportunity to apply and deepen these skills in a concrete, real-world context.
#let remi-serious-objectiv = [
A data infrastructure is automated, deployed both in productive and development environment. The database is automatically configured and populated by external MeteoSwiss data.
The student didn't experiment automatic deploy /configuration and multi-environment.
]
#let remi-fun-objectiv = [Solve Maxwell's equations]
+ [Rémi]: #remi-serious-objectiv
]
sec:spec:objectives
#v(1.5em)
#objectives-oo
#v(1.5em)
#objectives-po