LoRa-Bootsmonitor

Vorab ein paar wichtige Hinweise die sie unbedingt beachten sollten.

https://www.segeln-forum.de/thread/74840-lora-monitoring-und-alarmserver/

https://gitlab.com/norbertwalter67/lora-boat-monitor

Der LoRa-Bootsmonitor dient zur Überwachung des Bootes bei Abwesenheit. Es werden verschiedene Messwerte kontinuierlich in frei einstellbaren Zeitabständen über die LoRa-Funktechnik (Long Range) in das LoRaWAN weitergeleitet und aufgezeichnet. Die Daten werden vom TTN-Server V3 (The Thinks Network) für Europa in Irland empfangen und zwischengespeichert sowie dann an Ubidots als Web-Frontend weitergeleitet. Die Datenübertragung ist bis zu Ubidots durch Verschlüsselung gesichert. In Ubidots werden die Messdaten angezeigt und es können verschiedene Benachrichtigungen per Mail bei Grenzwertüberschreitungen von Messwerten versandt werden. Weltweit gibt es eine große Anzahl von LoRa-Gateways die die versendeten Messdaten empfangen können und an den TTN-Server weiterleiten. Viele LoRa-Gateways werden gemeinnützig durch Privatleute betrieben. Jeder der möchte kann ein eigenes Gateway betreiben und der Allgemeinheit zur Verfügung stellen. Die Funktechnik benutzt in Europa den lizenzfreien Frequenzbereich um 868 MHz und verwendet eine spezielle Sendetechnik (Chirp), um große Reichweiten von bis zu 50 km bei geringen Datenraten zu erzielen. Die Reichweiten sind von der Sendeart, der Antennenhöhe und der Umgebung abhängig. In bebauten Umgebungen wie Städten sind typische Reichweiten von 1…4 km möglich. In offenen Umgebungen wie auf Seen und dem Meer werden bis zu 50km erreicht. Kosten für die Datenübertragung fallen bei der Versendung von LoRa-Telegrammen nicht an. LoRa-Geräte können genau so benutzt werden wie Handys. Die LoRa-Daten werden von jedem öffentlichen Gateway ohne vorherige Anmeldung empfangen und weitergeleitet. Wenn das Gerät bei TTN registriert ist, können von dort die Daten abgeholt oder weitergeleitet werden. Das ist der große Unterschied zu anderen Long Range Übertragungstechniken wie SIGFOX und mobilen Datennetzen wie NB-IoT über 3G/4G/5G. Sollte kein LoRa-Gateway in Reichweite sein, so kann mit der selben Platine ein einfaches 1-Kanal- bzw. 3-Kanal-LoRa-Gateway aufgebaut werden. Es werden dann lediglich einige Bauteile weggelassen und eine Gateway-Firmware verwendet. Alternativ können auch die Messwerte über WLAN nach Ubidots direkt versendet werden, sofern ein WLAN in Reichweite ist.

Bild: LoRa-Datenübertragung (Semtech GmbH)

Bild: Funktionsübersicht LoRa Bootsmonitor

Der LoRa-Bootsmonitor hat folgende Funktionen:

  • 10…32V Versorgungsspannung
  • 1,2W Stromverbrauch
  • Schutzklasse IP68, wasserdicht
  • LoRa Sender und Empfänger mit OLED Display
  • 868 MHz, SF7…SF12, 100 mW Sendeleistung
  • LoRa-Registrierung über ABP
  • Dynamischer Spreading-Faktor einstellbar SF7…FS10
  • Unterstützt Kanäle 0…7 dynamisch und fix
  • Datenübertragungsrate: 0,3 bis 50 kbit/s
  • Max. Telegrammlänge für Nutzdaten: 200 Byte (40 Bytes aktuell benutzt)
  • Reichweiten: bebaute Umgebung 1…4km, offene Umgebung bis 50km
  • LoRa-Sendeintervall 30s…2.1h
  • Einkanal-, Dreikanal- und Achtkanal-Mode einstellbar
  • Einspeisung der Daten ins The Thinks Network (TTN V3)
  • Parametrierung des LoRa-Bootsmonitors über Rückkanal möglich (Kanal, SF, Sendeintervall, Relais)
  • WLAN (2.4 GHz) zur alternativen Datenübertragung
  • Weboberfläche zur Bedienung
  • Firmwareupdate über WLAN und Internet möglich
  • GPS Sensor für Geo-Ortskoordinaten
  • BME280 zur Messung von Temperatur, Luftfeuchtigkeit und Luftdruck
  • 1x Batteriespannungsmessung (0…32V Servicebatterie)
  • 1x potentialfreier Alarmkontakt z.B. für Bilgen- und Tür-Überwachung
  • 2x Tanksensor (0…180 Ohm) mit Prozentanzeige
  • Kalibrierbare Tank und Spannungssensoren
  • 1x Relais-Ausgang zum potentialfreien schalten von Lasten mit Zeitvorgabe (5min…21h) bis 3A (12V oder 230V)
  • 2x 1Wire-Anschluss für Temperatursensoren DS18B20 für die Batterieüberwachung und Kühlschrank
  • Monitoring und Alarmierung über Ubidots-Webfrontend
  • Ausgabe der Sensordaten als NMEA0183 Telegramme
  • Alarmierung per E-Mail bei Grenzwertüberschreitung über Ubidots
  • Automatische Datenspeicherung für die letzten 31 Tage bei Ubidots
  • Verwendung von günstigen Embedded Modulen
  • Keine SMD Bauelemente auf der Platine
  • Platine hier bestellbar: https://aisler.net/p/TUFQWBEF
  • Android-App: LoRa_Boatmonitor_1.apk

Sensoren und Anschlussmöglichkeiten

Am LoRa-Bootsmonitor können verschiedene Sensoren und Aktoren über die Klemmleiste angeschlossen werden. Folgende Sensoren werden unterstützt:

  • Batteriespannungssensor
  • Umweltsensor
  • Victron VE.Direct (zukünftig)
  • GPS-Sensor
  • Alarmkontakte
  • Füllstandsensoren
  • Temperatursensoren

Batteriespannungssensor

