Watering Can

My wife wanted something to control the humidity of the soil and to "pour" some water for her plants when required. So I decided to play a little with my Arduino and my Raspberry Pi. I want her to be able to retrieve the humidity of the soil and depending on the read decide what to do, so I will use my existing Arduino to read the data and activate the water pump, and my Rasp Pi to host a Java Spring Bott web app to provide her a screen to read the info and activate the pump. Because it is a web app... She can do this from everywhere :)

Current Functionalities

  • Moisture Sensor/s Calibration
  • Water Pump/s Calibration
  • Realtime moisture sensor/s read
  • Turning on/off the water pump/s
  • Saving the configuration

Requirements

Optional

Notes

The water pump that I choose operates with 3V-5V and 100-200mA, the Arduino board does not have enough power to power on the pump. I have to use an external power source just to provide the energy to the pump, and Arduino only to send the On/Off signal.

The Raspberry Pi is not required, I already have one so I decided to deploy on it the Java Spring Boot app. You can use any computer with a running JVM

Example

Example

Video Example

Diagram

Screens

Example Example Example

Diagrams

Devices

Diagram

Arduino Connections

Diagram

TODO

  • Authentication (Mmmmm I'll see. VPN is more than enought at the moment)
  • Anything else that might come up in my mind (or my wife) :)