An Arduino-based water level and quality monitoring system with control via web and mobile apps. Uses ultrasonic and TDS sensors to measure water level and quality.
This project features an Arduino-based smart water tank system that monitors water levels and quality using an ultrasonic sensor and a TDS sensor. The system provides data and control via a web app and a mobile app built with React Native.
- Automated Control: Automatically turns the water pump on/off based on sensor data.
- Web Interface: Monitor and control the system via a web browser.
- Mobile App: Access monitoring and control features on the go.
- Alerts & Notifications: Uses a buzzer and LEDs for system status indications.
- ESP32: Microcontroller handling sensor data and pump control.
- Ultrasonic Sensor: Measures water level.
- TDS Sensor: Monitors water quality.
- Buzzer: Provides alerts for critical water conditions.
- LED Indicators:
- Red: System status indication.
- Green: Water pump status indication.
- Internet Connectivity: Enables remote monitoring and control via web and mobile apps.
Smart-Water-Tank-System
│
├── Arduino/
│ └── sketch_oct6a
│ ├── sketch_oct6a.ino
│ └── Functions.ino
│
├── HttpServer/
│ └──HttpServer.py/
│
├── MobileApp/
│
└── WebApp/
- Connect the sensors and actuators to the Arduino.
- Install the required libraries from
libraries.txt
. - Upload the
sketch_oct6a.ino
sketch to the Arduino.
-
Ensure Python is installed (Download Python).
-
Install dependencies from
requirement.txt
:pip install -r requirements.txt
- Open the
index.html
file in a web browser. - Use the interface to monitor and control the water levels remotely.
-
Clone the
MobileApp
directory. -
Install Node.js and npm (Download Node.js).
-
Install React Native CLI globally:
npm install -g react-native-cli
-
Navigate to the mobile app directory:
cd MobileApp/ArduinoApp
-
Running the App:
- Android:
- Connect your Android device via USB.
- Enable USB debugging (Settings > Developer options > USB debugging).
- iOS: (Not tested)
- Open the project in Xcode (
MobileApp/ios
>.xcworkspace
). - Select your connected device and click Run.
- Open the project in Xcode (
- Android:
-
Start the app:
npx expo start
This project is open-source and available under the MIT License.
For any issues or improvements, feel free to open an issue or submit a pull request on GitHub!