Smart Water Meter
– How a simple app helped us win sudoCode2.0
The whole point of us participating in sudoCode2.0 was to learn as much as possible and have fun with tech. And we rarely thought about anything else. Moreover we took a use case for this project/app which we could connect to with our everyday life and we saw Internet of complimented it in a nice way. So our basic problem statement was: There is a lot of manual effort that goes into generating a water bill for any house in Bangalore. Similarly some apartments also have an issue as to, how does the Resident welfare association, divide the water bill judiciously. So we decide to build an app that would monitor the water flow into a household and generate the water bill automatically each month and send it to the customer’s phone via Email or SMS.
The building blocks
The main devices that we planned to use for this IoT based solution was either a RaspberryPi or the Arduino UNO board. Though initially we did get hold of Rpi and a water sensor(also called flow sensor), which came at INR 450/-. After a few days of trying with the Rpi, where our mentor Trinoy Hazarika and Akshay experimented with various libraries supported by Rpi to get the sensor reading but we decided to go with the Arduino, as we only needed to measure the water consumption and the Arduino came at 1/3rd the price of a Rpi.
Finally with the help of Node.js and the Arduino board we were able to measure the total water flowing through the flow sensor and record our data. We were using the HANA as our backend and UI5 for the front end.
We then slightly expanded our use case, where we
- Included views for the water providers (admins/municipalities) and the water consumers (households).
- In the water provider persona, we provide area specific details on how water is being used within a set of localities,
- We could further drill down to each of these localities (example: click on HBR layout to navigate down to see how many houses are using this device within HBR Layout).
- Once down to the street level view of it, the provider can see the weekly/monthly usage of water within this locality and also with the help of the sensor the provider could track in real time how much water was being used in this area.
- An additional feature which we added to this persona was the forecasting of water consumption in the coming months, this could help the provider it planning their procurement and better management of water for his particular area.
- As for the bill generation we could for now trigger emails to each of these houses who were registered with the billing details and amount to be paid.
Ward/Whole area view
The locality view/Street view
In the water consumer persona,
- We just displayed the basic details of consumer using this app, their current bill, and if this bill has been paid or not, and also their previous months consumption.
- The consumer can also view their weekly and monthly usage of water, which could help them control their water usage on the go, while providing a real time graph which tracked water coming in through the sensor.
- We provided the forecast tab, which would tell how much water would be used in the coming month and the associated bill amount.
- We again added an additional feature for the consumers where they could set a threshold on how much water they would use in the month, once this threshold is exceeded we would trigger a notification to their registered contact details. This would go a long way in curtailing excess usage of water.
The Consumer View
So what next? There are a lot of areas where we need to improve on such as the bill generation, where we will need to factor in and generate the bill based on the parameters based by the municipality. We will also be implementing a payment, where it would be one stop solution, where the municipality need not require manual inspection of the water meter, then go on to generate a bill and then the consumers pay on some other portal. We definitely have to improve on the predictive analysis algorithm, tweak it so that we get the best forecast possible along with a slew of things which will go long way to solve a lot of problems we face with respect to water.
We have also seen that SAP Labs India also uses tankers for water and this device if installed and used might be useful for the facilities to track and monitor the usage and supply of water and lead to better decision making process. This is something we are excited about and have already connected with the facilities team for a pilot.
And what else did we learn?
Well, for beginners in IoT, none of us had ever worked with a Rpi or Arduino and getting to read the values from the flow sensor was the biggest challenge we had, so we started from scratch and learnt about Rpi first, programming a simple LED and then moved on to Arduino where we first developed a simple sketch and were finally able to read the values from the senor, the sketch was developed using Node.js which was a first for us. While two of us were tackling the device part of it, I and another team mate simultaneously developed the front end for it, using SAP UI5 and HANA XS services. The next challenge for us was to present the whole application in 6mintues and for this we had a lot of unplanned rehearsals and on the go presentations to different set of people eveytime, after which we came up with a structured way to present the application, where we decided to have a charade in the beginning where I was required to drink water before presenting it, and in the dress rehearsals I am pretty sure that I may have gulped down 5-7 bottles of water.
As for whom we are?? Well we are team Swift, consisting of
Syed Aleemuddin Noor