In this part we describe the final installation. The whole process to install everything took about a year, with the final installation being very consistent with the original prototype and the design goals discussed in part 1. Most importantly none of the sensors are visible, and the system is silent unless conditions conspire to alert us to an undesired condition. While not initially conceived, we added an alarm which turned out to be most useful. We also added node-red dashboards to be able to control the monitoring system as a late addition to the project, and also a good idea.
The idea of the alarm was born when we decided on the TPMS system that was only a gateway, and did not have its own dedicated display. It was important to alert us when there is something wrong with the tire pressures. And what better than a loud buzzer. Later while cold weather camping, we adding an alert should the outside temperatures drop below freezing during the night, knowing that the buzzer is loud enough to wake us up. More details on the alert system can be found in this post.
Node-red dashboards allows real-time data to be displayed using simple text or fancy graphical widgets. It also allows the user to click buttons and control the monitoring system. Neither of these two functions are available from Grafana.
We have tailored our dashboards to fit on the Garmin Navigator so we can access the monitoring system while driving. What information is on each screen, the size of the fonts, and even the colours are all deliberate decisions to make it easy to read to prevent the driver from getting distracted while driving. The dashboards are browser compatible, so can also be viewed on our iPhones, iPad or computer while not driving.
The dashboards are not intended to provide all the available metrics or states of the monitoring system. Rather those that make the most sense. The dashboards are constructed around the following screens
- Tire Pressures and Temperatures and control alerts during airing up and down.
- House Battery State of Charge, charge or discharge amps, house battery voltage and estimated days remaining until empty
- Solar panel and alternator generation.
- Fresh and Gray water tanks levels and estimated remaining days until empty/fill.
- Simple weather station with outdoor temperature, humidity and barometer trend.
- Status summary, mainly used to alert us of any problems prior to starting the drive for the day or any other time once the buzzer starts making a noise.
White text on a Red background or Red text is used consistently throughout the screens to indicate an urgent alert, and a condition that needs to be taken care of immediately. White text on a Green background or Black text indicates that everything is normal. In some limited cases, White text on an orange background is used to indicates a condition somewhere between normal and urgent and is a warning. If not addressed a warning can turn into an urgent alert. White text on a Magenta background means communication has been lost with the sensor and the information is likely stale and can’t be trusted. This might seem overly complicated, but it does allow fault conditions to be very quickly determined. For example, on the Tire Pressure panel, normal temperatures are displayed in black text, as this is very easy to read and nothing pops out of the display. If the pressure drops in one of the tires, and the text turns white on an Orange background, and clearly indicates the tire with the problem. It is impossible to miss. If conditions worsen, then the Orange background turns Red. If communication is lost to the gateway, then a banner is display showing a warning, with the banner having a Magenta background and useful information in the banner text.
All of the sensors are connected to the Raspberry Pi. The Raspberry pi is a Model 4 with 4 GB of RAM with all of the software stored on a removable SD card. The code we wrote to monitor Molly is stored on the SD card, but it is also backed-up in the cloud. And the Raspberry Pi does not store any of the monitoring data, so a failure of the raspberry Pi (or SD Card) will not result in the loss of any monitoring data. The Raspberry Pi runs node-red with extra nodes used by us.
The Raspberry Pi has four USB ports. The following sensros are connected to these USB ports
- Outdoor Environment Sensor
- Indoor Environment Sensor
- Tire Pressure Monitoring System
- Battery Monitor
The Raspberry Pi is connect to the Local Area Network, and thus has access to the following devices on the network which also acts as sensors.
- Solar Charge Controller
- GPS via the Cradlepoint
- Truck ECU via the Cradlepoint
- Cab Alarm
Finally the Raspberry Pi has a digital input board from Widget Lords with the following inputs
- Gray Water Tank Heater
- Freshwater Tank #2 Heater
- Freshwater Pump Running
- Freshwater Recirculating
- Stove Powered On
- Heater Powered On
- Stairs Powered On
The main computer has all of the 3rd party monitoring software like Influxdb, Grafana and the various Grafana plugins. As Influxdb is running on the main computer, all the data logged by the monitoring system is stored on it. Backups are automatic and made daily to the NAS.
We can survive if the Raspberry Pi or the Main computer fails. We have a second Raspberry Pi with a backup copy of the SD card. And while we do not have a second or spare main computer, Grafana and Influxdb is also installed on the Raspberry. So in the event the main computer fails, then the Raspberry Pi (with a small amount of reconfiguration) can take-over and the monitoring system will continue to function.
But the monitoring system will not survive the failure of the Cradlepoint modem, as it runs our local area network. We also will lose monitoring of the ECU and the GPS. So if this happens, then we will order a replacement. We also have very little redundancy in the various sensors, and should any of them fail, then the associated signals will no longer be monitored.
The main computer and Cradlpoint modem are fan-less and use heatsinks or radiators to expel heat. The Raspberry has a fan, and as this is a moving part is most likely to fail. So, we have a spare fan on the spare Raspberry Pi.
The main computer and Cradlepoint modem operate from a 12 volts dc source, and no external power supply is needed, and therefore can’t fail. The Raspberry Pi runs off USB-C, and we have numerous spare USB-C charges available.
The main computer, Raspberry Pi or the Cradlepoint modem has a display, and therefore these can’t fail. The device we typically use for displaying information is the Garmin Overlander, but we also use our laptops, iPads or iPhones.