jlofw / air-quality-monitor

Measures levels of PM2.5, PM10 and CO2 as well as humidity and temperature. Sends data via MQTT to Node-RED, InfluxDB and Grafana.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

air-quality-monitor (deprecated)

Constructed by Sensirion SCD30 and SPS30 sensors, Arduino Nano IoT and Raspberry Pi 4B. Used software is Mosquitto, Node-RED, InfluxDB and Grafana.

Grafana with data from sensors

Overview of system

I recommend using IOTstack for an easy setup of the Raspberry Pi and its software.

Overview of Node-RED

The output from the Arduino is in the following JSON format:

{
  "c": 478,
  "t": 24.02,
  "h": 38.39
}

Node-RED sets it to the following:

{
  "co2": 478,
  "temperature": 24.02,
  "humidity": 38.39
}

with a change node and the following code:

{
  "co2": msg.payload.c,
  "temperature": msg.payload.t,
  "humidity": msg.payload.h
}

Libraries used

SparkFun_SCD30_Arduino_Library

sps30 by paulvha

pubsubclient by knolleary

Adafruit_SleepyDog

About

Measures levels of PM2.5, PM10 and CO2 as well as humidity and temperature. Sends data via MQTT to Node-RED, InfluxDB and Grafana.

License:MIT License


Languages

Language:C++ 100.0%