LoRaWAN mit eigenem Gateway einrichten

Bisher habe ich Sensoren im Außenbereich immer per WLAN angebunden. Dies betraf insbesondere die Tasmota basierten Systeme, die von mir i.d.R. mit einem D1 Mini ausgestattet wurden. Der große Nachteil dieser Übertragungstechnik ist, dass ich zum einen überall Repeater aufstellen muss. Zum anderen ist der Strombedarf zur Verbindungsherstellung und Übertragung von Daten mittels WLAN relativ hoch, so dass akkubetrienbene Systeme schnell leer werden.

Wer darüber hinaus einen Schrebergarten oder andere auf dem Grundstück entfernte Gartenhäuser, Wohnmobile o.ä. überwachen möchte, kommt mit WLAN nicht weiter. Nach einiger Recherche habe ich als Alternative die LoRaWAN Technik entdeckt und schildere gerne anhand von Beispielen, wie man diese einfach nutzen kann.

Ein paar Details zu LoRaWAN

LoRaWAN bedeutet Long Range Wide Area Network. Es ist ein Netzwerkprotokoll und basiert auf der Spezifikation der physikalische LoRa-Schicht, die durch eine sternförmige WAN-Topologie aufgespannt wird. Dabei spielt das Thema Low Power WAN (LPWAN) eine große Rolle, da das ganze Netwerk für die Nutzung von batteriebetriebenen IOT-Devices  und Vermittlung vom kleinen Datenpaketen auch über größere Entfernungen entworfen wurde.  Dazu wird in verschiedenen Frequenzbändern auf der Welt gesendet, in Europa ist dies in der Regeln der Bereich zwischen 863Mhz und 870 Mhz.

Die LoRa-Technik wurde von der Firma Semtech erfunden. Die Firma baut i.d.R. die Chips für das Funkprotokoll. In 2015 wurde die LoRa-Allianz gegründet, zu der das Who is Who der Techbranche zählt (z.B. IBM, Cisco, Mikrochip, etc.). Da diese Technik im industriellen und kommerziellen Umfeld schon seit Jahren genutzt wird, ist das Angebot an IOT-Devices sehr groß. Wer damit anfängt wird plötzlich an allen möglichen Gewässern oder in Industrieanlagen diese autonomen Sensoren (Devices) entdecken.

The Things Network (TTN) bildet das globale Netzwerk (weltweit), welches die Software für das Netzwerk zur Verfügung stellt und die Kommunikation der Gateways und Devices sicherstellet. Damit ist es theoretisch möglich, einen Sensor, der sich in Südamerika befindet hier zu überwachen und Aktionen zu initiieren.

Mittlerweile basiert die Netzsoftware auf der Community Edition von The Things Stack (TTS) und nutzt die sogenannten V3-Server.  The Things Stack stellt die zentralen Server und die Serversoftware für die LoRaWAN Nutzung heute zur Verfügung. Dazu gehören neben der Community Edition weitere Editions z.B. für die Cloud und für Firmen, inbesondere wenn man eine große Zahl von Devices nutzen möchte. The Things Stack wird von dern Firma The Things Industries betrieben und weiterentwickelt und richtet sich mit seinen Angeboten eher an einen kommerziellen Nutzerkreis. Die Firma sitzt in Amsteradm in den Niederlanden.

Früher gab es The Things Stack noch nicht und daher stellte TTN auch die Server bereit (V2-Server).  Mit Übernahme der Server durch TTS werden seit einiger Zeit die alten Server des TTN sukzessive auf die neuen Server migriert.

Weitegehende Infos findet man z.B. unter

https://www.thethingsnetwork.org/docs/

https://www.mokolora.com/de/full-understanding-of-lora-and-lorawan/

Verfügbare Gateways prüfen

Um mit LoRaWAN zu starten, empfehle ich zuerst zu prüfen, ob ein Gateway in der Nähe verfügbar ist, mit dem sich ein Sensor (Device) verbinden kann. Dies macht man am einfachsten über den TTN-Mapper. Dies ist eine Webseite, die anzeigt, wo Gateways verfügbar sind. Hierzu ruft man einfach die Seite des TTN-Mappers https://ttnmapper.org/heatmap/ auf.  Hier kann man nun auf den geografischen Bereich in seiner Gegend zoomen und sieht, welche Gateways dort vorhanden sind (Gateway-Symbole). Ich empfehle die Auswahl der TTS-Geräte beizubehalten, da diese dem aktuellen Standard entsprechen.

Die bunten Kreise geben die Devices und deren Empfangstärke an, die mit einem Gateway verbunden sind oder verbunden waren. Je geringer der dbm-Wert ist, umso besser ist die Verbindung zwischen Device und Gateway (blaue Kreise), je schlechter die Signalstärke ist, umso roter werden die Kreise.

Nun kann man sich ein Gateway aussuchen, darauf klicken und die Heatmap nur für dieses Gateway aufrufen. Anhand der nun angezeigten farbigen Kreise kann man abschäzen, ob eine (gute) Verbindung zu einem bestehenden Gateway bestehen könnte.

Mikrotik wAP LR8 Gateway installieren

Da ich in erreichbarer Nähe (ca. 10 km) keine gut erreichbaren Gateways vorfand, habe ich mich entschlossen, ein eigenes Gateway zu beschaffen und einzurichten. Darüber hinaus kann ich mit einem eigenen Gateway viel besser diagnostizieren, wie die Kommunikation zwischen Device (Sensor) und Gateway verläuft, wenn es mal Probleme geben würde.

Nach einiger Recherche habe ich mich für das wAP LR8 kit der Firma Mikrotik entschieden. Die Kosten liegen aktuell zwischen 180 Euro und 220 Euro, das Gerät war innerhalb von 2 Tagen bei der Firma Reichelt verfügbar. Folgende Kriterien haben mich überzeugt

  • PoE-Anschluss
  • Erweiterbar auf externe Antenne
  • Vorkonfiguriert für die TTN/TTS Nutzung
  • IP54 Schutz, d.h. auch für draußen geeignet
  • 8-Kanal Gateway (und damit deutlich zuverlässiger bei OTAA-Authentifizierung als Dual oder Single Channel Gateways)

Beim Kauf ist darauf zu achten, dass es für den Frequenzbereich in Europa von 863-870 MHz geeignet ist, da das Gerät für vielen Regionen verfügbar ist.

Interne Antenne anschließen

Wer eine externe Antenne mitbestellt hat, kann diese direkt anschließen. Wer die interne Antenne nutzen möchte muss diese erst durch eine kleine Hardwaremodifkation aktivieren.

Dazu öffnet man das Gehäuse und  sieht anschließend folgenden Aufbau für den Anschluss einer externen Antenne:

Nun löst man die (rot markierte) Steckverbindung des externen Antennenanschlusses und steckt den freiliegenden internen Antennenanschluss auf den freigewordenen kleinen "Knopf". Der Stecker sollte leicht spürbar einrasten. Fertig.

Software konfigurieren

Jetzt kann das Gerät entweder mit dem mitgelieferten Poweradapter und dem LAN-Kabel oder über PoE angeschlossen werden. Im ersten Schritt muss man das Gerät über WLAN konfigurieren und dort den LAN Adapter freischalten, anschließend kann man über LAN weitermachen.

Nach dem Einschalten spannt das Gateway ein eigenes WLAN auf, mit dem man sich verbindet. Über die Adresse http://192.168.88.1 kommt man nun auf das Webinterface. Die Abfrage nach Username und Passwort kann man einfach wegklicken, später empfehle ich, hier einen Account zum Einloggen anzulegen.

Unter dem Menü (linke Seite) "IP" und danach dem Submenü "Firewall" wird nun ein neuer Eintrag angelegt ("Add New").

Folgende Parameter für den Eintrag werden nun geändert:

Parameter Wert
Chain Input
Dst. Port 80
In. Interface "ether1" oder "all ethernet"
Action Accept
(optional) Comment Name der Regel

Nun "Apply" drücken und die Regel erscheint unten in der Liste der Ausnahmen für die Firewall. Damit die Regel für den Webzugriff auf die Oberfläche über Ethernet sofort greift, muss man den letzten Eintrag per gedrückter Maustaste greifen und ganz nach oben ziehen. Alternativ kann man die ganze Firewall deaktivieren, was ich allerdings nicht empfehle.

