<- Bild 1: Ein Beispiel für ein LoRa-Funkmodul für 433 MHz
LoRa, LoRaWAN und TTN Wichtige Parameter erklärt
LoRa, LoRaWAN und das Internet der Dinge, diese Begriffe sind in aller Munde. APRS-Repeater des 70-cm-Bandes setzen auf die leistungsfähigen und stromsparenden LoRa-Funkmodule. Aber wie funktioniert das? Was bedeuten die LoRa-Parameter Bandbreite, Spreizfaktor und Kodierungsrate? Wie sieht ein LoRa-Datenpaket aus?
LoRa steht für Long Range (große Reichweite) und ist ein Kommunikationsstandard für Funkverbindungen mit hoher Reichweite. Bisherige drahtlose Systeme verwenden z.B. die Frequenzumtastung (FSK), da sie effektiv ist und nur wenig Energie benötigt. LoRa basiert auf einer sog. Chirp-Spread-Spectrum-Modulation, welche ähnliche Energieanforderungen wie FSK-Modulation besitzt, aber über mehr Möglichkeiten zur Kommunikation verfügt. Chirp Spread Spectrum wird seit Jahren zur Kommunikation beim Militär und im Weltraum wegen der Robustheit gegenüber Störungen eingesetzt. LoRa ist die preiswerte Implementierung für den professionellen Gebrauch. Wie beeinflussen LoRa-Parameter die Übertragungsgeschwindigkeit und Reichweite einer Aussendung? Beabsichtigen Sie einen LoRa-Transceiver einzurichten, etwa, um einen Sensor in ein Netzwerk zu integrieren, müssen Sie nicht nur Frequenz und Ausgangsleistung kennen, sondern sollten sich auch um drei weitere Parameter kümmern, die auf den Betrieb des Funkmoduls einen Einfluss nehmen. Es sind die Bandbreite, der Spreizfaktor und die Kodierungsrate. LoRa ist ein flexibles Modulationsverfahren, dessen Übertragungsleistung – abhängig von der Justage der drei vorgenannten Parameter – sich über einen Bereich von nur 11 Bit pro Sekunde bis hin zur einer relativ schnellen Datenübertragungsrate von bis zu 250 kBit/s erstreckt. Eine geringe Datenübertragung je Sekunde führt zu einer größeren Reichweite. Als Faustregel gilt: Erhöht sich die Reichweite, sinkt die Datenrate.
Bild 2: Drei LoRa-Module für verschiedene ISM-Bänder im Vergleich.
Bandbreite
Die Bandbreite (engl.: bandwidth, BW) für die LoRa-Modulation lässt sich einstellen, definiert sind 31,25 kHz, 41,7 kHz, 62,5 kHz, 125 kHz, 250 kHz und 500 kHz. Eine kleinere Bandbreite benötigt mehr Zeit für eine Nachrichtenübertragung. Bandbreiten unter 125 kHz funktionieren nur mit spezieller LoRa-Hardware, die einen TCXO verwenden. Stabil mit allen LoRa-Chipsätzen funktioniert es ab 125 kHz. Ausschließlich die 125 kHz Bandbreite ist für das LoRaWAN-Protokoll definiert. LoRa ist ein Chirp-Spread-Spektrum-Modulationsverfahren - das Signal wird bewusst über eine größere Bandbreite verteilt, als es für die Übertragung physikalisch notwendig wäre. Das bedeutet eine bessere Rauschimmunität und ist besonders nützlich bei geringer Sendeleistung. Faustregel zwei: Eine geringere Bandbreite resultiert in einer langsameren Übertragungsrate, jedoch zu einer höheren Reichweite. Im Umkehrschluss bedeutet die Wahl einer größeren Bandbreite eine höhere Datenrate und geringere Reichweite.
Spreizung
Ein LoRa-Funkmodul moduliert, indem es jedes Informationsbit mit mehreren Chirps von Informationen darstellt. In diesem Fall bedeutet das Spreizspektrum, dass eine zugewiesene Bandbreite für die Übertragung benutzt wird, wodurch diese Signale resistent gegen das in ISM-Bändern übliche Kanalrauschen sind. LoRa ermöglicht es zwischen hoher Datenrate oder hoher Empfindlichkeit zu wählen, indem man den Spreizfaktor (SF) variiert. Mit diesem einstellbaren Parameter bestimmt man die Anzahl der pro Sekunde gesendeten Chirps. Bei einem niedrigen SF werden mehr Chirps pro Sekunde gesendet. Das bedeutet, es werden mehr Daten pro Sekunde verschlüsselt, doch das Signal ist aus Sicht des Empfängers nicht sehr empfindlich. Eine niedrige Empfindlichkeit bedeutet, dass die Wahrscheinlichkeit höher ist, dass die zu sendenden Daten unterwegs verloren gehen können. Ein hoher SF-Wert hingegen sendet weniger Chirps pro Sekunde, erzeugt aber ein Signal, das für den Empfänger empfindlicher und damit zuverlässiger ist. Allerdings benötigen Chirps mit hoher SF mehr Sendezeit und mehr Strom, da das Modem länger läuft als bei einer niedrigen SF. Durch die Einstellung der SF für den Funk sowie die Änderung der Sendeleistung des Modems (einstellbar zwischen 2 dBm und 20 dBm je nach Region) bietet LoRa Ingenieuren fähige Werkzeuge, um eine Anwendung für den Stromverbrauch und die Kommunikationsreichweite je nach Bedarf zu konfigurieren. LoRa deckt alles ab, was nötig ist, um eine Kommunikation über große Entfernungen zwischen Geräten auf einem gemeinsamen Spektrum zu ermöglichen, die das gleiche Protokoll sprechen können. Es deckt jedoch nicht ab, wie Geräte sich gegenseitig identifizieren, wie sie so miteinander kommunizieren, dass das Übersprechen im Netzwerk minimiert wird, oder wie Daten von lokalen Netzwerkgeräten sicher in die Cloud oder an entfernte Standorte übertragen werden können. An dieser Stelle kommt LoRaWAN ins Spiel.
LoRa ist unempfindlich gegenüber Störungen, Mehrwegeausbreitung und Fading. Chirps werden verwendet, um Daten beim Sender zu kodieren, während beim Empfänger inverse Chirps zur Signaldecodierung verwendet werden. Der Spreizfaktor gibt an, wie viele Chirps pro Sekunde verwendet werden. Bei der LoRa-Spreizspektrum-Modulation wird jedes Bit der Nutzdaten auf mehrere sogenannte Symbole aufgeteilt. Der Spreizfaktor (engl.: spreading factor, SF) bestimmt, wie viele Symbole zur Kodierung von Nutzdaten verwendet werden. Der SF ist für die LoRa-Modulation unterhalb von 1 GHz zwischen SF6 bis SF12 spezifiziert. Beispielsweise werden bei einem Spreizfaktor von sieben (SF7) 128 Symbole verwendet, bei SF11 sind es schon 2048! SF7 ist der LoRa-Standard, der zur Datenübertragung von 64 Bytes ca. 120 Millisekunden benötigt. Bei SF11 liegt die Laufzeit bereits deutlich über eine Sekunde. Ein kleiner Spreizfaktor ergibt eine kurze Übertragungsdauer, einen geringen Strombedarf, aber auch eine geringere Reichweite. Ein großer Spreizfaktor bedingt eine längere Übertragungsdauer, dadurch einen höheren Stromverbrauch , aber auch eine größere Reichweite. Die nachstehende Tabelle zeigt die Sendezeit einer Übertragung für 64 Bytes bei einer Bandbreite von 125 kHz:
Bandbreite und Spreizfaktor sind bestimmende physikalischen Parameter des Modulationsverfahrens. Die LoRa-Kodierrate (engl.: coding rate, CR) beeinflusst diese nicht, sondern ermöglicht eine Vorwärtsfehlerkorrektur. Hierbei werden den Nutzdaten (engl.: payload) weitere Bits hinzugefügt, um eine Fehlerkorrektur zu erreichen, ohne dass eine Aussendung von Empfänger nochmals angefordert wird. Eine höhere Kodierungsrate erhöht also nicht die Reichweite, sondern ermöglicht eine zuverlässigere Funkverbindung. Wie kaum anders zu erwarten, geht jeder Vorteil mit einem Nachteil einher: Die Datenrate sinkt, da ja mehr Daten übertragen werden müssen. LoRa kennt vier verschiedene Kodierungsraten. Sie drücken das Verhältnis zwischen den tatsächlichen Daten und den hinzugefügten Daten aus. Bei der Wahl der Kodierrate ist es wichtig, Vor-und Nachteile abzuwägen. Manchmal ist es günstiger, ab und zu wenige Paketverluste aufgrund von Störungen zu tolerieren, als ständig auf eine hohe Kodierrate zu setzen. Die Anwendung wird hier Prioritäten setzen. Beachte: Zwei LoRa-Transceiver, die unterschiedliche Kodierungsraten nutzen, sind in der Lage, die Signale des jeweils anderen zu empfangen und zu dekodieren!
<- Bild 3: Pinbelegung eines LoRa-Funkmoduls. Die Anbindung an den Mikrocontroller geschieht per SPI. Digitale IO-Ein- bzw. Ausgänge können als Interruptleitungen genutzt werden, beispielsweise, um einen Prozessor zu wecken, wenn etwas empfangen wurde.
APRS und LoRa
Die ersten Experimente mit LoRa und APRS führten österreichische Funkamateure durch, die erste APRS- Intenet-Gates (iGates) und mobile Tracker entwickelten. Da sich das 70-cm-Band der Funkamateure mit dem ISM-Band (433,05 MHz bis 434,79 MHz) überlappt, bieten sich LoRa-Funkmodule geradezu dazu an, auch diese für den Amateurfunk – und hier speziell für APRS - zu nutzen. Da die Funkamateure auf ihren Frequenzen nicht an die ISM-Leistungsrestriktionen gebunden sind, können auch höhere Leistungen eingesetzt werden als bei ISM-Anwendungen. Beispielsweise sendet ein LoRa-APRS-Tracker mit einem Watt Leistung. Für Deutschland haben sich folgende Parameter für LoRa-APRS weitgehend durchgesetzt: Als Sendefrequenz vom Tracker zum iGate ist 433.775 MHz vorgesehen, die Empfangsfrequenz des Trackers beträgt 433.900 MHz. Als Spreizfaktor ist SF12 eingestellt, die Bandbreite beträgt 125 kHz und die Kodierrate ist 4/5. Wie zuvor erläutert, bedingt der hier gewählte Spreizfaktor eine längere Dauer der Aussendung von ca. drei Sekunden.
<- Bild 4: Ein LoRa-Signal im Wasserfall. Damit man es gut erkennen kann, wurde ein Spreizfaktor von 12 gewählt.
LoRa und 868 MHz Bei der Nutzung der SRD-Band-Frequenzen (863 MHz - 870 MHz) müssen europäische Nutzer einige Einschränkungen akzeptieren: Im Uplink (Sensor zu Gateway) ist die maximale Sendeleistung auf 25mW (14 dBm) begrenzt. Für den Downlink (Gateway zu Sensor bei 869,525 MHz) ist die maximale Sendeleistung auf 0,5 W (27 dBm) eingeschränkt. Je nach Kanal gibt es eine Einschränkung des Tastverhältnisses von 0,1 % und 1,0 % pro Tag laut folgender Tabelle:
Bild 5: Aufbau eines LoRa-Datenpaketes. Quelle: Datenblatt RF Hope RFM95.
Das Datenpaket
LoRa überträgt Informationen als Datenpaket (Bild 5). Die Präambel (eng.: preamble) synchronisiert den Empfänger auf den eingehenden Datenstrom. Als Standard ist eine zwölf Symbol lange Sequenz eingestellt. LoRa verwendet meist acht Symbole. Die Anzahl kann zwischen 6 und 65535 Symbolen variieren. Das Feld Header enthält Informationen zur Länge der Nutzdaten, zur Vorwärtsfehlerkorrektur und einer möglicherweise aktivierten Prüfsumme (CRC). Der Header kann auch entfallen. Es schließen sich die Nutzdaten (eng.: payload) an, evtl. gefolgt von einer CRC. Im Bild 5 nicht dargestellt ist das Sync-Byte. Es dient dazu, verschiedene Datennetze zu unterscheiden. Ein Empfänger wird nur Datenpakete akzeptieren, welche mit dem eigenen Sync-Byte übereinstimmt. LoRaWAN verwendet dazu einen Wert von 0x34 (dezimal: 52). Eigene Netze sollten diesen Wert daher meiden. Die maximale Länge der Nutzdaten beträgt 256 Bytes. Nimmt man an, dass eine gebene Zahl wie 3,149. (Datentyp float) vier Bytes in Anspruch nimmt, lassen sich in einem Datenpaket bis zu 64 Variablen unterbringen.
Bild 6: Das The Things Network baut auf LoRa undLoRaWAN auf – ein weltumspannendes Netz von Gateways. Die Karte zeigt einen Ausschnitt aus NRW in Deutschland. Jedem gateway ist eine ID zugeordnet.
Und nun: LoRaWAN und TTN
LoRaWAN steht für die Abkürzung Long Range Wide Area Network und wurde speziell für das kommerzielle Internet of things [7] (IoT) entwickelt (Bild 6). Mit LoRaWAN ist es möglich, hunderte von Sensoren (Temperatur, Druck, …) in einem Netzwerk zu betreiben. Viele Sensoren können bis zu 10 Jahre ohne Batteriewechsel auskommen. Ein LoRaWAN besteht aus mindestens einem Node (Sensor), einem Gateway mit Anschluss zum Internet und einem LoRa-Server. Ein Gateway dient als Schnittstelle zwischen der LoRa-Funkübertragung und der Internetverbindung zum Server. Der Node sendet Daten mittels LoRa an eines oder mehrere Gateways in seiner Reichweite. Diese nehmen die Daten auf und leiten sie an den Server weiter. Ein Nutzer greift nun via Internet auf den Server zu „holt“ sich die Daten ab. Auf dem LoRaWAN-Server laufen individuelle Programme, welche die Sensordaten visualisieren, in Datenbanken ablegen oder anderweitig aufbereiten.
<- Bild 7: Ein oder mehrere Chirps kodieren ein Bit. Quelle: Georg-Johann, Wikimedia Commons.
Das Internet der Dinge ist das The Things Network (TTN). Es baut auf LoRaWAN auf und stellt kommerzielle Zugänge für Firmenkunden bereit, aber auch Test-Kundenkonten für diejenigen, die das Internet der Dings (auf 868 MHz) ausprobieren möchten – und das kostenlos unter der Bezeichnung „The Things Stack Community Edition“. Hier kann Frau und Mann einen kostenlosen Account einrichten und mit etwas Hardware seine Sensordaten „in die Cloud“ senden. Der Server macht die Daten auf einem Dashboard. Insgesamt betrachtet, ist es interessant zu sehen, wie zahlreich – und leistungsstark – heutige Funkanwendungen sein können.