Pool Systems Dashboard: Difference between revisions

 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
Information about the visual dashboard (associated with the automation system) will follow shortly.
The dashboard provides a visual interface for the [[Pool Systems Automation]].


== System ==
== System ==
Line 9: Line 9:
==== Raspberry Pi ====
==== Raspberry Pi ====


The dashboard presently runs on a [https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ Raspberry Pi 3 Model B] V1.2.
The dashboard presently runs on a [https://www.raspberrypi.com/products/raspberry-pi-5/ Raspberry Pi 5] (4 GB).  The Pi hardware was upgraded in 2025; previously it ran on a [https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ Raspberry Pi 3 Model B] V1.2.


The Raspberry Pi is powered via a micro USB cable, connected to a powered by a Mean Well DDR-15G-5.  This device drops the 12 V chassis supply down to 5 V (for the Pi) and is capable of producing 15 W (3 A).  This exceeds the 2.5 A requirement cited for the Pi.  The internal WiFi radio is NOT used; instead, network connectivity is provided by Ethernet (to the Lantronix  
The Pi is powered via a modified USB-C cable, connected to a Mean Well DDR-15G-5.  Note that previously, a a micro USB cable was used for the Pi 3B.  This device drops the 12 V chassis supply down to 5 V (for the Pi) and is capable of producing 15 W (3 A).  This exceeds the 2.5 A requirement cited for the Pi.  The internal WiFi radio is NOT used; instead, network connectivity is provided by Ethernet (to the Lantronix PremierWave XN).


Communication with the PLC and temperature controller requires a functional WiFi device network.
Communication with the [[Pool Systems Automation#Programmable Logic Controller|Programmable Logic Controller]] and [[Pool Boiler Temperature Controller|Temperature Controller]] requires a functional WiFi device network.


==== Lantronix PremierWave XN ====
==== Lantronix PremierWave XN ====
The Lantronix PremierWave XN in the chassis with the Raspberry Pi has multiple purposes:
* To provide serial-to-IP conversion for the RS-485 port on the [[Chemtrol Pool Controller]].
* To provide a link to the WiFi device network.
* To provide an Ethernet port, bridging/routing WiFi to the connected device.


==== BeagleBone Black ====
==== BeagleBone Black ====
Line 28: Line 34:
=== Software ===
=== Software ===


All software operates on [https://www.raspberrypi.org/software/operating-systems/ Raspberry Pi OS] (the "Desktop" distribution), which is based on Debian GNU/Linux.
All software operates on [https://www.raspberrypi.org/software/operating-systems/ Raspberry Pi OS] (the "Lite" distribution), which is based on Debian GNU/Linux.
 
==== InfluxDB ====
 
[https://www.influxdata.com/products/influxdb-overview/ InfluxDB] is a time series database, used to store data collected by [https://www.influxdata.com/time-series-platform/telegraf/ Telegraf].
 
Previously, [https://www.influxdata.com/time-series-platform/chronograf/ Chronograf] was used to display the data in a visually useful way on the dashboard.  [https://www.influxdata.com/time-series-platform/kapacitor/ Kapacitor] was used to trigger actions based upon data values.


==== InfluxDB Platform ====
==== Grafana ====


[https://www.influxdata.com/products/influxdb-overview/ InfluxDB] is a time series database, used to store data collected by [https://www.influxdata.com/time-series-platform/telegraf/ Telegraf].  The UI layer, [https://www.influxdata.com/time-series-platform/chronograf/ Chronograf], is used to display the data in a visually useful way on the dashboard.  Finally, [https://www.influxdata.com/time-series-platform/kapacitor/ Kapacitor] is used to trigger actions based upon data values.
In the Pi 5 refresh, the Chronograf/Kapacitor portion of the InfluxDB TICK stack were replaced with [https://grafana.com/ Grafana].  This seems to be the preferred direction for InfluxDB 3 onward.  Grafana offers far more DB (input) hooks than Chronograf.


==== Node-RED ====
==== Node-RED ====
Line 40: Line 52:
=== LCD Monitor ===
=== LCD Monitor ===


As of 2021, the monitor is an "old" HP Compaq LA2405x.  This was an older surplus unit, chosen for its scrap bin destiny.  It's fully expected that this monitor may eventually fail due to the corrosive environment it's exposed to in the summer, along with a cold/damp/unconditioned environment in the winter.  Replacement is straightforward; screws accessible on the bottom side release it from the VESA wall mount.  Any monitor with HD or better resolution and an HDMI input should suffice.
The monitor is an "old" HP Compaq LA2405x.  This was an older surplus unit, installed in 2021.  It is/was fully expected that this monitor may eventually fail due to the corrosive environment it's exposed to in the summer, along with a cold/damp/unconditioned environment in the winter.  That said, it's still going strong as of 2025.  Replacement is straightforward; screws accessible on the bottom side release it from the VESA wall mount.  Any monitor with HD or better resolution and an HDMI input should suffice.


== Gauges ==
== Gauges ==
Line 47: Line 59:


=== Filter Tank Pressure ===
=== Filter Tank Pressure ===
[[File:Tank Pressure Gauge Example.png|frame|An example of a tank pressure gauge.]]


Shows the pressure in pounds per square inch (psi) for a [[Sand Filters|sand filter]] tank per the PLC [[Pool Systems Automation#Filter Tank Pressure|Filter Tank Pressure]] measurement (via WiFi link).
Shows the pressure in pounds per square inch (psi) for a [[Sand Filters|sand filter]] tank per the PLC [[Pool Systems Automation#Filter Tank Pressure|Filter Tank Pressure]] measurement (via WiFi link).
Line 73: Line 83:
|18+
|18+
|Yellow/Red
|Yellow/Red
|[[Backwash]] Recommended
|[[Backwashing|Backwash]] Recommended
|}
|}


Line 83: Line 93:


=== Surge Tank Level ===
=== Surge Tank Level ===
[[File:Surge Tank Depth Gauge Example.png|frame|An example of the surge tank level (depth) gauge.]]


Shows the level (depth) in inches for the surge tank per the PLC [[Pool Systems Automation#Surge Tank Level|Surge Tank Level]] measurement (via WiFi link).
Shows the level (depth) in inches for the surge tank per the PLC [[Pool Systems Automation#Surge Tank Level|Surge Tank Level]] measurement (via WiFi link).
Line 123: Line 131:


=== Out Flow ===
=== Out Flow ===
[[File:Out Flow Gauge Example.png|frame|An example of the out flow rate gauge.]]


Shows the out flow rate in gallons per minute (GPM).
Shows the out flow rate in gallons per minute (GPM).
Line 160: Line 166:


=== Inlet Temperature ===
=== Inlet Temperature ===
[[File:Inlet Temperature Gauge Example.png|frame|An example of the inlet temperature gauge.]]


Shows the inlet temperature in degrees Fahrenheit (°F) per the temperature controller measurement (via WiFi link).  This temperature is measured directly after the filter tanks, prior to the boiler loop (refer to the [[Process Flow Diagram]]).
Shows the inlet temperature in degrees Fahrenheit (°F) per the temperature controller measurement (via WiFi link).  This temperature is measured directly after the filter tanks, prior to the boiler loop (refer to the [[Process Flow Diagram]]).
Line 188: Line 192:


=== pH ===
=== pH ===
[[File:pH Gauge Example.png|frame|An example of the pH gauge.]]


Shows the sampled water pH per a [[Chemtrol Pool Controller]] measurement (via RS-485/Ethernet link).
Shows the sampled water pH per a [[Chemtrol Pool Controller]] measurement (via RS-485/Ethernet link).
Line 224: Line 226:


=== ORP ===
=== ORP ===
[[File:ORP Gauge Example.png|frame|An example of the ORP gauge.]]


Shows the sampled water oxidation reduction potential (ORP) per a [[Chemtrol Pool Controller]] measurement (via RS-485/Ethernet link).
Shows the sampled water oxidation reduction potential (ORP) per a [[Chemtrol Pool Controller]] measurement (via RS-485/Ethernet link).
Line 231: Line 231:
== Graphs ==
== Graphs ==


=== ORP ===
To be updated.
 
[[File:ORP Graph Example.png|frame|An example of an ORP graph.]]
 
The ORP graph shows the ORP measurement over time.  The graph shown contains two days worth of history.  Certain events, marked by numbers, can be identified:
 
# A valley indicates a ORP trend direction change.  This typically occurs when chlorine is added to the pool.
# Overshoot and leveling-off is common overnight, as a lack of UV (and to some extent, pool occupants) prevents the rapid breakdown of chlorine in the pool water.
# Two events are identified in this marker.  First, the gradual drop in ORP as the sun hits the pool (starting at about 7:30 am).  Then, like in #1, a rise in ORP as chlorine is added to the pool.  Overshoot is much lower in this instance, as the pool is occupied and mid-day sunshine contributes to rapid chlorine breakdown.