||2 weeks ago|
|.vscode||12 months ago|
|aqi_monitor||12 months ago|
|env||2 months ago|
|helper_scripts||12 months ago|
|nginx||12 months ago|
|postgres||12 months ago|
|web||2 weeks ago|
|.gitignore||2 months ago|
|.pylintrc||11 months ago|
|LICENSE.md||1 year ago|
|README.md||12 months ago|
|deploy.sh||8 months ago|
|docker-compose.yml||2 months ago|
AQI sensor project
This site is under constant development. The main purpose is educational.
The webserver is a simple VPS, provisioned with docker-compose.yml.
aqi_monitor.ino is the arduino script running on the nodeMCU ESP8266 microcontroller. The microcontroller posts data to the flask backend on a regular interval. Connected to that is:
- SDS011: pm2.5 and pm10 sensor from Nova Fitness.
- BME280: Pressure Humidity Temperature Sensor Module.
Postgres handles the storage of the measurements. The data is split up into two different tables, one for aqi related data and one for the weather data.
Python interacts with Postgres with the help of the psycopg library.
The flask app is recreating the graphs to visualize the aqi, PM 2.5 and PM 10 values on an interval. Aggregating is done with the Pandas Python library and the graphs are created with matplotlib.
The Lightbox to take a closer look at the graphs is curtesy of Lokesh Dhakar.