Introduction: Smart Water Management System (Intel-IoT)

We all know "Water is elixir of life."

And immediately one question ticks my mind... How efficiently you are using it?

Yes, the answer to this question is our project.

The project Smart Water Supply Management, as the name says it all is about management of water supply throughout the scale, right from small societies, townships to entire urban infrastructure and also for irrigation water supply management. For Demonstration purpose we have restricted it to only 3 sensors. But sensor network can be flexibly expanded and shrunk according to the requirements of setup. It can also be used for remotely controlling the water flow, cutting the water supply, monitoring and analyzing the water usage across the nodes, with the help of android app and cloud connectivity. Further more statistical data gathered and can be used by govt. authorities for defining policies, strategies and billing calculations. So ultimately this will help to conserve and efficiently utilise the natural resource. using IoT takes in to account of water wastage right from our home to the large scale. It also can control the water usage in a precise way.

Harwdare used: 1. Intel Edison Board with Arduino Extension for interfacing sensors. 2. Flow meter sensors - 3 3. Relay to control water pump 4. Water pump

Software Setup: Arduino IDE python programming FireBase Cloud Android App

Step 1: Set Up the Edison Board

I am counting on the fact (it is a fact, right?) that you have already gone through the Getting Started tutorials Intel has so kindly made for us. You can find them here: https://communities.intel.com/docs/DOC-23147

Step 2: Setup Firebase Cloud

Steps to set up Edison to Firebase Cloud

==========================

1. Open Edison Terminal

2. Setup WiFi for Edison root@edison: configure_edison --wifi

3. Open the /etc/opkg/base-feeds.conf file and add below lines and save it

src/gz all http://repo.opkg.net/edison/repo/all

src/gz edison http://repo.opkg.net/edison/repo/all

src/gz core2-32 http://repo.opkg.net/edison/repo/all

4. Run the following command

root@edison: opkg update root@edison: opkg install python-pip

5. Write a sample python code in vi editor to check it is working

6. Install firebase dependencies

root@edison: pip install requests root@edison: pip install python-firebase

7. Create an account and you will be able to set up, for free, a new storage with the address FBNAME.firebaseio.com, where you choose what FBNAME is. Here I created an account and the FBNAME is "resplendent-torch-1749"

8. Let's try to push the data to firebase.

firebase.py // sample program

from firebase import firebase

app = firebase.FirebaseApplication('https://resplendent-torch-1749.firebaseio.co app.put('/', 'humidity', {'value': 10.0})

9. Save the file and run the script - This will create a variable named "humidity" with value "10"

Step 3: Firebase to Android App

FireBase to Android app setup is very well explained at FireBase site

https://www.firebase.com/docs/android/quickstart.html

Step 4: Edison Board Setup

We have connected 3 flow sensors which read the water consumption and flow rate data to the FireBase cloud.

A relay is used to control the water pump ON/OFF. If the water flow in 3 sensors read 0, then relay turns On the water pump to pump the water to the upper tank. Also this relay switch handle is provided in Android App to control the water pump remotely.

Step 5: Final Note

Enjoy the video

Happy Hacking.... :) :) :)

Team

Gaurav, Shravan, Harpreet and Prasanna