Jetzt ist der Webzugriff über Ethernet aktiviert. Die IP-Adresse holt sich das Gateway nun über DHCP vom Netzwerkrouter, d.h. man kann dort nachschauen, wie die Adresse lautet und über diese IP-Adresse mit dem port 80 die Weboberfläche aufrufen.

Abschließend sollte man das WLAN des Gateways deaktivieren. Dies geht sehr einfach, indem man im Menü "Interfaces" einfach auf das kleine "D" vor dem WLAN eintrag klickt, so dass ein kleines "E" erscheint. Jetzt ist das WLAN deaktiviert.

Account bei TTN/TTS anlegen

Für alle folgenden Aktivitäten ist die Voraussetzung, dass man eine "The Things ID" (Account) erstellt hat. Dies kann man  über die TTS-Webseite machen. Ich empfehle aber zur Umgehung des ganzen Billing Gedönses den Weg über die folgende  TTN-Seite. Hier legt man nun für die Community-Edition von TTS eine entsprechende ID durch Angabe weniger Parameter an. Wer den Unterschied zwischen den verschiedenen Editions von TTS erfahren möchte, schaut sich auf der folgenden Seite von The Things Stack mal um. Die freie Version wird hier als Discorvery bezeichnet.

Gateway im LoRaWAN registrieren

Man loggt sich als erstes bei TTN oder TTS mit dem bereits erstellten Account ein. Sofern nicht direkt die Menüs für Gateways und Devices angezeigt werden kann man oben rechts unter dem Accountnamen auf den Menüpunkt "Console" klicken, so dass anschließend die Konfigurationsmöglichkeiten für die eigenen Geräte erscheinen.

Hier wählt man am aus dem oberen Menü den Punkt "Gateways" und anschließend "Register gateway" aus.

Nun müssen folgende Parameter angegeben werden:

Bezeichner Inhalt
Gateway EUI Diese Zahl ist auf dem Mikrotik LR8 auf dem Aufkleber auf der Rückseite zu finden und wird hier  als "Gw ID" bezeichnet. Alternativ kann man diese auch in der Mikrotik Console unter dem Menüpunkt "LoRa" aufrufen und aus dem Feld "Gateway ID" kopieren.
Gateway ID Achtung: Diese wird von TTN/TTS vorgeschlagen, kann aber frei vergeben werden!
Frequency Plan Europe 863-879 MHz (SF9 for RX2 - recommended)
Gateway Name Ein ebenfalls frei vergebbarer (optionaler) Name

Nun kann auf den Button "Register Gateway" geklickt werden. Anschließend wird das Gateway in TTN registriert und es erscheint eine Übersichtsseite mit den eben eingegebenen Parametern.

Die Vorgehensweisen sind gut erläutert auch unter folgendem Link zu finden https://www.thethingsindustries.com/docs/devices/adding-devices/

Gateway mit dem Server des TTN-Netzes verbinden

Allerdings wird unter dem Namen des Gateways noch ein roter Punkt zu sehen sein, neben dem Disconnected steht. Denn dem Gateway muss noch mitgeteilt werden, mit welchem Server es sich verbinden soll. Dazu kopiert man einfach die neben dem Bezeichner "Gateway Server adress" angezeigte Serveradresse, i.d.R. "eu1.cloud.thethings.network".

Nun wechselt man zurück in die Mikrotik Console in den Menüpunkt "LoRa". Hier gibt es den Reiter "Server". Sofern hier noch nicht der soeben kopierte Server verfügbar ist, legt man einen neuen Server mit der kopierten Adresse und den Ports 1700/1700 an und speichert diesen unter einem aussagekräftigen Namen ab.

Jetzt geht man auf den Reiter "Device" und klickt dort auf den bereits verfügbaren Gateway-Eintrag für das Mikrotik Gerät. Neben "Network Server" wählt man den Servereintrag aus, der auf den eben gemerkten oder angelegten TTN/TTS Server zeigt und drückt Apply oder OK (Enabled muss aktiviert sein).

Wechselt man nun wieder in die TTN/TTS Console sollte man nach einiger Zeit sehen, dass der Status des Gateways von disconnected auf Connected wechselt und in der LIve data Console sollte die Kommunikation zwischen TTN und dem Gateway sichtbar werden.

Ausblick

Im nächsten Beitrag zeige ich, wie man einen Füllstandssensor in das Netzwerk aufnimmt und die Daten protokolliert.