241 lines
6.2 KiB
Typst
241 lines
6.2 KiB
Typst
#import "/metadata.typ": *
|
|
#import "/tail/bibliography.typ": *
|
|
#import "/tail/glossary.typ": *
|
|
|
|
#import "/resources/slides.typ": *
|
|
|
|
#show:make-glossary
|
|
#register-glossary(entry-list)
|
|
|
|
#let HANDOUT = false
|
|
#let NOTES = false
|
|
|
|
#show: metropolis-theme.with(
|
|
aspect-ratio: "16-9",
|
|
config-info(
|
|
title: title_style(doc.title),
|
|
subtitle: [
|
|
// #doc.subtitle \
|
|
Team Plein de eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
|
|
\
|
|
Midterm presentation
|
|
],
|
|
author: enumerating-authors(items: doc.author, multiline: false ),
|
|
date: date.mid-term-presentation,
|
|
institution: school.name,
|
|
),
|
|
footer: self => [#self.info.institution],
|
|
..get-config(),
|
|
config-common(
|
|
handout: HANDOUT,
|
|
show-notes-on-second-screen: if NOTES {right} else {none}
|
|
)
|
|
)
|
|
#set text(region: "gb")
|
|
|
|
#show: myglobals
|
|
|
|
#title-slide()
|
|
|
|
// 20 min presentation
|
|
// 20 min Q&A
|
|
|
|
= Intro
|
|
|
|
== Architecture
|
|
#figure(
|
|
image("../../resources/img/PI-top-level.drawio.png"),
|
|
caption: [Top level architecture],
|
|
alt: "Thingy52 --BLE secure advertising--> Raspberry Pi --MQTT--> RabittMQ --GO--> InfluxDB | Influx + MeteoSwiss --> LSTM --> Teams notification | InfluxDB --> MatLab --> InfluxDB"
|
|
) <fig:top-level-architecture>
|
|
|
|
---
|
|
#figure(
|
|
image("../../resources/img/bdd_complete.svg"),
|
|
caption: [Top-level architecture, including interfaces between units]
|
|
) <fig:top_level_archi_interface>
|
|
|
|
== Objectives
|
|
#import "../../main/specifications/05-objectives.typ": *
|
|
#objectives-mo
|
|
#objectives-oo
|
|
|
|
= Work done
|
|
|
|
== Nodes
|
|
#figure(
|
|
image("../../resources/img/nodes_class_diagram.svg"),
|
|
caption: [Nodes class diagram]
|
|
) <fig:nodes_class_diagram>
|
|
|
|
---
|
|
#figure(
|
|
image("../../resources/img/nodes_sequence_diagram.svg"),
|
|
caption: [Nodes sequence diagram]
|
|
) <fig:nodes_sequence_diagram>
|
|
|
|
== Gateway
|
|
- Listening on BLE
|
|
- Sending on MQTT
|
|
|
|
== DB Influx
|
|
- Server setup (LXC, Docker, ssh certificates, Traefik, DNS challenge) #emoji.checkmark #pause
|
|
- Influx DB 3 #emoji.checkmark #pause
|
|
- RabbitMQ #emoji.checkmark #pause
|
|
- Gateway MQTT -> DB #emoji.circle.orange #pause
|
|
- DB -> REST #emoji.crossmark
|
|
|
|
== User Interface
|
|
- CI/CD
|
|
#pause
|
|
- Interactive 2D Map
|
|
#pause
|
|
- Air quality history
|
|
|
|
== Data usage
|
|
=== Open data analysis
|
|
|
|
Open data analysis (no mechanical ventilation, no window opening):
|
|
- Study of the variation in @co2 levels over time in several classrooms in Munich. #cite(<twardella_effect_2012-1>)
|
|
|
|
- Study of the variation in @co2 level over time for offices and secondary school. #cite(<INRS_Study>)
|
|
|
|
- Online air quality calculator for classrooms "Simaria" developt by @ofsp:short.
|
|
|
|
---
|
|
=== Time evolution of @co2:short level
|
|
#figure(
|
|
image("../../resources/img/Time_evolution_CO2_Twardella.png", height: 85%),
|
|
caption: [Time evolution of @co2:short level for #cite(<twardella_effect_2012-1>)]
|
|
)
|
|
|
|
---
|
|
|
|
#grid(
|
|
columns: (1fr, 1fr),
|
|
[
|
|
#figure(
|
|
image("../../resources/img/Time_evolution_CO2_INRS_office.png"),
|
|
caption: [Time evolution of @co2:short level in an office for #cite(<INRS_Study>)]
|
|
)
|
|
], [
|
|
#figure(
|
|
image("../../resources/img/Time_evolution_CO2_INRS_secondaryschool.png"),
|
|
caption: [Time evolution of @co2:short level in a secondary school for #cite(<INRS_Study>)]
|
|
)
|
|
]
|
|
)
|
|
|
|
#grid(
|
|
columns: (1fr, 1fr),
|
|
[
|
|
#figure(
|
|
image("../../resources/img/Time_evolution_CO2_INRS_meetingroom.png"),
|
|
caption: [Time evolution of @co2:short level in a meeting room for #cite(<INRS_Study>)]
|
|
)
|
|
],
|
|
[
|
|
#figure(
|
|
image("../../resources/img/Time_evolution_CO2_Simaria.png"),
|
|
caption: [Time evolution of @co2:short for Simaria calculator for a same volume and variation of students number]
|
|
)
|
|
]
|
|
)
|
|
---
|
|
=== Time evolution of @co2:short level - Case study classroom A4 Provence
|
|
|
|
#grid(
|
|
columns: (1fr, 1fr),
|
|
[
|
|
#figure(
|
|
image("../../resources/img/Excerpt case study Provence Simaria.png"),
|
|
caption: [Simaria interface: input]
|
|
)
|
|
],
|
|
[
|
|
#figure(
|
|
image("../../resources/img/Excerpt cas study Provence Simaria _results.png"),
|
|
caption: [Simaria interface: results]
|
|
)
|
|
]
|
|
)
|
|
|
|
- Threshold 1400 ppm reached after 22 min and 2000 ppm after 38 min.
|
|
|
|
---
|
|
=== Calculation of the time taken to reach the threshold of 1400 ppm for each data set
|
|
|
|
#figure(
|
|
image("../../resources/img/Time_reaching_threshold.png"),
|
|
caption: [Time reaching threshold of 1400 ppm in function of air volume per person]
|
|
)
|
|
|
|
#grid(
|
|
columns: (1fr, 1fr),
|
|
[
|
|
#figure(
|
|
image("../../resources/img/User action.png"),
|
|
caption: [User action]
|
|
)
|
|
],
|
|
[
|
|
#figure(
|
|
image("../../resources/img/User action result.png"),
|
|
caption: [Result user action]
|
|
)
|
|
]
|
|
)
|
|
== Forecasting
|
|
bus factor
|
|
#{
|
|
set text(size: 2em)
|
|
linebreak()
|
|
emoji.face.cry
|
|
linebreak()
|
|
emoji.bus
|
|
}
|
|
|
|
= Demo
|
|
|
|
= Conclusion
|
|
|
|
== Objectives adjusted
|
|
- Kept:
|
|
MO1: The environmental data for the observed rooms are stored in a database with an associated timestamp\
|
|
MO2: The stored environmental data can be displayed in a 2D map. The display allows to show both stored and live data.\
|
|
MO4: The changes in temperature when airing the room, with regards to outside temperature, are analysed and used for the window opening time recommendations.\
|
|
---
|
|
- Changed:
|
|
MO3: #strike[Using the stored environmental data, alongside external meteorological data, the system send a notification when the windows should be opened or closed.]\
|
|
The system sends a notification when the measured CO2 level overreaches the 1400ppm threshold
|
|
|
|
== Next steps
|
|
- Nodes: Implementation and integration with the Gateway
|
|
#pause
|
|
- Gateway: Integration of nodes. Nice-to-have : encrypted communication with nodes.
|
|
#pause
|
|
- DB: Communication with MQTT and retrieval API
|
|
#pause
|
|
- User Interface: API integration and live CO2 level alarm
|
|
#pause
|
|
- Data usage: Improvement of python program
|
|
#pause
|
|
- Forecasting: Nice-to-have, shall effort be available
|
|
#pause
|
|
- All: Documentation and reviews
|
|
|
|
|
|
|
|
//-------------------------------------
|
|
// Bibliography
|
|
//
|
|
#pagebreak()
|
|
#make_bibliography(bib:bib, title:i18n("bib-title", lang: option.lang))
|
|
|
|
//-------------------------------------
|
|
// Glossary
|
|
//
|
|
#{
|
|
// set text(size: 0.5em)
|
|
make_glossary(gloss:gloss, title:i18n("gloss-title"))
|
|
} |