I realised after my last post that I hadn’t even mentioned what I’m actually planning on doing. Here’s the introduction from my proposal.
Many people enjoy a beautiful, well-maintained garden. However, some people are also lazy and forgetful so remembering to water the garden once or twice a day in the summer can be a challenge. During a hot dry summer it only takes a few missed days of watering to ruin months of effort. Removing this worry will mean less stress for the lazy and forgetful gardeners of the world and lead to consistently watered gardens.
The solution to this issue is a system that runs everyday without human intervention. It should know whether the garden needs watering based on weather forecasts and turn on a sprinkler system if required.
A distributed software system will be delivered at the end of this project that will consist of one or more watering nodes and a central server that will coordinate whether and for how long the garden should be watered. The central server will provide a web interface so users can monitor the system. In addition to the software components, hardware that will run the watering node software and control the flow of water will also be delivered.