Der Batteriespannungssensor ist bereits im LoRa-Bootsmonitor fest verbaut. Über den Anschluss der Versorgungsspannung kann die Batteriespannung überwacht werden. Der ESP32 misst dazu die Batteriespannung an einem Analogeingang. Batterieströme ober Leistungen können nicht gemessen werden. Es ist lediglich die Messung der Batteriespannung möglich. Die Messgenauigkeit der Batteriespannung liegt bei ca. 0,1V.

Abb.: Anschluss Bordbatterie

Für best mögliche Messergebnisse sollte der Batteriespannungssensor kalibriert werden. Im Auslieferungszustand der Firmware sind Standardwerte hinterlegt, die eine höhere Ungenauigkeit aufweisen.

Umweltsensor

Als Umweltsensor ist auf der Platine des LoRa-Bootsmonitors ein BME280-Modul verbaut. Der Sensor kann Lufttemperatur, Luftfeuchtigkeit und Luftdruck messen. Als Sekundärgrößen werden zusätzlich die örtliche Höhe über den Luftdruck bestimmt und der Taupunkt über die Luftfeuchtigkeit und die Temperatur berechnet. Man sollte aber keine all zu großen Erwartungen an die Messgenauigkeiten des Sensors haben. Fast 98% aller verkauften BME280-Platinen sind Plagiate, die deutlich schlechtere Messgenauigkeiten aufweisen als der originale Bosch-Sensor. Das macht sich besonders bei der Messung des Luftdrucks bemerkbar. Die Werte schwanken sehr stark. Der Temperatursensor zeigt oft viel zu hohe Temperaturen durch Eigenerwärmung des Chips an. Dem entsprechend ist die Berechnung des Taupunktes auch recht ungenau.

Abb.: BME280

Victron VE.Direct

Zukünftig soll die VE.Direkt Schnittstelle von Victron unterstützt werden. Um die VE.Direct nutzen zu können, werden die Pins des Umweltsensors BME280 benutzt. Der BME280 kann dann nicht gleichzeitig benutzt werden und muss entfernt werden. An dessen Stelle wird ein Steckverbinder für VE.Direct angeschlossen.

Abb.: Victron Solarlader mit VE.Direct (Victron)

Abb.: VE.Direct Port unten links 4 Stifte (Victron)

Es ist vorgesehen das an der VE.Direct Schnittstelle Batteriemonitoren, Solarlader und andere Geräte mit VE.Direct unterstützt werden. Es kann aber nur immer ein Gerät an der VE.Direkt Schnittstelle benutzt werden. Die Werte der Geräte werden ebenfalls über LoRaWAN und NMEA0183 übertragen.

GPS-Sensor

Zur Ortserfassung ist im LoRa-Bootsmonitor ein empfindlicher GPS-Empfänger verbaut, der die geografische Position des Bootes sehr genau erfassen kann. Er funktioniert sogar unter Deck, wenn der Sensor keine direkte Sicht zum Himmel hat. Je nach Einbaulage des Bootsmonitors kann die GPS-Modul auf der Platine liegend oder stehend eingelötet werden. Das soll dazu beitragen, dass die im Modul integrierte GPS-Antenne sich immer parallel zur Wasserfläche ausrichten lässt, so dass die Antenne immer in Richtung Himmel zeigt. In schwierigen Empfangssituationen wie z.B. in einem Stahlboot kann auch eine externe GPS-Antenne verwendet werden. Die integrierte Antenne kann über einen Stecker getrennt werden, an den sich auch eine externe Antenne anbinden lässt. Im Fachhandel gibt es Pigtail-Kabel, um von den kleinen Platinen-Steckverbinder auf größere SMA-Coaxial-Steckverbinder zu kommen.

Abb.: GPS-Empfänger

Alarmkontakte

An den LoRa-Bootsmonitor können potenzialfreie Alarmkontakte angeschlossen werden. Typischer Weise sind das einfache mechanische Schalter, die zwei Kontakte miteinander verbinden. Am Bootsmonitor ist ein Eingang für Alarmkontakte vorgesehen. Im Ubidots-Frontend kann festgelegt werden, ob der Alarmkontakt als Öffner oder Schließer fungieren soll.

An den Eingang des Alarmkontaktes können aber durchaus mehrere Kontakte angeschlossen werden. So lassen sich mehrere Stellen gleichzeitig überwachen, wie z.B. das Bilgenwasser in Vorschiff, im Salon und im Heck. Grundsätzlich kann man nur mehrere Sensoren des gleichen Schaltertyps, Öffner oder Schließer, am Alarmeingang verwenden. Werden Öffner verwendet die den Kontakt bei Auslösung öffnen, so werden alle Sensoren in Reihe geschaltet. Benutzt man hingegen Schließer, so werden alle Sensoren parallel geschaltet.

Abb.: Öffner in Serie, Schließer parallel

Es ist z.B. auch ein Mischbetrieb verschiedenartiger Alarmkontakte möglich, sofern sie den selben Schaltertyp verwenden. So könnte man z.B. gleichzeitig Türkontakte zur Einbruchserkennung und Bilgensensoren verwenden. Bei der Alarmauslösung lässt sich aber nicht ermitteln welcher Typ des Alarmkontaktes ausgelöst hat. Es ist dann unumgänglich vor Ort nachzusehen, um welches auslösende Ereignis es sich gehandelt hat.

Achtung: Bedenken Sie, dass die Auslösung eines Alarmkontaktes verzögert über den LoRa-Bootsmonitor übermittelt werden kann. In der Regel wird die Information innerhalb des eingestellten Sendeintervalls übertragen. In schwierigen Funkumgebungen kann das aber auch deutlich länger dauern. Vergewissern Sie sich vorher wie gut die Verbindungsqualität der LoRa-Funkübertragung ist. Bei Ubidots kann dazu die Häufigkeit der Telegrammeingänge überwacht werden.

Füllstandsensoren

Zur Überwachung von Füllständen können alle Sensoren verwendet werden die auf Basis einer Widerstandsänderung funktionieren. Gängige Sensoren arbeiten im Bereich von 0…180 Ohm bzw. 0…200 Ohm. All diese Sensoren können am LoRa-Bootsmonitor verwendet werden. Dazu werden die Sensoren direkt mit den beiden Kabeln an der Klemmleiste angeschlossen. Insgesamt stehen zwei Eingänge für Füllstandsensoren zur Verfügung.

Abb.: Anschluss Füllstandsensoren

