Skip to content

slukic0/air-quality-monitoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Air Quality Monitoring Project

Authors

Stefan Lukic
Filip Lukic
Pranav Hari

File Structure

  • MonitoringKit: Code for Monitoring Stations
    • Monitoring_Breakout: Code for single breakout BME 688 sensor
    • Monitoring_X8: Code for development board with 8x BME688
    • Monitoring_X8_3S: Code for development board with 8x BME688 taking a sample every 3 seconds
  • air-quality-sst: AWS Infrastructure. Contains backend code and frontend web app.
  • ml: Sagemaker machine learning code
  • docs: Relevant datasheets and documentation
  • images: Image files
  • examples: Code examples

Setup

Creating AWS Infrastructure

  1. Create AWS account See the AWS Docs here to create an account.

  2. Setup IAM Access Follow the AWS documentation here to use the AWS IAM Center to create an AWS access portal.

  3. Once AWS IAM Center has been correctly configured, you should be able to login to your AWS account using your AWS access portal URL, which can be found in the IAM Center dashboard. IAM Center Dashboard

SST Setup

SST is a framework that allows the creation of serverless infrastructure using code. To get started, read the documentation here. See the readme file in air-quality-sst for more information. Note that SST using the AWS CLI for authentication. See the AWS documentation here for instructions on configuring the AWS CLI.

Setup AWS IOT Core

How2Electronics has a great guide on how to setup an ESP32 with AWS IOT Core.

At a high level, you must enable the AWS IOT Core MQTT broker and download the device certificate, device private key, and the Amazon root CA certificate.
These files can then be used to connect the ESP32 to AWS and publish and subscribe to channels as needed.

Next, IoT Core rules can be used to automatically write MQTT messages from devices into DynamoDB.

Setup Google Login Support

See this guide from SST regarding the steps needed to allow Google logins.

Monitoring Kit Hardware

Single Sensor Prototype

The single sensor prototype of the monitoring kit utilizes a Huzzah ESP32 connected to a BME688 sensor using I2C. Two LEDs are also used to indicate the WIFI and MQTT broker connection status.

Sensor data is periodically encoded into a JSON format, which is then published to a topic by sending the JSON to AWS IOT Core.

prototype

Dev Board

The Dev board utilizes eight BME688 sensors connected to the stacked headers of the ESP32.
Sensor data from each sensor is logged periodically and sent to IoT core.

dev board prototype

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •