Appearance
IT-System â
IT-Systemâ¶
Das Wohnmobil verfĂŒgt ĂŒber ein eigenes IT- und Netzwerksystem mit einem Raspberry Pi als zentralem Rechner.
Die wesentlichen IT-Komponenten sind gemeinsam auf dem Pi-Board im Fahrzeug montiert.
Das IT-System stellt verschiedene lokale Dienste fĂŒr Dokumentation, Sensorik, Datenerfassung und Fernzugriff bereit.
Als zentraler Rechner wird der Raspberry Pi tsg-bobil verwendet.
Die meisten Dienste werden als Docker-Container betrieben und können dadurch unabhÀngig voneinander gestartet, gestoppt und aktualisiert werden.
Aufgaben des IT-Systems â
Das IT-System ĂŒbernimmt unter anderem:
- Bereitstellung des digitalen Womo-Handbuchs
- Bereitstellung eines getrennten Gast-WLANs mit ausschlieĂlich Zugriff auf das Womo-Handbuch
- Kommunikation mit den Zigbee-Sensoren
- Austausch von Messwerten ĂŒber MQTT
- Verarbeitung von Messwerten und Ereignissen
- Bereitstellung aktueller Messwerte fĂŒr das Womo-Handbuch
- Speicherung historischer Messwerte
- grafische Darstellung der Messwerte
- Erfassung ausgewÀhlter Systemwerte des Raspberry Pi
- Abruf externer Daten wie Wetterinformationen
- Nutzung der GPS-Position fĂŒr standortabhĂ€ngige Funktionen
- Fernzugriff ĂŒber VPN
Dienste â
Auf tsg-bobil werden derzeit folgende Dienste betrieben:
| Dienst | Aufgabe |
|---|---|
| VitePress | Bereitstellung des Womo-Handbuchs und Anzeige aktueller Daten |
| Node-RED | Verarbeitung und VerknĂŒpfung von Daten sowie Bereitstellung von HTTP-Schnittstellen |
| Mosquitto | MQTT-Broker |
| Zigbee2MQTT | Anbindung der Zigbee-Sensoren |
| InfluxDB | Speicherung historischer Messwerte |
| Grafana | Darstellung und Auswertung historischer Messwerte |
| WireGuard | VPN-Fernzugriff |
Datenfluss und Zusammenspiel der Dienste â
Die einzelnen Dienste auf tsg-bobil arbeiten zusammen, um Sensordaten zu erfassen, zu verarbeiten, zu speichern und darzustellen.
Ein typischer Datenfluss der Raumklimasensoren sieht vereinfacht so aus:
text
Zigbee-Sensor
â
â Zigbee
âŒ
Zigbee2MQTT
â
â MQTT
âŒ
Mosquitto
â
âŒ
Node-RED
â
ââââââââââŽâââââââââ
â â
⌠âŒ
InfluxDB HTTP-API
â â
⌠âŒ
Grafana Womo-Handbuch
(VitePress)Dabei haben die einzelnen Komponenten unterschiedliche Aufgaben:
- Zigbee2MQTT empfÀngt die Daten der Zigbee-Sensoren und veröffentlicht sie als MQTT-Nachrichten.
- Mosquitto stellt den MQTT-Broker fĂŒr den Austausch der Nachrichten bereit.
- Node-RED empfÀngt und verarbeitet die Messwerte.
- InfluxDB speichert Messwerte mit Zeitstempel fĂŒr die historische Auswertung.
- Grafana stellt die gespeicherten Werte und zeitlichen VerlÀufe grafisch dar.
- VitePress stellt das Womo-Handbuch bereit und zeigt ausgewÀhlte aktuelle Werte direkt auf der Startseite an.
Aktuelle und historische Messwerte â
Node-RED stellt ausgewĂ€hlte aktuelle Messwerte ĂŒber HTTP-Schnittstellen fĂŒr das Womo-Handbuch bereit.
Messwerte, die historisch gespeichert und ausgewertet werden sollen, werden zusÀtzlich in InfluxDB geschrieben. Grafana greift auf diese gespeicherten Daten zu und ermöglicht die Darstellung historischer VerlÀufe.
Aktuelle und historische Datenâ¶
Das Womo-Handbuch verwendet Node-RED fĂŒr die Anzeige der aktuellen Werte.
InfluxDB dient dagegen der Speicherung historischer Messwerte. Grafana verwendet diese gespeicherten Daten zur Darstellung zeitlicher VerlÀufe.
Dadurch bleiben aktuelle Anzeige und historische Datenauswertung voneinander getrennt.
Raumklimadaten â
Das Raumklima wird in drei Bereichen des Wohnmobils erfasst:
- Wohnraum â Sensor
RTF_01_WR - Laderaum â Sensor
RTF_02_LR - Fahrgastraum â Sensor
RTF_03_FR
Die Sensoren liefern jeweils:
- Temperatur
- relative Luftfeuchtigkeit
- Luftdruck
- Batteriestand
Node-RED verarbeitet die eingehenden Sensordaten und stellt die jeweils aktuellen Werte fĂŒr das Womo-Handbuch bereit.
ZusĂ€tzlich werden die Messwerte in InfluxDB gespeichert und stehen damit fĂŒr die historische Auswertung in Grafana zur VerfĂŒgung.
Systemdaten des Raspberry Pi â
Neben den eigentlichen Fahrzeug- und Sensordaten können auch Betriebsdaten des Raspberry Pi erfasst werden.
Derzeit wird die CPU-Temperatur des Raspberry Pi tsg-bobil einmal pro Minute durch Node-RED ausgelesen und in InfluxDB gespeichert.
Dadurch kann die Temperaturentwicklung des Raspberry Pi ĂŒber lĂ€ngere ZeitrĂ€ume in Grafana beobachtet werden.
Grafische Auswertung â
Die in InfluxDB gespeicherten Daten werden mit Grafana ausgewertet.
Das Dashboard Womo-Raumklima enthÀlt derzeit:
- Temperaturverlauf von Wohnraum, Laderaum und Fahrgastraum
- Verlauf der relativen Luftfeuchtigkeit von Wohnraum, Laderaum und Fahrgastraum
- Luftdruckverlauf von Wohnraum, Laderaum und Fahrgastraum
- aktuellen Batteriestand der drei Raumklimasensoren
- Temperaturverlauf des Raspberry Pi
Die Zeitspanne der dargestellten Messwerte kann in Grafana frei gewÀhlt werden.
Externe Daten â
Node-RED kann zusÀtzlich Daten aus externen Diensten abrufen.
FĂŒr das AuĂenwetter verwendet Node-RED derzeit OpenWeatherMap.
Aus einem angegebenen Ortsnamen werden zunĂ€chst die geografischen Koordinaten ermittelt. AnschlieĂend werden fĂŒr diese Position die aktuellen Wetterdaten abgerufen.
text
Ortsangabe
â
âŒ
Node-RED
â
ââââș OpenWeatherMap Geocoding
â â
â âŒ
â Lat / Lon
â
ââââș OpenWeatherMap Wetter
â
âŒ
aktuelle Wetterdaten
â
âŒ
Womo-HandbuchDer Wetterstandort kann direkt auf der Startseite des Womo-Handbuchs geÀndert werden.
Neben der manuellen Ortswahl kann auch die aktuelle GPS-Position des Fahrzeugs als Wetterstandort verwendet werden.
Die GPS-Position wird dabei vom am Raspberry Pi angeschlossenen GPS-EmpfĂ€nger ermittelt. Node-RED kann aus den Koordinaten ĂŒber Reverse Geocoding den zugehörigen Ort bestimmen.
Um unnötig hĂ€ufige externe Abfragen zu vermeiden, wird das Reverse Geocoding nicht mit jeder eintreffenden GPS-Meldung ausgefĂŒhrt, sondern zeitlich begrenzt.
Live-Daten im Womo-Handbuch â
Die Startseite des Womo-Handbuchs zeigt neben der Navigation aktuelle Innenraum- und Wetterdaten an.
Innenraum â
FĂŒr die drei Bereiche Wohnraum, Laderaum und Fahrgastraum können die aktuellen Raumklimadaten angezeigt werden.
Ăber SchaltflĂ€chen auf der Startseite kann zwischen den drei Bereichen umgeschaltet werden.
FĂŒr den jeweils ausgewĂ€hlten Bereich werden dargestellt:
- Temperatur
- relative Luftfeuchtigkeit
- Luftdruck
- Batteriestatus des Sensors
- Zeitpunkt der letzten Sensormeldung
AuĂenwetter â
FĂŒr das AuĂenwetter werden dargestellt:
- gewÀhlter Standort
- Temperatur
- gefĂŒhlte Temperatur
- relative Luftfeuchtigkeit
- Luftdruck
- Windgeschwindigkeit
- aktuelle Wetterlage
- Zeitpunkt der Wetterdaten
Der Wetterstandort kann entweder manuell gewÀhlt oder anhand der GPS-Position des Fahrzeugs bestimmt werden.
Die aktuellen Werte werden ĂŒber HTTP-Schnittstellen von Node-RED bereitgestellt und von den Vue-Komponenten der VitePress-Startseite abgerufen.
Sind Messwerte Àlter als eine Stunde, wird dies auf der Startseite gekennzeichnet.
Lokaler Betriebâ¶
Die wesentlichen Dienste funktionieren innerhalb des Womo-Netzes auch ohne Internetverbindung.
FĂŒr Funktionen, die externe Daten benötigen, ist dagegen eine Internetverbindung erforderlich. Dazu gehören beispielsweise der Abruf der Wetterdaten von OpenWeatherMap und der Fernzugriff ĂŒber WireGuard.
Bereits lokal gespeicherte Daten und die ĂŒbrigen Dienste des Raspberry Pi bleiben auch ohne Internetverbindung erreichbar.
FĂŒr GĂ€ste steht zusĂ€tzlich ein getrenntes Gast-WLAN zur VerfĂŒgung. Dieses ermöglicht ausschlieĂlich den Zugriff auf das Womo-Handbuch. Ein Zugriff auf die ĂŒbrigen Dienste des IT-Systems oder auf das Internet ist darĂŒber nicht möglich.