Achtung: Mehrere Füllstandsensoren dürfen nicht parallel am Klemmenpaar aufgelegt werden. Es darf immer nur ein Sensor pro Klemmenpaar aufgelegt werden. Beachten Sie, dass einfache Füllstandsensoren den Füllstand nicht kontinuierlich und sprungfrei ausgeben können. In den meisten Fällen geben Füllstandsensoren mit magnetischen Schwimmer die Messwerte nur in 10%-Schritten aus. Zwischen den Schritten bleiben die Messwerte so lange stehen, bis ein neuer Schritt übersprungen ist. Dies ist besonders bei geringen Füllständen zu beachten, bei dem der angezeigte Füllstand nicht dem realen Füllstand entsprechen muss.

Um die Füllstände beliebiger Füllstandsensoren unabhängig von der Tankgeometrie anzeigen zu können, ist es möglich die Sensoren zu kalibrieren. Dazu stehen eine lineare und eine nichtlineare Korrekturfunktion zur Verfügung. Die Parameter der Korrekturfunktion werden durch austesten des Tanks ermittelt, indem Schritt für Schritt der Tank literweise gefüllt wird und die Messergebnisse den Füllständen zugeordnet werden. So lassen sich auch trapezförmige oder beliebige Tankquerschnitte korrekt erfassen.

Temperatursensoren

Zur Überwachung von Temperaturen im Boot können 1Wire-Temperatursensoren benutzt werden. Dazu wird der Sensor an die drei Kontakte angeschlossen. Derzeit werden 2 Sensoren unterstützt, die parallel aufgelegt werden können. Die günstigen 1Wire-Temperatursensoren können im Einzelhandel als wasserdichte gekapselte Variante in einem Metallgehäuse erworben werden.

Abb.: Anschluss 1Wire Temperatursensoren DS18B20

Beispielanwendung

Als Idee wie man den LoRa-Bootsmonitor nutzen kann, ist hier eine Beispiel vorgestellt. In dem Szenario werden zwei Füllstandssensoren benutzt, einer für Diesel und ein weiter für Frischwasser. Mit einem Schwimmschalter der als Schließer ausgeführt ist, wird die Bilge überwacht. Sollte sich Wasser in der Bilge sammeln, so kann eine Meldung per Mail abgesetzt werden. Mit den beiden Temperatursensoren kann die Temperatur der Bordbatterie und die Raumtemperatur im Boot überwacht werden. Ein 1 kW Heizlüfter ist am Schließerkontakt des Relais angeschlossen. Der Heizlüfter kann aus der Ferne über den LoRa-Bootsmonitor gesteuert werden. Dazu kann das Relais zeitlich zugeschaltet werden. Das Relais trennt den Stromkreis automatisch nach einer vorgegebenen Zeit. So könnte man z.B. die Raumtemperatur im Boot über dem Gefrierpunkt  oder über den Taupunkt halten. Damit können Frost oder Schimmelbildung verhindert werden.

Abb.: Beispielschaltung

Anzeige von Messwerten im Webfrontend

Zur Anzeige der aktuellen Messwerte ist im LoRa-Bootsmonitor ein kleiner Webserver integriert, über dessen Webseiten sich die Messwerte und einige Betriebsparameter einstellen und anzeigen lassen. Dazu verbindet man sich über das WiFi-Netzwerk NoWa mir dem Passwort 12345678 und ruft dann die Webseite http://192.168.4.1 auf.

Abb.: Hauptmenü

 

Abb.: Sensor Info

Anzeige von Messwerten im OLED Display

Die wichtigsten Messwerte des LoRa-Bootsmonitors werden auch im OLED Display angezeigt und kontinuierlich aktualisiert.

Abb.: OLED Display

Die Bedeutung der angezeigten Werte ist folgende:

Kürzel Bedeutung Kürzel Bedeutung
C LoRa Telegramm-Counter dT Zeitintervall in s
T Lufttemperatur in °C V Batteriespannung in V
P Luftdruck in mbar T2  1Wire Temperatursensor in °C
H Luftfeuchtigkeit in % X GPS Latitude
D Taupunkt in °C Y GPS Longitude
L Tanksensor 1 L2  Tanksensor 2
A Alarmeingang R  Relaisstatus

Tab.: Anzeigewerte im OLED Display

Registrierung im LoRa Netzwerk TTN V3

Bevor der LoRa-Bootsmonitor Daten in das TTN V3-Netzwerk senden kann, muss das Gerät dort angemeldet werden. Für den Bootsmonitor werden eine eindeutige Device-ID, ein Netzwerk-Schlüssel und ein Anwendungsschlüssel vergeben. Die Device-ID ist identisch zur IMEI beim Handy und dient der Identifizierung. Der Netzwerkschlüssel wird zur Absicherung des Transportweges über Funk und Internet benutzt. Der Anwendungsschlüssel dient zur Entschlüsselung der Daten auf der Applikationsebene. Die Applikationsebene ist der Punkt an dem die Daten wieder unverschlüsselt vorliegen und verarbeitet werden. Theoretisch kann ein LoRa-Gerät auch für verschiedene unabhängige Anwendungen die Daten gleichzeitig ausliefern. Die GPS-Daten des Bootes könnten z.B. in einer Anwendung zur Darstellung in einer privaten Karte verwendet werden und übergeordnet in einer weiteren Anwendung zur Verkehrsflussanzeige aller Geräte in einer öffentlichen Karte angezeigt werden. Daher die zusätzliche Verschlüsselung auf Applikationsebene.

Damit Daten im LoRa TTN V3 Netzwerk verarbeitet werden können, muss als erstes eine Applikation erstellt werden. Anschließend wird das Device der Applikation zugeordnet und noch ein Payload Decoder eingetragen. Wie diese Konfiguration im Detail abläuft, kann hier nachgesehen werden.

LoRa-Zugangsdaten und Betriebsarten des Bootsmonitors

Als nächstes müssen wir den LoRa-Bootsmonitor auf die LoRa-Betriebsart einstellen und die generierten Schlüssel eintragen (siehe Registrierung im LoRa Netzwerk TTN V3). Dazu verbinden wir uns mit dem WiFi-Netz NoWa mit dem Passwort 12345678, rufen die Webseite http://192.168.4.1 auf und gehen auf die Seite Device Settings.

