Ella, a 9 year old schoolgirl in London, England, recently died from respiratory failure. She lived with her family in an apartment above a heavily polluted road in south London, and suffered from three years of seizures and 27 visits to the hospital to treat her asthma attacks. At the time of her death, local air pollution levels breached legal EU limits. Ella is just one of 600,000 children worldwide who pass away each year from inhaling polluted air, and one of 7 million people in totally annually. Through Ella’s story. we realized how many people are affected by air pollutants, be it direct emissions from vehicles, gases from industrial plants, or carcinogens. Especially as urbanization speeds up, the emergence of deadly pollutants and more widespread pollution calls for urgency in this topic. As a result, we decided to use IoT sensors to monitor air quality and predict levels within the next 24 hours through machine learning. This would allow municipalities to identify and prioritize their investments in air filtration for specific locations experiencing spike or consistently high pollution levels. Residents will also be informed on the severity of pollutants nearby, as well as have the knowledge needed to take preventative care measures. Through this, we hope can help improve air quality one region at a time, and build safe, sustainable cities.

What it does

Through sensors installed on a connected IOT device, components of air quality such as humidity and temperature will be measured within the immediate vicinity. Timing and location factors such as time of day, day of week, month, and geographical location will also be measured to gain a comprehensive analysis on the data set. The raw data is then processed in the cloud to identify patterns and volatility of pollutant levels. A compute engine on Google Cloud is enabled with various trained machine learning models to predict particulate matter less than 2.5 micrometers (PM2.5), within the next 24 hours, and categorize this output based on threat level. The projection results are live streamed via Firebase and displayed for the user through various data visualization charts based on an accessible web application.

How we built it

The primary data source serving as input for the predictive model was taken from a connected Qualcomm 401c IOT board with various sensors taking in data for temperature and humidity. A compute engine on Google Cloud was initialized to train the machine learning models utilized for PM2.5 prediction. An air quality dataset with relevant and similar measurable features was utilized to train the Machine Learning model. The data from the IOT board is then streamed to the compute engine, which predicts the PM2.5 levels for the next 24 hours and streams the output to a Firebase data store. A dynamic web application built with React then pulls the live data from Firebase, which visualizes the data to deliver the insights from the model to the users.

Challenges we ran into

We ran into many challenges while building Our greatest challenge was working with hardware sensors and a Qualcomm 401C board that we were unfamiliar with. Our board was running Android as an OS; and we spent a lot of time trying to run Shell scripts and then Python to interface with our sensors. Moreover, the soldering iron would not turn on, preventing us from soldering our air quality sensor onto the board.

In terms of machine learning, due to the limited amount of measured features available, feature engineering was required to provide a sufficient amount of predictive power for our models. Moreover, a lot of time was spent on normalizing features, accessing training and cross-validation data set with similar features, as well as training and determining the most appropriate model to use for machine learning. Our criteria chosen for the most appropriate model were the interpretability of the output as well as the minimization of the rooted mean squared error.

Another challenge for us was setting up the live data pipeline from the server running the machine learning models to the web application. A dynamic front-end was set up to receive the continuous stream of data, and to visualize the data in an intuitive manner.

Accomplishments that we're proud of

We’re very proud of our fully functional project, and mostly being able to connect the sensors to the Qualcomm board and interface with the sensors. As our team has not had prior experience working with sensors or IOT boards, we were proud of our ability to tackle the ambiguity of approaching the task and working together cohesively to brainstorm and test different strategies. We’re also proud of our teamwork abilities, as we leveraged each team member’s strengths in front-end, back-end, hardware, and business case construction to build a complete and comprehensive solution.

What we learned

We learned a ton while developing, including setting up Shell scripts and Python environments for Qualcomm 401C Android-based boards, feature engineering and model building for various machine learning techniques, and setting up a web application that is able to visualize data through a live data pipeline using Firebase.

What's next for

We hope that represents an opportunity to incite a change for both residents and municipal governments. We believe that through, we’ve enabled the opportunity for residents to track surrounding air quality and focus on preventative measures for their health and safety, and for municipal governments to efficiently plan for urban development and large-scale monitoring of air quality in cities to mitigate pollution, and focus on the development of a more sustainable future.

Built With

Share this project: