ali5ter / workshop-air-monitor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Workshop Climate Monitor

I wanted to monitor the air quality, temperature and pressure of my garage workshop using a single board computer (SBC) like a Raspberry Pi.

As well as controlling my air filtration, sawdust collection and heating systems, I was curious to know baselines for general particulate matter, noxious gasses, pressure and humidity. I also wanted a way to trigger a camera from a motion sensor to record who was going in and out of the workshop.

Instead of creating a web server to present graphs of collected data, I chose to push data to feeds on Adafruit IO where I could play with dashboarding the feed data.

I could trigger other services directly using IFTTT but saw that Adafruit IO already integrates with IFTTT.

Particulate matter monitoring

Inspired by this article, I figured I could monitor the airbourne sawdust that was not being gathered by my sawdust collection system. If it got above a certain level, I figured I could triger my dust filtration unit.

Using the SDS011 sensor I could collect data on two standard sizes of particulate matter (PM). According to the Air Quality Standards in my area, the 10 micron particles (PM10) should not exceed 150 micrograms per cubic meter (μg/m3) based on a 24-hour average. Similarly, the small nasty stuff that can really hurt you, the 2.5 micron particles (PM2.5) should not exceed 35 micrograms per cubic meter (μg/m3) based on a 24-hour average.

Temperature, humidity, pressure and gas monitoring

Adafruit sell the amazing BME680 providing the remaining environmental sensing I wanted.

I took advantage of the adafruit_blinka python library to use the CircuitPython hardware API that talks I2C and SPI protocols that sensors often use. Adafruit explains this and how to install this lib onto your Linux SBC and I also put the associated commands into the install.sh script for repeatability.

Motion sensing

I chose to use the Pyroelectric ("Passive") InfraRed Sensor from Adafruit to undersstand if someone was in the workshop. I figured that would be good to cross reference with environmental changes but also wanted a way to trigger a camera to at least understand who was in there.

Camera module

...

About


Languages

Language:Python 91.2%Language:Shell 8.8%