The Sustainable Village
Climate change is disrupting weather patterns, leading to extreme weather events, unpredictable water availability, exacerbating water scarcity and contaminating water supplies. Such impacts can drastically affect the quantity and quality of water that people need to survive.
According to UNICEF
- Four billion people — almost two thirds of the world’s population — experience severe water scarcity for at least one month each year.
- Over two billion people live in countries where water supply is inadequate.
- Half of the world’s population could be living in areas facing water scarcity by as early as 2025.
- Some 700 million people could be displaced by intense water scarcity by 2030.
These facts made us come up with our very own Ecotopia -The sustainable village. By our application we aim to conserve the water resources by reducing wastage of water and by promoting rainwater harvesting.
Our application is all about water conservation. Detailed explanation of the UI is shown in the demo video attached. The main features of our application are:
- Water Consumption Monitoring
- LeaderBoard
- Promoting Rainwater Harvesting
- Reward
- Alerts
- Donations
The main competitive drive of humans to be better than the rest is exploited in a good way by giving social points for conserving water. This is implemented by placing IoT devices in their tanks to measure the inlet and outlet volume and calculate the net usage of each individual house. This IoT Device is a LoRaWAN chip which is low powered and connected to the cloud service. It is low powered so upon expansion it cuts down the power needs from every IoT device in the area. LoRaWAN can cut down the need of a stable wifi connection to send data to the cloud as it uses Radio Waves. This helps to improve the viability of implementation in even common households. It also enables future implementation of IoT devices in the future and can unleash the potential of future IoT devices for conservation and other improvements for quality of life. The data collected and processed are sent back to the app which ensures the user has full control over their data. The app will show their daily, monthly and yearly water usage for the entire family. They can also receive and redeem rewards and donate from the same app itself. It also shows the leaderboard for a local region which enhances the social front. As we collect the data of every user's water activities we can use that data to train a machine learning model which predicts future usage and can provide the total water needs of a locality. This can help us solve droughts. We can use logistic regression to train the model and use a leaky RELU as its activation function for reliable output. For the time being, we can integrate the same IoT device for monitoring the total output of panchayath or rural water supply in order to catch some leakages down the road by comparing the data from each individual user.
IoT based water level monitoring system can be installed in individual houses so that one can check water level of their tank in real time from their own comfort and also track their consumption overtime. We plan to implement our application primarily at any small area take a village. Then we are planning to implement it at a State level. And also we are planning to add more features also by taking customer review into account. So we will be able to save billions of litres of water everyday. If a family conserves 2000 Litres of water per month, a district will conserve approximately 15 billion Litres per year(assuming that there are approximately 6 Lakhs number of houses in a district).Thus a huge amount of water is conserved which can prevent water scarcity in just a few years. After that we also plan to add a feature of waste management system by collecting plastic wastes from different places and recycling, reusing and redistributing it. And we will be providing all the jobs in our company to ladies and non binary folks. We will also promote women communities like kudumbasree to take up our jobs thereby increasing the participation of women in the field of jobs. Machine learning can be used to predict the future water requirements using the previous data which helps in resolving drastic droughts. The rewards provided are glass bottles, plant saplings and other eco-friendly swags so that a plastic-free community can be developed.
We have an IoT device implemented in each tank through which we can know the tank water-level and the data is stored in the cloud connected to ibm db2 database. We implement different features of our flutter application using this data. The device consists of an Arduino board connected with 2 flowmeters and is powered by a rechargeable 5V battery. One of the flowmeters is connected to the inlet of the tank and the other to the outlet. This helps up the record the volume of water entering and exiting the tank, and their difference being net usage. Currently, the device is relying on a 5v battery and a wifi chip to transfer recorded data, which is recorded every hour, and send to a cloud service which triggers a cloud function to input those data into am IBM db2 database. As a 5V battery is quite tedious to charge every few days or so we are pitching an idea to implement a LoRaWAN system in the center of the local area. This helps in a multitude of ways like removing some power needs to power wifi chip, which taken to the larger scale conserves energy.Another advantage of using LoRaWAN is that it is less expensive. This is a good addition to society because this opens up a new word for implementing IoT devices in the everyday home and thus conservation of resources is automated. The IoT device while in monitoring mode keeps an eye on the tank and its water level once inlet activity is recorded and check for the runs and calculation to find out the total volume in the tank [remaining volume = total volume - ((previous inlet volume - current outlet volume) + incoming volume from inlet)]. When the remaining volume < 15ltr, Arduino sends a request to the cloud which is captured by Wattson-powered IoT instance which then sends a request to the Push notification cloud service which sends a message to the client app. As it's connected via sockets the message received will only require the latency time to reach the user. This conserves water by preventing overflows. Currently, the application runs on a cloud foundry instance of node.js connected to the IBM db2 database for a relational database. Here a relational database is used instead of a NoSQL is to make the relationship strict and in making the datasets for the ml model much easier. The node.js instance act as a RESTful API so that it can receive and send data to the client app and receive recorded data from the IoT device if LoRaWAN is implemented then from the cloud function.
- Water Consumption Monitoring - A graph is provided (for each weekly/monthly/annually) which gives a pictorial representation of the water consumed by a family in that given duration of time.
- LeaderBoard - Points are being awarded to each family on the basis of water consumption per member ratio.Leaderboards are implemented in each cluster and the winners are rewarded each month.
- Rain Water Harvesting - The rain water harvested is measured separately using IoT device in that tank. There is a separate leaderboard for the same and special rewards are being provided to promote rainwater harvesting.
- Rewards - The rewards include cash prize, free implementation of rainwater harvesting system, glass bottles (plastic bottles can be replaced ) ,redeemable gift cards from local business owners plant saplings and other eco-friendly swags.The fund for the same is obtained through location based ads, common ads, CSR(Corporate Social Responsibility) funds.
- Alerts - We use Push Notifications service on IBM Cloud to send real-time notifications to mobile devices in situations where the present water consumption crosses the average consumption limit.
- Donation - Users can contribute to the upliftment of the weaker sections of the society.
- IoT Device collects real time water consumption data from the tank.
- IoT sends data to the local LoRaWAN and it sends data to the cloud.
- The data in the cloud is collected by a Node.js + Express server embedded in a Cloud Foundry Instance which is a part of IBM Cloud Service.
- The data is then forwarded to DB2 Database by IBM Cloud Service, where its stored in tables and relations.
- Upon further expansion the data can be shared to Watson Machine Learning Service provided by IBM Cloud which can be used to predict the water usage and availability
- All this data can be shared to the client app which is made with Flutter using the same RESTful API.
- IoT device can also sends out alerts to the cloud via LoRaWAN which can be used to trigger a Push Notification call, which is provided by IBM Cloud, to sends out a push notification to the client app saying the tank is filled and can be used to trigger an IoT device to switch off the motor.
Step 1:
Download or clone this repo by using the link below:
https://github.com/M-3-6/EcoTopia
Step 2:
Go to project root and execute the following command in console to get the required dependencies:
flutter pub get
Step 3:
Run main.dart file or usethe following command
flutter run
- IBM Cloud - Cloud service hosting the backend instance
- IBM Cloud Push Notification - Api used for sending realtime notifications
- IBM Watson IoT - IBM Iot platform used for handling LoRaWAN and IoT devices
- IBM Watson ML - IBM ML platform used for predicting water usage








