Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rushikatabathuni/rainfall-monitoring-system-iot
The Rainwater Monitoring and Management System is an advanced IoT-based solution designed to provide comprehensive, real-time insights into rainfall patterns the system offers precise tracking and analysis of rainwater harvesting parameters.
https://github.com/rushikatabathuni/rainfall-monitoring-system-iot
css gravity-i2c html javascript micropython micropython-esp32 rainfall rainfall-monitoring thonny-ide tipping-bucket ysf201
Last synced: about 19 hours ago
JSON representation
The Rainwater Monitoring and Management System is an advanced IoT-based solution designed to provide comprehensive, real-time insights into rainfall patterns the system offers precise tracking and analysis of rainwater harvesting parameters.
- Host: GitHub
- URL: https://github.com/rushikatabathuni/rainfall-monitoring-system-iot
- Owner: rushikatabathuni
- Created: 2025-01-25T13:27:26.000Z (2 days ago)
- Default Branch: main
- Last Pushed: 2025-01-25T13:41:50.000Z (2 days ago)
- Last Synced: 2025-01-25T14:23:26.730Z (2 days ago)
- Topics: css, gravity-i2c, html, javascript, micropython, micropython-esp32, rainfall, rainfall-monitoring, thonny-ide, tipping-bucket, ysf201
- Language: Python
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Rainwater Monitoring and Management System
## Project Overview
The Rainwater Monitoring and Management System is an advanced IoT-based solution designed to provide comprehensive, real-time insights into rainfall patterns and water collection processes. By integrating sophisticated sensors, a powerful ESP32 microcontroller, and an intuitive web interface, the system offers precise tracking and analysis of rainwater harvesting parameters.
## System Architecture and Components
### Hardware Components
1. **ESP32 Microcontroller**
- Dual-core processor (240MHz)
- Built-in Wi-Fi and Bluetooth capabilities
- I2C communication support
- GPIO pins for sensor interfacing2. **Sensors**
- **Tipping Bucket Rainfall Sensor (SKU: SEN0575)**
* Measurement Range: 0-9999mm
* Resolution: 0.28mm per tip
* Communication: I2C and UART
* Operating Temperature: -40°C to 85°C
* Features: Automatic drainage, high platform compatibility- **YFS-201 Water Flow Sensor**
* Measurement Method: Hall effect sensor
* Output: Pulse signals proportional to water flow
* Flow Rate Range: 1–30 L/min
* Working Voltage: 5–24V3. **Auxiliary Components**
- Gravity I2C Communication Module
- Type-B USB Cable
- 5V Adapter### Software Components
#### Key Functionalities
- Real-time data acquisition
- Data processing and calculation
- Web server hosting
- User interface for data visualization## Technical Implementation
### Sensor Data Acquisition
- **Rainfall Sensor**: Measures rainfall through a tipping bucket mechanism
* Each sensor tip represents 0.28mm of rainfall
* Transmits data via I2C communication- **Water Flow Sensor**: Tracks water flow rate
* Generates pulses proportional to flow volume
* Calculates flow rate and total water volume### Data Processing
The system processes raw sensor data to compute:
- Cumulative rainfall
- Hourly rainfall intensity
- Total water collected
- Instantaneous flow rate### Web Interface
- Hosted on ESP32 microcontroller
- Accessible via Wi-Fi network
- Real-time metrics display
- Features:
* Current rainfall information
* Hourly rainfall trends
* Total water volume
* Flow rate visualization
* Data reset functionality## Network Configuration
- SSID: `RainfallMonitor`
- Access Point IP: `192.168.4.1:8080`## Setup and Deployment
### Hardware Setup
1. Connect sensors to ESP32 using specified GPIO pins
2. Ensure proper power supply using 5v adapter and a Type-B USB Cable
3. Mount sensors in appropriate outdoor locations### Software Setup
1. Flash ESP32 with MicroPython firmware
2. Install required libraries
3. Upload `main.py` script
4. It's ready and visit the IP Address `190.168.4.1:8080` for the webpage.## Calibration and Accuracy
### Rainfall Sensor
- Preset resolution: 0.28mm per tip
- Manual calibration support through software configuration### Water Flow Sensor
- Configurable calibration factor
- Default: 7.5 pulses per liter## Possible Enhancements
1. Cloud Integration
- Remote data access
- Trend analysis using platforms like AWS or Google Cloud2. Advanced Analytics
- Machine learning for rainfall prediction
- Water usage trend analysis3. Mobile Application
- Real-time monitoring
- Push notifications
- Comprehensive data visualization4. Power Optimization
- Solar power integration## Troubleshooting
### Common Issues
- No sensor data
- Web interface not loading
- Inaccurate readings### Recommended Solutions
- Verify physical connections
- Check power supply
- Recalibrate sensors
- Confirm network settings## Technical Specifications
- Microcontroller: ESP32 (Dual-core, 240MHz)
- Communication: Wi-Fi, I2C
- Data Storage: Temporary in-memory logging
- Update Frequency: 5-second intervals
- Maximum Logged Readings: 10## Design
![Design](images/Design.png)## Block Diagram
![Block Diagram](images/Block-Diagram.png)
## Schematic Diagram
![Schematic Diagram](images/Schematic-Diagram.png)