This is a place to show off what went into building my AQI measuring station. https://www.lpb-air.com/
Go to file
2021-03-06 22:37:16 +07:00
aqi_monitor wifi keeps droping, trying some wifi reconnect logic. 2021-02-23 18:49:36 +07:00
backend creating bar charts for pm2.5 and pm10 daily average compared against thresh from WHO 2021-03-06 22:37:16 +07:00
env added postgres to docker for later integration 2021-02-16 17:57:25 +07:00
frontend added og: tags and img preview 2021-03-01 20:25:52 +07:00
helper_scripts helper scripts for import, testing and backup 2021-03-05 18:35:53 +07:00
.gitignore daily export three graphs with values from last three days 2021-02-24 11:52:25 +07:00
deploy.sh restructured how data subdomain serves air.json to main domain by mounting the dyn folder directly into the main docker container, by that avoiding any CORS complications. 2021-02-22 10:33:24 +07:00
docker-compose.yml restructured how data subdomain serves air.json to main domain by mounting the dyn folder directly into the main docker container, by that avoiding any CORS complications. 2021-02-22 10:33:24 +07:00
LICENSE.md minimum viable product 2021-02-16 10:40:22 +07:00
README.md values get stored into postgres now 2021-02-18 23:42:42 +07:00

AQI sensor project

This is a place to show off what went into building my AQI measuring station currently publishing to:

lpb-air.com

This is a Minimum Viable Product and under development. The main purpose is educational.

The webserver is a simple VPS, provisioned with docker-compose.yml.

aqi_monitor

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.

backend

A flask based application that takes the data from the ESP8266 for processing and storage.
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.

frontend

A simple web site that gets AQI values from the backend to publish it nicely to see. Mostly build with HTML/CSS/JS and a little bit of PHP.