Abb.: Device Settings

Unter Device Address, Network Session Key und Application Key werden die Werte eingetragen die auf der TTN Seite generiert worden sind und die wir uns ausgedruckt haben. Achtung: Die Device Address darf nicht mit der Device EUI verwechselt werden, anderenfalls funktioniert der LoRa-Netzwerkzugang sonst nicht. Bitte achten Sie darauf die Eingabefelder vorher vollständig zu löschen. Die Anzeigefelder verbergen einen Teil der Eingabewerte die rechts weiterlaufen. Als Frequency Region muss EU868 ausgewählt werden. Über LoRa Channel kann festgelegt werden auf welchen Kanälen der LoRa-Bootsmonitor senden soll. Es stehen folgende Optionen zur Auswahl:

  • 0…7
  • 0…3 dynamic
  • 0…7 dynamic

Wird nur ein einziger Kanal ausgewählt, so sendet der Bootsmonitor permanent auf diesem einen Kanal. Bei der dynamischen Kanalauswahl wird nacheinander zwischen den Kanälen nach jeder Aussendung gewechselt. Für öffentliche LoRa-Gateways sollte 0…7 dynamic gewählt werden. Bei älteren Ein-Kanal-Gateways ist der Kanal 1 oder höer zu wählen. Der Kanal 0 sollte bei Ein-Kanal-Gateways nicht verwendet werden, da diese Daten im TTN-Netzwerk nicht entgegen genommen werden.

Der Spreading Faktor (SF) gibt an mit welcher Frequenz-Spreizung gearbeitet werden soll. Die Frequenz-Spreizung die auch als Chirp bezeichnet wird, dient dazu das Nutzsignal über ein größeres Frequenzband zu verteilen. Dadurch wird die Empfindlichkeit auf Störungen verringert und die Datenübertragung verbessert. Je höher die Frequenzspreizung ist, um so sicherer lassen sich Daten übertragen. Andererseits sinkt die mögliche Datenrate der zu übertragenden Informationen. Es können Spreading-Faktoren zwischen 7…10 eingestellt werden. Kleinere Werte benutzen eine geringere Frequenzspreizung und können die Daten schneller übertragen. Jedoch ist die Reichweite nicht sehr hoch. In bebauten Umgebungen wie Städten werden Reichweiten von 1…4 km erzielt. Sollte die Datenübertragung gestört sein, so kann man höhere Spreading-Faktoren ausprobieren. Mit SF10 können Reichweiten im offenen Gelänge wie z.B. Gewässern bis zu 60 km erzielt werden.

Mit Dynamic SF ist eine dynamische Frequenz-Spreizung möglich. Wird sie zugeschaltet, so werden kontinuierlich mehrere Spreading-Faktoren bei der Aussendung verwendet. Das Sendeschema besteht aus 10 Zeitschlitzen in denen Daten ausgesendet werden. Das Sendeschema wiederholt sich fortlaufend.

Spreading-Faktor Timeslot 1 Timeslot 2 Timeslot 3 Timeslot 4 Timeslot 5 Timeslot 6 Timeslot 7 Timeslot 8 Timeslot 9 Timeslot 10
SF7 fix SF7 SF7 SF7 SF7 SF7 SF7 SF7 SF7 SF7 SF7
SF8 fix SF8 SF8 SF8 SF8 SF8 SF8 SF8 SF8 SF8 SF8
SF9 fix SF9 SF9 SF9 SF9 SF9 SF9 SF9 SF9 SF9 SF9
SF10 fix SF10 SF10 SF10 SF10 SF10 SF10 SF10 SF10 SF10 SF10
SF7 dyn SF7 SF7 SF7 SF7 SF7 SF7 SF7 SF7 SF8 SF9
SF8 dyn SF8 SF8 SF8 SF8 SF8 SF8 SF8 SF8 SF9 SF10
SF9 dyn SF9 SF9 SF9 SF9 SF9 SF9 SF9 SF9 SF10 SF11
SF10 dyn SF10 SF10 SF10 SF10 SF10 SF10 SF10 SF10 SF11 SF12

Tab.: LoRa-Sendeschema

Die größten Reichweiten werden mit SF9 dyn und SF10 dyn erreicht. Bei diesen Einstellungen gibt es noch zusätzlich den SF11 und SF12. Diese Speeding-Faktoren dürfen nicht kontinuierlich verwendet werden und werden nur in den dynamischen Betriebsarten benutzt.

Mit TX Interval kann die Häufigkeit der LoRa-Telegramm-Aussendungen als Vielfaches von 30s eingestellt werden. Kürzere Aussendungen als 30s sind laut LoRa-Spezifikation nicht erlaubt. Im realen Betrieb reichen Sende-Intervalle von 10…15 min aus. Dann werden 4…6 LoRa-Telegramme je Stunde versendet.

Achtung: Es ist aber zu beachten, dass die Alarm-Antwortzeit des LoRa-Boosmonitors direkt im Zusammenhang mit dem Sende-Intervall steht. Wer schnelle Alarm-Antwortzeiten benötigt, muss kurze Sende-Intervalle verwenden.

Registrierung bei Ubidots

Ubidots ist ein kommerzieller Cloud-Dienstleister zur Visualisierung und Datenspeicherung für IoT-Geräte. Für Privatanwender und Bildungseinrichtungen gibt es einen Ableger von Ubidots mit dem Namen Steam. Das ist eine kostenlose und im Funktionsumfang eingeschränkte Version von Ubidots. Die Limitierungen sind dabei folgende:

  • Geräte: Bis zu 10 Geräte. Die ersten 3 Geräte kostenlos, dann $ 4,5 / Gerät / Monat
  • Variablen: Bis zu 10 Variablen pro Gerät
  • Plugins: Bis zu 1 Plugin mit 10.000 Plugin-Ausführungen pro Monat
  • Datenaufnahme: 4.000 Punkte pro Tag auf allen Ihren Geräten
  • Datenextraktion: 500.000 Punkte pro Tag in Ihrem gesamten Konto
  • Datenrate: 1 Anforderung pro Sekunde auf allen Ihren Geräten
  • Vorratsdatenspeicherung: 1 Monat
  • Dashboards: Bis zu 3 Dashboards mit jeweils bis zu 10 Widgets
  • SMS- und Sprachanrufe: 10 SMS und 1 Sprachanruf kostenlos pro Monat (nur USA und Kanada)
  • Alarmierung: 1 Mailadresse

