Vorab ein paar wichtige Hinweise die sie unbedingt beachten sollten.
https://www.segeln-forum.de/thread/74840-lora-monitoring-und-alarmserver/
https://github.com/norbert-walter/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
- Victron Geräte mit VE.Direct (empfangen und senden) wie Batteriemonitor oder Solarlader
- 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 oder Grafana
- Ausgabe der Sensordaten als NMEA0183 Telegramme (auch Daten von VE.direct)
- Alarmierung per E-Mail bei Grenzwertüberschreitung über Ubidots oder Grafana
- Automatische Datenspeicherung für die letzten 31 Tage bei Ubidots und für 1 Jahr on der OBP-Datenbank
- Verwendung von günstigen Embedded Modulen
- Keine SMD Bauelemente auf der Platine
- Platine hier bestellbar: https://aisler.net/p/GEIYWWXZ
- Android-App: LoRa_Boatmonitor_1.apk
Inhaltsverzeichnis
- 1 Sensoren und Anschlussmöglichkeiten
- 2 Bestückung der Platine
- 3 Flashen der Firmware
- 4 Anzeige von Messwerten im Webfrontend
- 5 Anzeige von Messwerten im OLED Display
- 6 Registrierung im LoRa Netzwerk TTN V3
- 7 LoRa-Zugangsdaten und Betriebsarten des Bootsmonitors
- 8 Datenvisualisierung im Internet
- 9 Ausgabe von NMEA0183 Sensor-Daten über WiFi
- 10 Praktische Tipps
- 11 Fragen und Antworten
- 12 Erfahrungsberichte
- 13 Bilder
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 (emfpangen, senden)
- 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 oder 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
Die VE.Direkt Schnittstelle von Victron wird ab der Firmwareversion V1.04 unterstützt und kann Batteriemonitore, Solarlader und Inverter auslesen. Um die VE.Direct Schnittstelle nutzen zu können, werden die Pins des Umweltsensors BME280 verwendet. Der BME280 kann dann nicht gleichzeitig benutzt werden und muss entfernt werden. An dessen Stelle wird ein Steckverbinder für VE.Direct angeschlossen.
Pin BME280 | Signal VE.Direct |
Pin VE.Direct |
Aderfarbe VE.Direct |
VIN | 3.3V | 4 |
gelb |
GND | GND | 1 |
schwarz |
SCL | TX | 3 |
weiß |
SDA | RX | 2 |
rot |
Tab.: Anschlussbelegung
Abb.: VE.Direct Geräteanschluss (JST 2mm, 4-polig, Draufsicht)
Achtung! Es sind nur 3.3V TTL-Signale am LoRa-Bootsmonitor erlaubt. Einige Geräte von Victron arbeiten auch mit 5V TTL-Signalen. Diese Geräte können nur mit einem vorgeschalteten Spannungsteiler verwendet werden. Zur Datenübertragung zwischen dem VE.Direct Gerät und dem LoRa-Bootsmonitor müssen die Leitungen TX und RX mit der Gegenseite verbunden sein, um eine Übertragung zu ermöglichen. Käufliche Kabel von Victron sind entsprechend vorbereitet und können verwendet werden.
Verwendbare Victron-Geräte mit VE.Direkt Schnittstelle:
Geräte-Typ | Modell | Signalpegel | Bemerkung |
Batteriemonitor | BMV-700, BMV-700H, BMV-702, BMV-710H, BMV-712 smart* | 3.3V TTL | |
230V Inverter | Phönix Inverter 250, 375, 500VA | 5.0V TTL | Spannungsteiler notwendig |
Solar-Ladegeräte | Blue Solar MPPT 75/10…150/100 | 5.0V TTL | Spannungsteiler notwendig |
Tab.: Verwendbare VE.Direkt Geräte
* getestetes Gerät
VE.Direct kann sowohl von Victron-Geräten gelesen als auch vom LoRa-Bootsmonitor gesenset werden. Der LoRa-Bootsmonitor gibt sich dabei als BMV-712 smart aus und kann folgende Informationen ausgeben:
- Batterie-Spannung
- Batterie-Temperatur
- Alarm-Zustand
- Relay-Zustand
Alle nicht genutzten Werte vom BMV-712 smart werden mit Null-Werten ausgegeben. Unter Device Settings in der Web-Konfiguration kann unter Env Sensor die VE.Direct Betriebsart ausgewählt werden.
Sofern ein Gerät mit VE.Direct Schnittstelle ausgelesen werden kann, lassen sich einige Messwerte auch über NMEA0183 als XDR-Telegramm via WiFi übertragen und z.B. in SignalK auswerten und anzeigen.
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. Ein Teil der Geräte-Werte 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. Dazu kann 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
Bestückung der Platine
Eine Platine zum LoRa-Bootsmonitor kann bei Aisler bestellt werden. Dazu sind alle notwendigen Fertigungsdaten hintrelegt und eine Bestellung ist denkbar einfach. Die Bestückung der Platine erfolgt zweiseitig mit durchsteckbaren Bauelementen. Sofern Sie etwas Löterfahrung haben, sollte die Bestückung keine Probleme bereiten. Fangen Sie zu erst am besten mit der Rückseite der Platine an. Dort befinden sich alle flachen Bauelemente. Danach bestücken Sie die Frontseite mit allen großen Bauelementen und Modulen. Für das Heltec LoRa ESP32 Modul (Q1) verwenden Sie Buchesenleisten und löten das Modul nicht direkt ein. Die Erst-Programmierung über die USB-Buchse bereitet manchmal Probleme und man muss das Modul aus den Buchsenleisten herausnehmen, um es erfolgreich programmieren zu können. Spätere Software-Updates können unkompliziert im Webinterface vorgenommen werden. Das Modul muss dazu nicht ausgebaut werden.
Abb.: Platine
Je nachdem wie Sie das Gehäuse des LoRa-Bootsmonitors einbauen möchten, kann das GPS-Modul unterschiedlich eingebaut werden, entweder horizontal oder vertikal. Die Einbaulage sollte so erfolgen, dass die metallische Fläche der GPS-Antenne horizontal zum Himmel zeigt. So erhält man eine optimale Empfangfsleistung. Die Module für den GPS-Sensor und den BMP280 enthalten Befestigungslöcher. Verwenden Sie Abstandsbolzen aus Kunststoff zur Befestigung der Module und löten Sie die Module danach ein. So vermeiden Sie unzulässige Krafteinwirkungen an den Löt-Pins.
Zur Platinenbestückung können Sie die interaktive Bauteil und Bestückungsliste verwenden. Dort finden Sie eine Bauteilliste mit den entsprechenden Bauteilgrößen und deren Position auf der Platine. Den Schaltplan zum LoRa-Bootsmonitor ist auf GitHub hinterlegt.
Abb.: Interaktive Bauteil und Bestückungshilfe
Achten Sie beim Löten auf saubere Lötstellen und entfernen Sie Lötrückstände von der Platine, bevor Sie die Platine im Gehäuse einbauen.
Bevor Sie das Heltec LoRa ESP32 Modul in die Buchsenleiste einsetzen, müssen Sie die Ausgangsspannung des DC/DC-Wandlers (Out+, Out-) mit der kleinen Stellschraube am blauen Potentiometer auf 5,7V einstellen. Im Auslieferungszustand befindet sich das Potentiometer in einer beliebigen Position und kann eine zu hohe Spannung ausgeben und das Heltec Modul zerstören.
Flashen der Firmware
Im Auslieferungszustand des Heltec LoRa ESP32 Moduls befindet sich eine Test-Firmware auf dem Modul, die durch die Firmware des LoRa Bootsmonitor ersetzt werden muss. Zum Flashen der Firmware nehmen Sie das Modul aus der Buchsenleiste und verbinden es mit einem USB-Kabel mit dem PC oder Laptop und gehen mit einem Chrome- oder Edge-Webbrowser auf folgende Webseite und benutzen das Web Flash Tool. Nach der Auswahl der verwendeten seriellen USB-Schnittselle wird das Heltec Modul gelöscht und anschließend die Firmware übertragen. Wenn das Web Flash Tool unter Windows benutzt wird, müssen die entsprechenden Treiber für den Seriell/USB-Wandler installiert sein. Die Links zu den Treibern finden Sie im Web Flash Tool. Unter Linux sind alle Treiber bereits vorhanden.
Abb.: Web Flash Tool
Nach dem Flashvorgang besteht die Möglichkeit in die serielle Konsole zu wechseln. Dort werden eine Reihe von Debug-Informationen ausgegeben und es kann die Funktionsweise überprüft werden.
Abb.: Serielle Konsole
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 mit 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öher 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.
Datenvisualisierung im Internet
Die Daten können auf verschiedene Weise über das Internet online visualisiert werden. Dazu stehen 3 Frontend-Systeme mit unterschiedlicher Funktionalität zur Verfügung:
-
Grafana Service von Open Boat Projects
-
- Registrierung: nicht erforderlich
- Unlimitierte Übertragung von Werten
- Unlimitierter Abruf von Werten
- Anzeigen: Werte, Diagramme, Ortsposition in Karte
- Eigene Dashbord-Gestaltung: Ja, nach Mail-Registrierung
- Datenspeicherung 1 Jahr
- Alarmmeldungen über Mail, Slack und OnCall
- Kostenloser Dienst
- Demo-Testseite (Login: gast/loragast)
-
Maritime Data Server von Guntmar Höche
-
- Registrierung: erforderlich
- Unlimitierte Übertragung von Werten
- Unlimitierter Abruf von Werten
- Anzeigen: Werte, Diagramme, Ortsposition in Karte
- Eigene Dashbord-Gestaltung: Ja
- Datenspeicherung unbegrenzt
- Alarmmeldungen über Mail und Telegram
- Kostenloser Dienst
- Demo-Testseite (Login: test@test.de/test)
-
Ubidots Stem (Free Version) von Ubidots
-
- Registrierung: erforderlich
- Bis zu 10 Geräte. Die ersten 3 Geräte kostenlos, dann $ 4,5 / Gerät / Monat
- Bis zu 10 Variablen pro Gerät
- Bis zu 1 Plugin mit 10.000 Plugin-Ausführungen pro Monat
- Einspeisung von 4.000 Daten-Punkten pro Tag auf allen Ihren Geräten
- Abruf von 500.000 Daten-Punkte pro Tag in Ihrem gesamten Konto
- Datenrate mit einer Anforderung pro Sekunde auf allen Ihren Geräten
- Anzeigen: Werte, Diagramme, Ortsposition in Karte
- Eigene Dashbord-Gestaltung: Ja
- Datenspeicherung 1 Monat
- Bis zu 3 Dashboards mit jeweils bis zu 10 Widgets
- Alarmmeldungen über Mail
- Kostenloser Dienst
- Pay-Modelle mit mehr Funktionalität buchbar
Um die Daten anzeigen zu können, müssen entsprechende Konfigurationen sowohl im LoRa TTN-Netzwerk zur Datenweiterleitung vorgenommen werden sowie weitere Konfigurationen in den jeweiligen Frontends. Folgen Sie dazu den jeweiligen Links in den Überschriften.
Ausgabe von NMEA0183 Sensor-Daten über WiFi
Die Sensordaten des LoRa-Bootsmonitors lassen sich auch als NMEA0183-Sentences über WiFi übertragen. 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 verbunden sein. Je nachdem ob von der VE.Direct Schnittstelle Daten gelesen werden oder nicht, werden diese ebenfalls gesendet. Nachfolgend sind die unterschiedlichen XDR-Telegramme aufgelistet.
VE.Direct Empfang aktiv:
$IIXDR,V,14.04,V,BVolt,C,-0.10,C,BTemp,I,0.00,A,BCur,P,0.00,W,BPow,P,408.00,P,BCap*5f
$IIXDR,L,0.00,P,Water,L,0.00,P,Fuel,I,0,B,Alarm,O,0,B,Relay*37
$GPRMC,175017.00,A,5111.64541,N,00647.81891,E,0.468,,050323,,,A*72
VE.Direct Empfang inaktiv:
$IIXDR,V,12.14,V,BVolt,C,19.37,C,BTempP,74.45,P,BCap,*75
$IIXDR,L,0.00,P,Water,L,0.00,P,Fuel,I,0,B,Alarm,O,0,B,Relay*37
$GPRMC,173714.00,A,5111.64607,N,00647.81899,E,0.724,,050323,,,A*72
Praktische Tipps
Antennen-Position
Um eine optimale Sendereichweite 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 an der 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 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 mit der Bordbatterie 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 Github zu finden unter: https://github.com/norbert-walter/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.
Warum lässt sich das Heltec LoRa Modul nicht flashen?
Das Flashen des Heltec LoRa Moduls innerhalb der Schaltung bereitet öfters Probleme, da das Modul nicht korrekt in den Flash-Modus geschaltet werden kann. Nehmen sie das Modul aus der Schaltung heraus, um es zu flashen.
In seltenen Fällen kann es vorkommen, dass auf dem Heltec LoRa Modul bereits ein fehlerhaftes Programm läuft, das ständig wiederkehrend einen Reboot erzeugt und dadurch ein flashen mit dem Web Flash Tool verhindert. Das können sie an den Logging-Ausgaben über die serielle USB-Schnittstelle mit einem Terminal-Programm erkennen. Es ist dann notwendig das Heltec LoRa Modul manuell mit den ESPTOOL zu löschen. Benutzen sie dann folgenden Befehl zum Löschen: python ./esptool.py –chip esp32 –port /dev/ttyUSB0 erase_flash So setzen sie das Modul in den Ausgangszustand zurück.
Im Web Flash Tool lässt sich eine ausgewählte serielle Schnittstelle nicht nutzen. Es kommt immer zu einer Fehlermeldung.
Wenn das Web Flash Tool unter Linux benutzt wird, werden eine Reihe von seriellen Standard-Schnittstellen angezeigt wie ttySxx. Es handelt sich bei diesen Schnittstellen nicht um eine Seriell/USB-Schnittstelle. Suchen Sie nach Einträgen wie ttyUSBx und benutzen Sie diese. Unter Windows oder Linux kann es vorkommen, dass Sie die serielle Schnittstelle bereits durch ein anderes Programm benutzen und dadurch belegt ist. Schließen Sie das Programm, ziehen das USB-Kabel ab und stecken es wieder ein. Danach sollte die Schnittstelle wieder nutzbar sein.
Wie muss das GPS-Modul eingebaut werden?
Die Einbaulage das GPS-Moduls ist von der Einbaulage des Gehäuses abhängig. Sie sollten sich vorher überlegen wie das Gehäuse später im Boot eingebaut ist. Das GPS-Modul sollte so eingebaut werden, dass die metallische Fläche der Antenne horizontal zum Himmel ausgerichtet ist. So ist eine optimale Empfangsleistung gegeben.
Ich möchte den Code zur Firmware selber ändern. Gibt es dafür eine einfache Möglichkeit?
Wenn Sie die Firmware selber ändern möchten, erstellen sie einen Fork unter ihrem GitHub Account und rufen dann im Webbrowser die Online Programmierumgebung Gitpod auf. Bevor Sie das machen können, müssen sie sich das Gitpod Plugin für ihren Webbrowser installieren. Nach erfolgreicher Installation erscheint dann in ihrem GitHub-Projekt ein grüner Gitpod-Knopf. Sie gelangen darüber in eine webbasierte PalttformIO-Umgebung in der Sie den Code ändern können. Den Kompilier-Vorgang können Sie mit bash run im Terminal-Fenster starten. Als Ergebnis können Sie das Firmware-Binary unter .pio/build/heltec_wifi_lora_32_V2/firmware.bin mit einem Rechtsklick herunterladen und über das Webinterface des LoRa-Bootsmonitors aktualisieren.
Der Bootsmonitor sendet keine LoRa-Daten
Nach einer Veränderung des TX Intervals über die Web-Konfiguration muss der LoRa-Bootsmonitor über die Taste RST am Heltec LoRa Modul resettet werden. Alternativ kann auch die Versorgungsspannung kurz ausgeschaltet werden. Wird das vergessen, so werden keine LoRa-Daten ausgesendet.
Warum werden die LoRa-Telegramme mit SF11 und SF12 nicht alle 30s ausgesendet?
Datenaussendungen mit Spreading-Faktor SF11 und SF 12 benötigen wesentlich mehr Zeit als Aussendungen, die kleiner als SF11 sind. Für die Betriebsart EU868 sehen die LoRaWAN Regional Parameters 1.0.2 Rev B eingeschränkte Übertragungen im Arbeitszyklus vor, um die Vorschriften des European Telecommunications Standards Institute (ETSI) einzuhalten. Die Absicht die dahinter ist die, dass Geräte möglichst nur 1% der zur Verfügung stehenden Sendezeit im Frequenzband benutzen dürfen, damit andere Geräte dieses Frequenzband ebenfalls sinnvoll benutzen können. Deshalb haben die Telegrammaussendungen für SF11 und SF 12 größere Pausen als bei kleineren Spreeding-Faktoren. Wer Genaueres wissen möchte, kann sich den Air Time Calculator für LoRaWAN ansehen.
Ich kann die Hilfeseite des LoRa Bootsmonitors nicht aufrufen. Woran liegt das?
Die Hilfeseiten des LoRa Bootsmonitors sind aufgrund ihrer Größe nicht im Speicher des Mikrocontrollers abgelegt. Die Seiten befinden sich im Internet bei Github. Um die Hilfeseiten anzeigen zu können, muss sich der LoRa Bootsmonitor als Client in einem WiFi-Netzwerk mit Internetzugang befinden. Alternativ können Sie die Hilfeseiten auch direkt mit einem Handy unter folgendem Link aufrufen: https://norbert-walter.github.io/LoRa-Boat-Monitor/public/
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
Abb.: LoRa 32 Heltec Funk-Modul als Basis
Abb.: Bestückte Paltinen (links LoRa-Bootsmonitor, rechtes LoRa-Gateway)
Abb.: LoRa-Bootsmonitor
Abb.: Lora-Gateway