A project begun in the summer of 2021, aiming to explore electronics, environmental data visualization, and web development!
An automated environmental monitoring device that has pre-programmed routes and sends data to the cloud via IoT interfaces.
Deliverables thus far:
Sensors collect data, but the process to send it to my local computer and visualize it on Flask webpage is completely manual (completed via SSH into the Pi).
I used a RaspberryPi Zero connected to a Breadboard and portable powerbank. As for the environmental monitoring tools, I connected a GPS Module as well as a Particulate Matter sensor (PM10, PM2.5, & PM1). I obtained sensors for other common air pollutants, but not the materials to connect them to the breadboard.
I connected to the RPi headlessly over SSH, but am looking to acquire a monitor/keyboard/mouse set to connect with a higher degree of ease.
Both the GPS module and PM monitoring device send data through a serial port. See: Air_quality_v2.py
from Marc Los Huertos' repository, EJnPi
.
The data is read in as bytes and then processed into a .csv file which will be sent to my local computer after it is done processing.
After many trials and errors with plotting packages, I settled on ipyleaflet
for geographical plotting and plotly
for interactive timeseries data. My main goal was to make the data as interactive and intuitive as possible because environmental monitoring is an incredible tool for communicating data such that community members can make informed decisions for their health! I have background in GIS and would love to explore interactivity with ArcGIS or ArcGIS Online in the future.
For this project I used a Flask app deployed on Heroku. I am very comfortable working in Python (and am excited to learn some more JavaScript and CSS) so this was an easy choice for me.