Zur Bootsüberwachung ist die kostenlose Steam-Version völlig ausreichend, obwohl man schon darauf achten muss, nicht all zu viele Daten zu übertragen und abzufragen. Falls Limitierungen verletzt sein sollten, stellt Ubidots den Dienst ein und stellt am darauf folgenden Tag den Dienst wieder her, so lange keines der Limits verletzt worden ist. Die Fehlersuche ist dann etwas aufwändig, da man nicht auf den ersten Blick erkennt, warum irgendwas nicht funktioniert. Daher sollte man darauf achten möglichst innerhalb der Limits zu bleiben.

Für den Bootsmonitor werden folgende Ressourcen benötigt:

  • Geräte: 1
  • Variablen: 10
  • Plugins: 1
  • Datenaufnahme: 4.000 Punkte pro Tag
  • Datenextraktion: 500.000 Punkte pro Tag
  • Datenrate: 1 Anforderung alle 5 Minuten
  • Vorratsdatenspeicherung: 1 Monat
  • Dashboards: 1 Dashboard mit jeweils bis zu 10 Widgets.
  • Alarmierung: 1 Mailadresse

Berechnung des Datenaufkommens

Der LoRa-Bootsmonitor verwendet 12 Messwerte die an Ubidots übergeben werden. Das sind 2 Variablen mehr als erlaubt. Wir werden aber nur 10 Messwerte in Ubidots von den 12 Messwerten importieren. Wie vielleicht schon aufgefallen ist, werden die GPS-Daten in verschiedenen Formaten doppelt übertragen. Das hat den Hintergrund, da für die Verortung des LoRa-Bootsmonitors innerhalb von TTN V3 und Ubidots verschiedene Formatierungen verwendet werden und sie daher doppelt übertragen werden. So ist sichergestellt, dass in Ubidots auch das Boot in der Landkarte angezeigt werden kann.

{
"alarm1": 1,
"dewpoint": 10.4,
"humidity": 29.35,
"latitude": 51.193901,
"longitude": 6.796773,
"position": {
"context": {
"lat": 51.193901,
"lng": 6.796773
},
"value": 0
},
"pressure": 1020.8,
"tempbattery": 17.2,
"voltage": 11.28
}

Bei 4000 Datenpunkten pro Tag ergibt das eine höchst mögliche Senderate von 5 min ((60*24)/(4000/12)=4,32). Wenn die Anzahl der zu übertragenden Messwerte reduziert werden, lässt sich die Senderate erhöhen. Eine Senderate von 5 min sollte aber vollkommen ausreichend sein.

Bei der Abfrage von historischen Daten müssen wir ein wenig aufpassen, da wir schnell die 500.000 Datenpunkte pro Tag verletzen können. Erstellen wir ein Linien-Diagramm mit z.B. 5 unterschiedlichen Messwerten, so können bei einer einfachen Monatsabfrage der Daten schnell  43.200 Datenpunkte zusammen kommen (12*5*24*30=43.200). Fragt man das Diagramm 12x hintereinander ab, so sind die 500.000 Datenpunkte für die Abfragen verbraucht und es können keine weiteren Abfragen mehr gemacht werden. Das Diagramm zeigt dann keine Daten an. Daher sollte man möglichst sparsam mit der Datenabfrage über große Zeiträume sein.

Der Ablauf der Konfiguration für die Datenintegration in Ubidots sieht folgendermaßen aus:

  • Anmeldung bei Ubidots
  • Plugin für Webhook bei Ubidots erstellen
  • Webhook bei TTN V3 einrichten
  • Prüfung der Webhook-Funktionalität

Die genaue Konfiguration dieser 4 Punkte kann hier im Detail eingesehen werden.

Messwertdarstellung und Alarmierung im Ubidot Dashboard

Mit dem Ubidot Dashboard können die Daten vom LoRa-Bootsmonitor angezeigt werden. Zur Erstellung neuer Anzeigen und Diagramme kann auf der rechten Seite der grüne Plus-Knopf gedrückt werden. Damit lassen sich eine Vielzahl von Anzeigeelementen nutzen. Bei der Parametrierung wird nach einer Datenquelle gefragt. Als Quelle wird das Device angezeigt und es können aufgelistete Werte der Datenquelle für das Anzeigeelement benutzt werden.

Wer mehr zur Benutzung des Dashboards erfahren möchte kann die Hilfe von Ubiodots benutzen.

Achtung: Generell ist zu beachten, dass nur 10 Anzeigeelemente in der Free-Version verwendet werden können. Bei Verletzung dieser Regel werden sonst keine Daten mehr angezeigt.

Eine selbst erstellte Dashboard-Seite könnte wie im folgenden Bild aussehen.

Abb.: Dashboard mit Daten vom LoRa-Bootsmonitor

Tipp: Erstellte Dashboards können auch per Link anderen Benutzern zur Verfügung gestellt werden. Die Dashboards können nur betrachtet und nicht verändert werden. Sie lassen sich auch in eigene Webseiten einbinden. Details siehe hier.

Für die Alarmierung bei Grenzwertüberschreitungen kann für alle Messwerte ein Triggersignal gesetzt werden, das eine Mail-Nachricht absetzt. Die Konfiguration der Alarmierung erfolgt unter Data -> Events. Wie die Konfiguration genau vorgenommen wird, kann der Hilfe zur Eventerstellung entnommen werden.

Achtung: In der Free-Version können nur E-Mail-Benachrichtigungen verschickt werden. Wer andere Alarmierungsmöglichkeiten benötigt, muss in die Pay-Version von Ubidots wechseln.

Datenanbindung an SignalK über NMEA0183

Der Bootsmonitor bietet die Möglichkeit die Messdaten auch über NMEA0183 auszugeben. Dazu werden 3 Telegramme erzeugt. Ein Telegramm ist die Kopie des RMC-Telegramms vom GPS-Sensor. Weitere Telegramme vom GPS-Sensor werden nicht übertragen. In zwei weiteren XDR-Telegrammen werden die Messdaten übertragen. Die XDR-Telegramme sind unterteilt in Messdaten vom Umweltsensor und in weitere Messdaten. Die NMEA0183 Telegramme werden 1x pro Sekunde übertragen. Die Daten des RMC-Telegramms werden aber nur alle 5s erneuert und eignen sich nicht sonderlich gut zur Navigation. Im Vordergrund steht die Ortsbestimmung des Bootes und nicht die Navigation mit diesem Signal.

