First up, your Raspberry Pi and OS choice. In my case I chose to develop on an rPi 3 Model B+ and deploy to production on an original rPi model I had lying around gathering dust. The reasons for this are simple. The original model rPi is, well, slow. But that doesn’t matter as most of the time the SprinklerPi doesn’t have anything to do. For working on the code and getting everything together I found it helpful to be working on a newer, faster model. Let your budget be your guide.
OS choice? I decided to stick with the default Raspberry Pi OS. I did experiment with a number of other OS stacks, and there are many options which squeeze more performance out of the older rPi’s. There are lots of reasons why you might want to go that direction, but ultimately for simplicity’s sake I decided to go with the mainstream.
In order to run the SprinklerPi, you’ll want to download the files from my GitHub account. My repo has more details on what needs to be done to make it all work. In particular, the scripts need to be run from the crontab on your rPi.
You’ll notice that I’ve included a Python flask app that gives the user a very simple button to turn the sprinkler on and off from the web browser. This is great if you’re on the local network. A big issue that I took on in this project is getting around needing to be outside of the local network, or needing to set up things (that are likely to break at unexpected times) to allow access to your local home network. I expect you’ll take what I’ve got here and make it work for you.
A big incentive for building this out was creating a base for other projects, stay tuned for new things! I look forward to input and contributions to making this all work better.