Smart Environmental Monitoring

Small, and easy to use devices, to monitor temperature, humidity, noise levels, luminosity and atmospheric pressure across a city.

Story

Description

The goal is to build a small and easy to use device to monitor temperature, humidity, noise levels, luminosity and atmospheric pressure.

The idea is to have multiple devices spread across the city to send environmental data to the AWS IoT platform for processing and analysis. With this real time data , new public services could be offered, for example:

Trigger alarms in case of dangerous measurements detected

Finding out the less polluted places in the city at a given time: parks, squares or any public outdoors places.

Find out high polluted places to avoid

Find out the measurements from the nearest monitoring device

This device is intended to be used and managed by anyone with no other requirement than an internet connection and an available outdoor place at home: for example, balcony, a window, a roof, garden, etc. . .

Just by plugging the device , it will automatically start sensing and sending data to the cloud.

Software

1.- Java SE applications for the Raspberry to read the sensors and send data to the AWS platform in real time. The Pi4j library will be used.

2.- An admin panel for the users of the device. A web application that will allow to restart /shutdown the device and will show the latest measurements.

3.- Examples of web applications using the AWS platform to provide public services:

Alarms for dangerous measurements

Show the measurements of the nearest monitoring device from my location

In my case I added the following entry to the /etc/wpa_supplicant/wpa_supplicant.conf file to automaticallyconnect to my wifi network with WPA security , where ssid is mynetwork name and psk is the password:

Part 2 – Wiring the Sensors and the ADC to the Raspberry PI

2.1 – Description of the Sensors and ADC

The MPL3115A2 Altimeter

This sensor measures pressure, altitude and temperature. It works using the I2C protocol. In this project this sensor is used to measure temperature and pressure. Here is more information about the device:

Follow the attached Fritzing diagram to connect the Raspberry , the sensors and the ADC to the breadboard.

Before wiring the MAX4466 we need to set its gain to the maximum level. To do this notice a a small trimmer pot on the back of the microphone. Place it in front of you and turn it counter clock wise all the way, do this very carefully with a small screwdriver. See the following image as reference

After you do this , proceed to to the wiring as indicated in the Fritzing diagram.

Once you finish the wiring and sensor placement your device should look something like this.

2.3 Verifying the wiring

If all the components were wired correctly , the Raspberry should be able to “see” the sensors.

– SSH into the raspberry and execute the command:

sudo i2cdetect -y 1

You should see the following output

caption (optional)

The numbers 39 , 40 and 70 are the I2C addresses for the Altimeter , Lux and Humidity sensors.