Name | NetID | Section |
---|---|---|
Tabish Shaik | tfshaik2 | ECE 110 |
Wesley Wu | wwu70 | ECE 120 |
Justin Zhu | justinz4 | ECE 110 |
Smruthi Srinivasan | smruthi2 | ECE 110 |
Link to Final Report
https://docs.google.com/document/d/1HYiynSce2SqROphf7z1Ol-_irXn1mtzbxdsd9srUtJ8/edit?usp=sharing
Link to Github Repository
https://github-dev.cs.illinois.edu/ECE-Honors-Lab-IoT-Water-System/Go-With-the-Flow
Statement of Purpose
Water wastage is one of the biggest problems in our world today. With clean freshwater sources becoming less and less available and the demand for water increasing, it is more important than ever that people are mindful of their water usage. The goal of our project is to create a device that will be able to monitor water flow through an appliance and be able to report on that flow through metrics and graphs presented to the user through a web app. The device should also be able to alert the user when water consumption could be problematic, such as when water usage is excessive or when water is left running unintentionally. This device enables users to be more conscious of their water usage habits so that they can minimize wastage and conserve water.
Background Research
Some background research that we have done for this project includes researching the different sensors that we can apply with Arduino, as well as looking at other examples of smart water systems. Our goal for this project is to assist users through providing water metrics and alerting them when water usage is problematic. Our project is similar to the other project we looked at since it incorporates water flow similar sensors and hardware [1], but it differs in the way we want to analyze and model the data. Our project takes smart water usage a step further by letting users learn from their data in an interactive web application.
We are driven to work on this project by our collective desire to learn more about how hardware and software can be applied towards solving big problems like water wastage. Because this project works with water flow and water systems, which are generally facets of Civil or Mechanical Engineering, this project presents an interdisciplinary application of ECE knowledge. By doing this project, we will learn about how facets of electrical and computer engineering build off of one another and work together.
Through this project, we are also gaining exposure to the idea of the Internet of Things (IoT). With the devices in our everyday lives becoming increasingly connected and technology integrates itself into the human experience, it is vital for ECE students to know about IoT technology. IoT describes technology that connects aspects of everyday living to the digital realm. These technologies often involve sensors, artificial intelligence, and cloud computing [2]. IoT technology has great potential to transform society for the better, and our application of it towards water usage is a prime example of this.
Our project is important because it is driven by the aim to conserve freshwater for future generations. Harvard scientists predict that within the next 50 years, the United States alone will see its supply of clean freshwater reduced by at least a third. As the global climate continues to change, it may also become harder for freshwater sources to replenish themselves quickly enough to meet human demands. This could have a jarring impact on a number of industries, not to mention the impact on human lives [3]. We can be proactive against this problem by harnessing our ECE knowledge towards fighting water wastage through projects like this one.
Block Diagram / Flow Chart
A block diagram depicting how the different components of our system connect to one another.
Some pictures of different components and images of programming languages used are also included
System Overview
The user first attaches the sensor to the water source and activates the web server, then turns on the water source. Then, the water flow from the source sends data to the sensor, which will then be retrieved by the Raspberry Pi. From the data collection program running on the Pi, the data will be sent to another program and processed so that it can be analyzed and converted into a presentable format. Lastly, this data is then retrieved and displayed by the web app, where the user can interact with it.
Our final setup for demonstrating our water system. The laptop is running our website and is connected to it over WiFi
Our website! The metrics in the circular dials are statistics like the average water flow. The histogram
beneath the dials shows times that water is most commonly used. The graphs on the right show water flow
over time, and the total water usage over time. The spikes represent brief periods when the sink is turned on
Video Presentation with Demo:
Parts
Raspberry Pi 4 (1 per device) - $35
MPN CF-B4ZJ: DIGITEN Water Flow Sensor (1 per device) - $15.99
3 Adafruit MCP3008 ADCs (1 per device) - $3.75 ea
G3/4 Male x G1 Female Pipe Connector (0 per device) - $11.49
G1/2 Female x G3/24 Female Pipe Connector (1 per device) - $9.99
Micro SD Card (1 per device), Micro SD Adapter (for Pi Setup)
5 Volt Source (1 per device), USB TTL Cables (for Pi Setup)
Problems and Challenges
Making our system flexible for multi-purpose measurement while also making sure the measurements don’t affect our device doesn’t affect the water flow of the source
Designing a simple user interface/app for conveying and presenting data
Syncing different parts of our program that have inherently different speeds, like rates of Python processing, data influx, and website updating
Accounting for differences in clock speed of our flow sensor - the flow sensor takes in data at different speeds depending on the flow rate, and our current calculations assume a constant influx rate
Properly handling time periods when the water is off - our current program approximates these time periods when calculating metrics, but could be made much more precise
Testing our prototypes and designs and integrating our program remotely
Future Plans
Utilize the temperature sensor built into our flow sensor - could be helpful for measuring the energy that is consumed by water usage
Increase program's computational speed by using more streamlined algorithmic approaches and/or switching to a faster language, like Java or C++
Use multithreading to increase our program's efficiency
Make our website much smoother as a user interface - increase the level of interactiveness that users can have with our metrics and increase customizability of webpage
Projects like this could be really cool to interface with smart sinks and other smart tech!
In conclusion, we successfully completed our project and fulfilled the goals put forth in our project proposal. However, there is a lot of room for improvement, and this project just scrapes the surface of the big and expanding world of IoT. There are a lot of areas for potential improvement in our project, and this project has taught us more about IoT and integrated systems of devices. We hope to take what we learned from this project with us into the future and disrupt the flow (pun completely intended) of the status quo through new innovation that can make a big impact.
References
[1] S. Ahmad, "Water flow rate and volume measurement using Arduino in 2020", Arduino Project Hub, 2020. [Online]. Available: https://create.arduino.cc/projecthub/SAROSH_AHMAD/water-flow-rate-and-volume-measurement-using-arduino-in-2020-5377df. [Accessed: 17- Feb- 2021]
[2] "What is the Internet of Things (IoT)?", Oracle. [Online]. Available: https://www.oracle.com/internet-of-things/what-is-iot/. [Accessed: 17- Feb- 2021]
[3] J. Heggie, "Why is America running out of water?", National Geographic, 2020. [Online]. Available: https://www.nationalgeographic.com/science/article/partner-content-americas-looming-water-crisis. [Accessed: 17- Feb- 2021]
Attachments:
ECE Honors Lab Project.jpg (image/jpeg)
20210504_173612.jpg (image/jpeg)
Screen Shot 2021-05-06 at 8.19.56 PM.png (image/png)