This is a practical project using the BeagleBone Green Wireless as a server/controller for a home irrigation system.
JSON objects are passed in both directions between web browser and server via WebSocket. The web page maintains status display based on messages sent by the server.
A scheduling mechanism allows irrigation to be scheduled at a future time. Manual control is also available.
An option to incorporate a "Real Time Clock" is included. This will allow accurate scheduling when an internet connection is not available.
Most of the code is based on Node.js. Ecmascript 6 was used throughout.
The physical control function is done via GPIOs which control high-power solid-state relays. The solid-state relays switch 24VAC power to the pump relay and the zone valve solenoids.
The system is mounted to the outside of the house. The BeagleBone Green Wireless is a development board which is not designed for deployment in a harsh environment. It will be interesting to see how long it survives.
The git repository includes a PDF file with extensive documentation.