I chose a Beaglebone Black controller for the current Arctostaphylos Cuttings project for two reasons. First, this board has analog inputs for the moisture and temperature sensors available without the need for any additional hardware. Second, I already had one laying on my desk not doing anything at all.
The Beaglebone advertises its native Node-Red interface on the welcome page. I had not used this framework before, but it looked interesting and simple enough. After a few minutes of playing around and getting familiar with how this framework actually works, I started stitching together a few nodes to create a watering system timer for this project.
It was within an hour that I had the first working iteration of a watering controller that was user-controllable through a web interface. Over time there were a few tweaks and additions, but the basic functionality had not changed.
A little bit of searching brought me to a Node-Red dashboard add-on accurately named node-red-dashboard. This add-on module provides the various widgets for the web-based user interface.
A user may now set:
Frequency: How often, in minutes, the water system is activated
Duration: How long, in seconds, to run the water
Moist Trigger: If the moisture sensor dips below this reading, water immediately!