I'm using a cheap submersible water pump controlled via relay by a python script running on raspberry pi.
Water pump is connected to a clear vinyl tube for water distribution to the plant.
Availability of water level at source is checked by a non-contact liquid level sensor.
Triggers for watering plant are defined as follows:
1. There is water in tank / source (checked by non-contact liquid level sensor)
2. Soil moisture level is below certain threshold (measured by 2 soil moisture capacity sensors embedded in the plant)
3. Watering duration is determined by current soil moisture level; Python script activates relay to run the pump for the right duration.
4. Same python script also:
- activates camera to record watering (+2s buffer to have all on the video) via usb cam connected to the pi (leveraging opencv lib)
- uploads recorded video automatically to youtube channel (if pi has internet connection)
- summarizes watering event and sends me notification with link to the recording and other helpful stats (temp, humidity, moisture level etc.)
- saves all metrics to sqllite db for future reference