As air-pollution in cities today pose an ever-increasing problem, it is high-time we develop smarter solutions using IoT to tackle it. With the government trying their best to curb pollution, a more diverse and reliable assessment system to continuously collect monitor the air-pollution levels in urban areas is necessary to keep a check on the quality of air that we breathe.
What makes this project stand out from other existing solutions is the deployment of far lesser no. of mobile sensor nodes that travel around the city, instead of several sensor nodes fixed at places in the city, thus drastically cutting down setup and maintenance costs and also providing us with highly diverse data to be analysed and studied.
So, how does this work?
When a node is attached to a public transport bus, it can collect data from all locations covered by the bus's route in time intervals. Averagely assuming that 5 bus routes can cover the whole of a moderate-sized city, 5 sensor nodes can cover the whole city, instead of numerous nodes placed at different parts. To increase the frequency of collected data at a certain location, more busses covering the same route can be equipped with the sensor nodes. Assuming three busses of a particular route is equipped, a total of 15 similar sensor nodes will be enough to provide us data that covers all the places and spread over a wide time range. The collected data (time-stamped and geo-tagged using GPS) will be stored in an SD card and automatically uploaded to the cloud (I'm using Dropbox to store the uploaded file from which data can be extracted for analytical purposes) whenever WiFi connectivity (at the bus station) is achieved, thus uploading the data several times a day.
In short: Mobile sensor nodes with Intel Edison that store and upload logged air-quality data from SD card through Wi-Fi to Dropbox, where data can be extracted for analytics
Steps in this Instructable:
- Introduction (Current page)
- Components used
- Setting up the Edison
- Getting the Hardware ready
- The Arduino code
Step 1: Components Used
- Intel(R) IoT Developer Kit
- Intel Edison, Arduino expansion board
- Grove shield
Step 2: Setting Up the Edison
The Intel Edison board needs a firmware to run. The process of flashing the linux firmware and configuring the board has not been covered in this Instructable as there is a very detailed step-by-step guide (link provided) written by Intel itself where you can download all the necessary software too and there also a lot of Instructables that help in setting up the Edison.
Getting started guide:
Step 3: Calibrating Gas Sensors
If you buy an MQ gas senor with an attached breakout board (like in the picture), it most likely has a pot given to calibrate the sensors. Calibration is done to convert the analog input data to ppm(parts per million). If you buy an MQ gas sensor without the board (the bare sensor alone), then a 10k ohm(recommended) resistor is as a 'load-resisitor' to calibrate (see picture).
(In this project, i have used one MQ7 CO senor with breakout and one MQ 135 bare sensor without breakout)
Resistor ratio Rs/Ro, where Rs = Sensor read resistance and Ro = sensor resistance at 100ppm of required gas in the clean air (10k ohm, in most cases and is ideal to use) is used to calculate the ppm
Calibration gases of known ppm are readily available in the market, or you can use an estimated concentration of gas collected to calibrate. However, in this project, I will only be logging raw sensor input values to SD card and upload to cloud.
Here is a nice video I found on YouTube uploaded by Drone Technologies :
Step 4: Setting Up Cloud Storage (Dropbox)
- Create a Dropbox account
- Create a Temboo account
In this project, GPS data and sensor values are logged in a .txt file in the SD card. When a WiFi connection is established, the .txt file is uploaded to Dropbox cloud storage. From there, the data can the accessed in the future for data mining and analytics
Here is a link detailing all the initial steps necessary to achieve this : https://temboo.com/arduino/yun/upload-to-dropbox
Step 5: The Arduino Code
In this code, I have used a lot of public libraries and examples to compile the different parts of the code.
Step 6: Output
The logged data is seen in the .txt file.
The uploaded file is seen in the Dropbox folder.