Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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.