Die NMEA0183-Daten können über TCP an Port 6666 vom LoRa-Bootsmonitor abgerufen werden. Es kann immer nur ein Gerät mit dem Port 6666 verbunden sein.

Praktische Tipps

Antennen-Position

Um eine optimale Sendereicheweite zu erzielen sollte die Antenne so hoch wie möglich angebracht sein. Dadurch wird verhindert, dass durch die umgebende Bebauung das Sendesignals abgeschattet wird.  Eine Antennen-Position ander Mastspitze oder auf der Saling wäre optimal.

Elektrischer Anschluss

Der LoRa-Bootsmonitor sollte über eine Sicherung mit dem 12v Bordnetz verbunden sein. Der LoRa könnte z.B. üben einen eigenen Schalten am Schaltpanel geführt werden. So kann er nach Bedarf zu- oder abgeschaltet werden.

Inbetriebnahme

Nehmen Sie den LoRa-Bootsmonitor zu erst in einer Umgebung in Betrieb wo ein sicher Empfang der Signale möglich ist. Zum Beispiel ist das in den meisten Städten der Fall. Vergewissern Sie sich auf TTNMapper, dass sich in Ihrer Nähe LoRa-Gateways befinden. Versuchen Sie zunächst einen Verbindungsaufbau mit Spreading-Faktor SF10. Damit werden die besten Ergebnisse erzielt und Sie sollten eine Verbindung mit einem Gateway bekommen. Richten Sie dann in Ubidots Ihr Dashboard so ein wie sie es benötigen und testen den Aufbau über einige Tage. Testen Sie auch die Meldungsweiterleitung über E-Mail. Bei guten Empfangsbedingungen können Sie versuchen, schrittweise den Spreading-Faktor zu verringern. Läuft der Bootsmonitor wie gewünscht, können Sie die Installation im Boot vornehmen. Je nach Einbaulage des Bootsmonitors kann das GPS-Modul ggf. in der Einbaulage geändert werden. Die metallische Fläche der GPS-Antenne sollte in Richtung Himmel zeigen. Bei schlechten GPS-Empfangsbedingungen kann eine externe GPS-Antenne verwendet werden.

Fragen und Antworten

Wie weit kann der LoRa-Bootsmonitor die Daten übertragen?

Diese Frage kann nicht pauschal beantwortet werden, da die Reichweite von einigen Faktoren abhängt. In bebauten Umgebungen erreicht man mit SF10 Gateways in einem Umkreis von 2…4 km. In freien Umgebungen wie auf Seen oder dem offenen Meer können es bis zu 60 km sein. Wie gut LoRa-Signale empfangen werden können, hängt auch von der Anzahl der Gateways in der Umgebung, der Entfernung und deren Antennenhöhe ab. Viele Gateways sind Indoor-Gateways mit geringer Reichweite von unter 1 km. Die wenigen leistungsstarken Gateways haben oft eine hohe Antennenposition von mehr als 15 m. Suchen sie in Ihrer Umgebung nach solchen Gateways und ermitteln sie die Entfernung  zu Ihrem Standort. Diese Daten finden Sie im TTNMapper. Sie haben gute Chancen auf einen Empfang ihrer Daten, wenn sich leistungsstarke Gateway um Umkreis von ca. 10 km befinden.

Wie oft können die Daten übertragen werden?

Die Messdaten des LoRa-Bootsmonitors können alle 5 min übertragen werden, wenn die Daten in Ubidots angezeigt werden sollen. Höhere Datenübertragungen erzeugen ein Datenaufkommen, das an die Grenzen des Free-Accounts von Ubidots stoßen und eine Darstellung der Daten verhindern. Wenn sie eigene Frontends verwenden wollen, können Sie die Senderate bis auf 30s erhöhen. Zeiten kleiner als 30s sind laut der LoRa-Spezifikation nicht erlaubt und lassen sich nicht einstellen.

Wie viele Daten kann ich übertragen?

Die Datenmenge die über das LoRaWAN Netzwerk übertragen werden kann ist sehr begrenzt. Je LoRa-Telegramm lassen sich maximal 200 Byte übertragen. Die LoRa-Technik ist ein Datenübertragungsmedium für wenige Daten die gering priorisiert sind.

Ist der LoRa-Bootsmonitor echtzeitfähig?

Aufgrund der beschränkten Datenmenge und der langen Sendeintervalle ist der LoRa-Bootsmonitor nicht echtzeitfähig. Die Daten können nur so schnell übertragen und verarbeitet werden wie es die Senderate zulässt. In der Standardanwendung sind das bis zu 5 min Antwortzeit. Typischer Weise werden 80% aller Telegramme innerhalb des Sendeintervalls übertragen. Ein Feuermelder ist damit nicht realisierbar.

Was passiert wenn LoRa-Datenpakete verloren gehen?

Verlorene Datenpakete sind dauerhaft verloren und werden nicht erneut gesendet. Die LoRa-Datenübertragung ist nicht abgesichert gegen Datenverlust. Sie müssen damit rechnen, dass ca. 20…30% der Telegramme verloren gehen.

Sind meine Daten vor fremden Zugriff geschützt?

Die per Funk ausgesendeten LoRa-Daten sind durchgehend vom Sensor über das Backend bis zum Frontend verschlüsselt. Per Funk empfangene Daten sind für fremde Personen wertlos, da sie nicht entschlüsselt werden können.

Wie kann ich meine Datenübertragung verbessern?

Zur Verbesserung der Datenübertragung können Sie den Spreading-Faktor (SF) erhöhen und die Daten öfter senden. Die besten Ergebnisse erzielen Sie mit einer guten Antenne in hoher Position. Antennen-Positionen am Ende das Mastes oder in der Saling sind optimal.

Welche Umstände erschweren die Datenübertragung?

