Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/barqawiz/iot_watering_system
A home-based irrigation system for efficient plant care, using IoT technology.
https://github.com/barqawiz/iot_watering_system
arduino iot python raspberry-pi
Last synced: about 19 hours ago
JSON representation
A home-based irrigation system for efficient plant care, using IoT technology.
- Host: GitHub
- URL: https://github.com/barqawiz/iot_watering_system
- Owner: Barqawiz
- License: mit
- Created: 2024-10-28T22:11:48.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-01-02T13:18:32.000Z (10 days ago)
- Last Synced: 2025-01-02T14:25:32.129Z (10 days ago)
- Topics: arduino, iot, python, raspberry-pi
- Language: Python
- Homepage:
- Size: 39.9 MB
- Stars: 21
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Watering System - IoT Project
An automated plant watering system that reads soil moisture levels and activates a water pump to provide optimal hydration for plants. It can be built using platforms like **Raspberry Pi** or **Arduino** and communicates with a mobile application or self-hosted dashboard.
# Key Features
- Soil Moisture Monitoring.
- Pump Control.
- Configurable Thresholds.
- Logging.
- Monitoring dashboard.
- Mobile notification.# Watering System Code
### Raspberry Pi with Sunfounder PCF8591 Module
The watering system logic, including the moisture sensor readings, threshold comparison, and pump control, is implemented in the following file:
```bash
python sunfounder_component/watering_system.py
```
Note: To ensure long-term reliability of the setup, consider using a cooling fan.### Raspberry Pi 5 with Adafruit ADS1115 Module and Bluetooth
To run the moisture reader using the Adafruit component, prepared with mobile integration using Bluetooth channel:
```bash
python adafruit_component/MoistureTimer.py
```
### Arduino UNO R4 Wifi
The Arduino Uno is an affordable option for managing multiple plants. Each plant can have a dedicated Arduino that communicates with a central Raspberry Pi. For more details check the setup code in
`arduino/` directory.# Dashboard
### Run the dashboard
```bash
cd dashboard
python3 -m http.server 8000
```
# Dart & Flutter Application
If you would like to connect and view your moisture information through bluetooth to a cell phone, we also created a basic dart application for showing that data.### To set it up:
- install and enable dart and flutter on your PC (this typically does require setting up Visual Studio Code, Visual Studio (Community version), and Android Studio)
- build the flutter application in the "DartApp" folder
- deploy the MoistureTimedBluetooth.py file to your Pi, adjust the "interval" to your preferred update time for the moisture sensor
# Disclaimer
This project is published under the MIT license.
Any third-party libraries and modules used in this project are subject to their respective licenses.