{"id":27771412,"url":"https://github.com/customize5773/riversense","last_synced_at":"2025-04-29T22:39:05.022Z","repository":{"id":290085313,"uuid":"973247074","full_name":"Customize5773/RiverSense","owner":"Customize5773","description":"This system monitors river water levels using 3 float sensors and detects waste with an ESP32-CAM powered by YOLOv8. All data is processed by a Raspberry Pi Model B+ for real-time flood monitoring and river cleanliness tracking.","archived":false,"fork":false,"pushed_at":"2025-04-26T18:55:25.000Z","size":3372,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-29T22:38:45.213Z","etag":null,"topics":["arduino-project","computer-vision","esp32-cam","object-detection","raspberry-pi-3","waterlevel-sensor","yolov8"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Customize5773.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-26T15:27:05.000Z","updated_at":"2025-04-26T18:55:29.000Z","dependencies_parsed_at":"2025-04-26T19:37:18.964Z","dependency_job_id":"ace1dad2-809f-41a2-a313-de661475533a","html_url":"https://github.com/Customize5773/RiverSense","commit_stats":null,"previous_names":["customize5773/riversense"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Customize5773%2FRiverSense","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Customize5773%2FRiverSense/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Customize5773%2FRiverSense/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Customize5773%2FRiverSense/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Customize5773","download_url":"https://codeload.github.com/Customize5773/RiverSense/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251596590,"owners_count":21615011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino-project","computer-vision","esp32-cam","object-detection","raspberry-pi-3","waterlevel-sensor","yolov8"],"created_at":"2025-04-29T22:39:04.514Z","updated_at":"2025-04-29T22:39:05.007Z","avatar_url":"https://github.com/Customize5773.png","language":"Python","readme":"# RiverSense\n\u003e River Monitoring System Based on Liquid Sensors and YOLOv8 on Raspberry Pi\n## Background\n\nThe increase in human activities has caused various environmental problems, including river pollution that can lead to flooding and a decline in water quality. One of the main challenges is detecting and monitoring river conditions in real-time to ensure appropriate mitigation measures can be taken.\n\n**RiverSense** is designed to provide an innovative solution by integrating liquid sensors, YOLOv8-based object recognition, and Raspberry Pi to monitor river water levels and detect waste on the water surface. This system aims to deliver up-to-date information to local users through a web-based server, assisting in quick and accurate decision-making.\n\n## Project Description\n**RiverSense** is a river condition monitoring system that integrates:\n- Water level sensing using three Polypropylene Liquid Water Level Float Switches.\n- Visual detection of waste in the river current using ESP32-CAM and the YOLOv8 Object Detection algorithm.\n- All data is processed and controlled by the **Raspberry Pi Model B+** and sent to a local HTML/JS-based website server.\n\nThe main objectives of RiverSense are to provide real-time information regarding:\n- River water level\n- The presence of waste detected on the river surface\n\nThe system utilizes a **Mini UPS** as a backup power supply to maintain operational stability during power outages.\n\n---\n\n## Key Features\n- 📈 Real-time water level monitoring using three vertical float switches.\n- 📷 Visual waste detection using an ESP32-CAM with the YOLOv8 model.\n- 🌐 Automatic transmission of sensor data and detection results to a local website.\n- ⚡ Backup power using a Mini UPS to keep the system running during power failures.\n\n---\n\n## System Architecture\n\n```\n+-----------------+      +-----------------+       +-----------------+\n| Liquid Float    |      | ESP32-CAM       |       | Raspberry Pi B+ |\n| Sensors (3x)    |      | YOLO8 Detection |       | Local Webserver |\n+--------+--------+      +--------+--------+       +--------+--------+\n         |                       |                       |\n         +-----------+-------------+-----------+-------------+\n                         |\n                     Mini UPS\n```\n\n---\n\n## Component Specifications\n\n### Liquid Water Level Float Switch (Polypropylene)\n- **Max Contact Rating:** 10W\n- **Max Switching Voltage:** 220V DC/AC\n- **Max Switching Current:** 1.5A\n- **Temperature Rating:** -10°C to +85°C\n- **Materials:** Float Ball \u0026 Body - Polypropylene (PP)\n- **Dimensions:** 23.3mm (Diameter) x 57.7mm (Height)\n- **Cable Length:** 36cm\n\n### ESP32-CAM Module\n- **Processor:** Dual-core 32-bit, 240MHz\n- **Memory:** 520KB SRAM + 4MB PSRAM\n- **Camera Support:** OV2640 / OV7670\n- **WiFi Modes:** STA / AP / STA+AP\n- **Storage:** TF Card support\n- **Framework:** FreeRTOS embedded\n\n### Raspberry Pi Model B+\n- **Processor:** ARM1176JZF-S, 700MHz\n- **RAM:** 512MB SDRAM\n- **Connectivity:** WiFi Dongle USB\n- **Storage:** microSD\n\n---\n\n## Data Flow Architecture\n\n```\nLiquid Float Sensors -\u003e GPIO Raspberry Pi\nESP32-CAM -\u003e WiFi Stream (Captured Image) -\u003e Raspberry Pi\nRaspberry Pi -\u003e YOLO8 Inference\nRaspberry Pi -\u003e Data Aggregation -\u003e Local Website (HTML/JS)\n```\n\n- Data is sent in **JSON** format to the local server via HTTP POST.\n- The local website polls or receives push updates to refresh data dynamically.\n\n---\n\n## Installation\n\n### Hardware\n1. Mount the 3x Liquid Water Level Sensors vertically in a waterproof protective box.\n2. Connect the three sensors to the GPIO of the Raspberry Pi Model B+.\n3. Prepare the ESP32-CAM to monitor the river, ensuring stable WiFi coverage to the Raspberry Pi.\n4. Connect the Raspberry Pi and ESP32-CAM to the Mini UPS.\n\n### Software\n1. Flash the ESP32-CAM with firmware for image streaming via HTTP.\n2. Deploy the YOLOv8 model to the Raspberry Pi using Python (recommendation: [Ultralytics YOLOv8](https://docs.ultralytics.com/)).\n3. Run the detection and sensor monitoring scripts on the Raspberry Pi.\n4. Run the local HTML/JS-based server for data visualization.\n\n---\n\n## Usage\n\n- Open a browser and access the local website (example: `http://192.168.1.100/`).\n- Monitor the river water level and waste detection in real-time.\n- The latest data will be updated automatically without manual refresh.\n\n---\n\n## Roadmap\n- [ ] Telegram-based notification integration when the water level exceeds safe limits.\n- [ ] Historical data storage to a local database (SQLite).\n- [ ] Visualization of water level graphs and the number of detected waste items.\n\n---\n\n## License\n[MIT License](LICENSE)\n\n---\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcustomize5773%2Friversense","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcustomize5773%2Friversense","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcustomize5773%2Friversense/lists"}