Befindet sich der LoRa-Bootsmonitor in einem Metallboot, dann muss die LoRa-Antenne außerhalb des Bootes angebracht werden. Unter Umständen kann es passieren, dass die LoRa-Datenpakete gestört werden, wenn im Frequenzbereich um 868 MHz noch andere Geräte senden, denn dieser Frequenzbereich ist lizenzfrei und kann auch von anderen Diensten genutzt werden. Durch das Frequenz-Spreading-Verfahren ist die LoRa-Funktechnik eigentlich sehr robust gegenüber Störungen. Störungen des Frequenzbandes machen sich durch erhöhte Paketverluste bemerkbar. Bei Verwendung ungeeigneter Antennen kann es auch zu reduzierten Sendereichweiten kommen. Insbesondere die einfach hergestellten und mitgelieferten LoRa-Antennen für das LoRa-Heltec-Board sind ungeeignet zum dauerhaften Betrieb. Sie sollten gegen passige Antennen ausgetauscht werden. Teilweise waren auch falsch bestückte LoRa-Heltec-Board im Handel, wo der HF-Schaltungsteil auf 433 MHz anstatt auf 868MHz ausgelegt war. Diese LoRa-Heltec-Board leiden extrem unter fehlender Sendereichweite.

Gibt es Alternativen zum kostenlosen LoRaWAN Community Netzwerk?

Neben dem kostenlosen LoRaWAN Community Netzwerk gibt es auch kommerzielle LoRaWAN Netzwerke, die von größeren Mobilfunkfirmen betrieben werden. Für die Datenübertragung fallen dann aber Kosten an, die je nach Anbieter unterschiedlich ausfallen können. Prinzipiell ist der LoRa-Bootsmonitor auch in kommerziellen LoRaWAN Netzwerken nutzbar, sofern der Dienstleister ABP als Registrierungsverfahren unterstützt. Erfahrungen liegen aber noch nicht vor.

In meinem Hafen gibt es kein LoRa-Gateway, was kann ich tun?

Sollten Sie in ihren Hafen kein LoRa-Gateway haben und können kein öffentliches LoRa-Gateway erreichen, besteht die Möglichkeit selbst ein öffentliches Gateway zu betreiben. Fragen Sie ihren Marina-Betreiber, ob Sie ein öffentliches LoRa-Gateway im Hafen betreiben dürfen. Sie benötigen zum Betrieb einen Stromanschluss und einen Internetzugang. So können auch andere Segler und der Hafenbetreiber davon profitieren. Wenn Sie möchten, können Sie sich ein LoRa-Gateway auch selber bauen, indem sie eine reduzierte Hardwarevariante des LoRa-Bootsmonitors benutzen und mit einer LoRa-Gateway-Software betreiben. Kontaktieren Sie uns, wenn Sie Hilfe benötigen.

Welche Kosten entstehen mir bei der Nutzung des LoRa-Bootsmonitors?

Die Nutzung des LoRaWAN Community Netzwerks ist kostenlos. Lediglich 1,2W Leistung verbraucht der Bootsmonitor. Bei einer 12V/100Ah Bord-Batterie kann der LoRa-Bootsmonitor bis zu 500h betrieben werden, bis die Batterie auf 50% entladen ist. Das entspricht ungefähr 22 Tagen durchgehende Nutzungszeit. Daher ist es ratsam, den LoRa-Bootsmonitor mit Landstrom zu betreiben. Allein für den Strom-Landanschluss fallen Kosten an, die aber sehr gering sind.  Über eine 6-monatige Winterpause sind das ca. 6,5 kWh. In Zukunft soll es einen Sleep-Mode geben, mit dem der Bootsmonitor eine Wintersaison lang durchgehend betrieben werden kann. Dazu wird es eine neue Firmware geben.

Was kostet ein LoRa-Bootsmonitor?

Die reinen Materialkosten eines LoRa-Bootsmonitors liegen bei ca. 50…60 Euro.

Woher kann ich Platinen beziehen?

Unbestückte Platinen können über die Fa. Aisler bezogen werden. Dort sind bereits die Fertigungsdaten hinterlegt und eine Platinen-Bestellung ist denkbar einfach.

Wo finde ich die Firmware und weitergehende Unterlagen?

Die Firmware ist bei GitLab zu finden unter: https://gitlab.com/norbertwalter67/lora-boat-monitor

Gibt es auch ein App für den LoRa Bootsmonitor?

Es ist auch eine Android-App für den Bootsmonitor in Form einer apk-Datei verfügbar. Über den Play Store kann die App nicht bezogen werden.

Für wen lohnt sich der LoRa-Bootsmonitor?

Der LoRa Bootsmonitor lohnt sich für all diejenigen, die ihr Boot bei Abwesenheit überwachen wollen und keine laufenden Kosten für die Datenübertragung haben möchten.

Wofür kann der LoRa-Bootsmonitor nicht benutzt werden?

Der LoRa-Bootsmonitor eignet sich nicht für Echtzeitanwendungen wo es auf kurze Reaktionszeiten ankommt. Zudem sind hohe Datenraten ebenfalls nicht möglich. Anwendungen wie Video- und Audioüberwachung des Bootes sind nicht möglich. Als Brandmeldeanlage kann der Bootsmonitor auch nicht verwendet werden.

Erfahrungsberichte

Im Winter 2019/2020 konnten schon einige Erfahrungen mit dem Prototyp der LoRa-Bootsmonitors gemacht werden. Dabei kam der Bootsmonitor auf drei Booten im IJsselmer in den Niederlanden zum Einsatz. Einmal in Voolendam und zweimal in Enkhiuzen. Beim Prototyp gab es keine Einstellmöglichkeit des Spreading-Faktors für die LoRa-Telegrammaussendung. Es wurde als feste Einstellung SF7 für die Aussendung verwendet. In der Praxis hat sich gezeigt, dass die Abdeckung mit LoRa-Gateways in der näheren Umgebung der Boote nicht ausreichend war, obwohl eine große Anzahl von Gateways innerhalb eines Radius von 2 km verfügbar waren. Die öffentlichen LoRa-Gateways die von Privatleuten innerhalb der LoRa-Community betrieben werden, sind überwiegend Indoor-Gateways mit geringer Empfangsreichweite. Diese Gateways konnten die LoRa-Telegramme des Bootsmonitors nicht empfangen. Der LoRa-Bootsmonitor war dabei im Salon des Bootes installiert und die Antenne befand sich knapp 1 m über dem Wasserspiegel. Die Funk-Ausbreitungsbedingungen sind unter diesen Bedingungen nicht sonderlich gut, da angrenzende Gebäude der Umgebung die öffentlichen Gateways abdecken und einen Empfang unmöglich machen. Idealer Weise hätte man die LoRa-Antenne am Ende des Mastes anbringen sollen. Da der Winter zum Installationszeitpunkt kurz bevor stand, wurde darauf verzichtet. Der nötige Aufwand wäre nicht unerheblich gewesen. Vorübergehend haben wir uns damit beholfen zwei LoRa-Ein-Kanal-Gateway in den Häfen zu installieren. Dafür benutzten wir eine abgespeckte Hardware der LoRa-Bootsmonitors mit einer selbst erstellten Gateway-Firmware. Im Ergebnis war dann ein sicherer Empfang der LoRa-Telegramme möglich. Die Datenaufzeichnung in Ubidots lief über den Winter störungsfrei bis zum Frühjahr. Im Frühjahr stoppte jedoch die Datenübertragung zu Ubidots, da der Telegrammzähler übergelaufen war. Im TTN Netzwerk wurde ein 32 Bit Zähler verwendet, der im Bootsmonitor nur 16 Bit groß war. Beim Überlauf des Telegrammzählers nach 65.535 Telegrammen stoppte der Datenempfang im TTN Netzwerk, da der Telegrammzähler nicht aufsteigend weiter lief. Das ist eine Schutzfunktion vom TTN-Netzwerk, um Spoofing zu unterdrücken. Nach einer Korrektur der Konfiguration lief der Bootsmonitor wieder fehlerfrei weiter.

Zwischenzeitlich wurden einige Untersuchungen zur Abdeckung des LoRaWAN Community Netzwerkes in der Region des IJsselmeers mit dem TTNMapper vorgenommen. Wie die Auswertungen zeigen, ist der südliche Teil des IJsselmeer schon recht gut durch LoRaWAN abgedeckt. Der nördliche Teil dagegen ist unterversorgt.

Abb.: LoRaWAN-Abdeckung in 2021

In einer Simulation zur Funkbereichsabdeckung wurde versucht zwei optimale Standorte zu ermitteln, an denen man professionelle Gateways an vorhandenen Funktürmen installieren könnte. Die Abdeckung wäre mit diesen beiden Standorten ideal gewesen. Leider scheiterte die reale Umsetzung an der Mitwirkung der Funkturm-Betreiber, denn mit Sigfox werden kommerzielle Lösungen über die Funktürme angeboten, die eine direkte Konkurrenz darstellen.

Abb.: Simulation der Funkabdeckung von neuen Gateways

Im darauf folgenden Winter 2020/2021 wurde eine neue Firmware für den Bootsmonitor verwendet, mit der auch andere Spreading-Faktoren verwendet werden können. Zudem können auch dynamisch veränderliche Spreading-Faktoren benutzt werden, um die Telegrammübertragung sicherer zu machen. Mit SF10 und dynamischen Spreading-Faktoren bis SF12 wurden dann auch Reichweiten bis zu 45 km erzielt, obwohl die Antenne des LoRa-Bootsmonitors nur im Bootsinneren angebracht war. Ab diesem Zeitpunkt war es dann auch möglich ohne lokale Ein-Kanal-Gateways zu arbeiten. Im Betrieb stellte sich jedoch heraus, dass die Stabilität der Firmware nicht ausreichend gut war. Die Firmware enthielt noch eine Reihe von Fehlern, die beseitigt werden mussten.

Abb.: LoRa-Verbindungen des Bootsmonitors mit SF10…SF12

Ein Teil der Fehler wurden durch die Umstellung von TTN V2 auf TTN V3 verursacht. Sowohl die LoRa-Bootsmonitoren als auch alle Gateways mussten bis Ende 2021 auf TTN V3 umgestellt werden, da das alte Netz in 2022 abgeschaltet wurde. Die Umstellung der Firmware hatte einige Fehler hervorgerufen durch Funktionalitätsänderungen bei TTN V3. Insbesondere die adaptive Reichweiten-Regelung machte uns besondere Schwierigkeiten, da sie ständig Downlink-Telegramme zum Bootsmonitor sendete, die fehlinterpretiert wurden und die LoRa-Einstellungen veränderte. Die ganze Umstellung auf TTN V3 erzeugte einen riesigen Aufwand und verursachte weitere Baustellen bei Ubidots, da sich dort auch die Anbindung geändert hatte. Insgesamt verlief die Umstellung nicht reibungslos. Ich möchte gar nicht wissen wie das Unternehmen mit vielen tausend Geräten gemacht haben.

Live-Test an einem Sommer-Wochenende zeigten, dass mit dem Bootsmonitor eine hervorragende Überwachung von Charter-Booten möglich ist.

Abb.: Datenauswertung eines Wochenendes

Mit dem LoRa-Bootsmonitor am Bodensee in der Nähe von Konstanz konnten die größten Reichweiten erzielt werden. Sie lagen bei ca. 60 km.

Abb.: Max. Reichweite von 60 km am Bodensee

Ende 2022 zur neuen Wintersaison wurde die Firmware noch einmal komplett überarbeitet und die vorhandenen Fehler beseitigt. Mit der neuen Firmware V1.03 ist jetzt wieder ein stabiler Zustand erreicht. Neben einem funktionierenden Webinterface können die Messwerte jetzt auch als NMEA0183 Daten versendet werden. Sie lassen sich somit in SignalK integrieren.

In der kommenden Saison 2023 stehen weitere Praxistest an. Zusätzlich arbeitet Guntmar an einem neuen Frontend zur Anzeige der LoRa-Daten ohne limitierende Einschränkungen wie bei Ubidots. Der Maritime Data Server unterstützt dabei auch andere LoRa-Devices und Mikrocontroller-Boards.

Abb.: Neues Frontend

Bilder

 

LoRa 32 Heltec Funk-Modul als Basis

LoRa Gateway

 

Ubidots Webfrontend mit Messwerten und Geodaten

Leiterplatte zum Bootsmonitor

Bestückte Paltinen (links LoRa-Bootsmonitor, rechtes LoRa-Gateway)

LoRa-Bootsmonitor

Lora-Gateway