Entwickeln Sie mit LoRa IoT-Anwendungen für niedrige Datenraten und große Reichweite
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2017-06-29
Entwicklern bieten sich eine Vielzahl von drahtlosen Technologien an, um ein Produkt mit dem Internet der Dinge (IoT) zu verbinden. Jede Technologie dient unterschiedlichen Anwendungen und erfordert, dass Designer sorgfältig Faktoren wie Reichweite und Datenrate, Kosten, Stromverbrauch, Volumen und Formfaktor berücksichtigen.
Dieser Artikel wird das LoRa-Protokoll vorstellen, seine Vorteile mit anderen Protokollen vergleichen und mehrere Produkte und Entwicklungskits diskutieren, die es Ingenieuren ermöglichen, schnell mit der Entwicklung von LoRa-basierten Systemen zu beginnen.
Betrachtung der Kompromisse beim drahtlosen IoT
Jede drahtlose Technologie hat starke und schwache Seiten. Das standardmäßige Wi-Fi zum Beispiel kann große Mengen an Daten mit hohen Geschwindigkeiten übertragen, hat aber eine begrenzte Reichweite. Ein Mobilfunknetz kombiniert hohe Geschwindigkeit und große Reichweite, ist aber Leistungshungrig.
IoT-Anwendungen wie Ferndatenerfassung, Steuerung der Stadtbeleuchtung, Wetterüberwachung und Landwirtschaft haben jeweils unterschiedliche Prioritäten. Die in diesen Anwendungen gemessenen oder kontrollierten Mengen wie Wetterbedingungen, Bodenfeuchte oder Straßenbeleuchtung ändern sich über einen längeren Zeitraum nur sehr langsam.
Darüber hinaus sind die Sensorknoten oft Kilometer weit voneinander entfernt und sind batteriebetrieben, so dass das optimale drahtlose Protokoll in der Lage sein muss, kleine Datenpakete effizient über lange Distanzen mit minimalem Stromverbrauch zu senden. Das LoRa-Protokoll wurde für genau diese Anforderungen konzipiert.
Übersicht über die LoRa-Technologie
LoRa richtet sich an energiesparende Anwendungen für Weitbereichsnetzwerke (LPWAN). Es hat eine Reichweite von über 15 Kilometern und eine Kapazität von bis zu 1 Million Knoten. Die Kombination von geringer Leistungsaufnahme und großer Reichweite begrenzt die maximale Datenrate auf 50 Kilobit pro Sekunde (Kbit/s).
LoRa ist eine proprietäre und patentierte Technologie der Semtech Corporation und wird im ISM-Band betrieben. Die Frequenzzuteilung und die regulatorischen Anforderungen für ISM variieren je nach Region (Abbildung 1). Die beiden beliebtesten Frequenzen sind 868 Megahertz (MHz) in Europa und 915 MHz in Nordamerika. Andere Regionen, insbesondere Asien, haben wiederum andere Anforderungen.
|
Abbildung 1: Ein Vergleich der LoRa-Spezifikationen für Europa und die USA, zwei Regionen, in denen ISM-Bänder weit verbreitet sind. (Bildquelle: LoRa Alliance)
Die physikalische LoRa-Schicht verwendet die Spreizspektrummodulation (SSM) (Abbildung 2). SSM kodiert das Basissignal mit einer höheren Frequenzsequenz, die das Basissignal bewusst über eine größere Bandbreite spreizt, den Energieverbrauch reduziert und den Widerstand gegen elektromagnetische Störungen erhöht.

Abbildung 2: Ein Spreizspektrumsystem multipliziert die Eingangsdaten mit einer viel schnelleren Codefolge, die die Signalbandbreite spreizt. (Bildquelle: Semtech Corporation)
Der Spreizfaktor (SF) des Basissignals ist variabel und stellt einen Kompromiß dar. Für eine gegebene verfügbare Bandbreite verringert ein größerer Spreizfaktor die Bitrate, reduziert aber auch die Batterielebensdauer durch Erhöhung der Sendezeit.
Ein spezifizierter Spreizfaktor (SF) und die Bandbreite (BW) ergibt eine Bitrate, die definiert ist durch:

LoRa ermöglicht sechs Spreizfaktoren (SF7 - SF12) und drei verschiedene Bandbreiten (125 kHz, 250 kHz, 500 kHz). Die zulässigen Spreizfaktoren und Bandbreiten werden von den regionalen Regulierungsbehörden festgelegt. Nordamerika gibt beispielsweise eine Bandbreite von 500 kHz und Spreizfaktoren von 7 bis 10 an.
Aufgrund der Spreizspektrum-Technologie sind Nachrichten mit unterschiedlichen Datenraten orthogonal und stören sich nicht durch die Schaffung eines Satzes von virtuellen Kanälen, wodurch die Kapazität des Gateways erhöht wird.
Das LoRa-Schema basiert auf einer Variante der SSM, der sogenannten Chirp-Spreizspektrum(CSS)-Modulation (Abbildung 3). CSS kodiert die Daten mit einem „Chirp“, das im Wesentlichen ein breitbandfrequenzmoduliertes sinusförmiges Signal ist, das mit der Zeit zunimmt oder abnimmt.

Abbildung 3: Ein CSS-Upchirp kann entweder einem Polynomausdruck für die Frequenz gegenüber der Zeit oder einer linearen Beziehung folgen, wie hier gezeigt. (Bildquelle: Wikipedia)
CSS eignet sich hervorragend für Anwendungen mit niedriger Datenrate (<1 Mbit/s), die einen geringen Stromverbrauch erfordern. IEEE 802.15.4a, ein weiterer Standard mit niedriger Datenrate, spezifiziert sich als eine Technik für den Einsatz in drahtlosen persönlichen Bereichsnetzwerken (LR-WPAN). CSS wird seit vielen Jahren eingesetzt, um eine weitreichende, robuste Kommunikation in militärischen und Weltraumanwendungen zu bieten, aber LoRa ist die erste kostengünstige kommerzielle Umsetzung.
LoRaWAN und die LoRa-Netzwerkarchitektur
Die LoRaWAN-Spezifikation definiert die MAC-Schicht (Media Access Control) für LPWAN. LoRaWAN ist auf der physikalischen LoRa-Schicht implementiert und spezifiziert das Kommunikationsprotokoll und die Netzwerkarchitektur. Diese Funktionen haben einen hohen Einfluss auf mehrere Leistungsparameter, darunter:
- Die Batterielebensdauer eines Knotens
- Netzwerkkapazität
- Netzwerksicherheit
- Die bedienten Anwendungen
Die LoRaWAN-Netzwerkarchitektur verwendet eine Stern-auf-Stern-Topologie, bei der jeder Endknoten mit mehreren Gateways kommuniziert, die mit dem Netzwerkserver kommunizieren.
Das LoRa-Netzwerk besteht aus vier Elementen (Abbildung 4):
- Die Endknoten sammeln Sensordaten, übermitteln sie stromaufwärts und empfangen Kommunikation vom Anwendungsserver. Endgeräte verwenden drahtlose Einzelsprungkommunikation zu einem oder mehreren Gateways.
- Der Concentrator/Gateway fungiert als transparente Brücke und leitet bidirektionale Daten zwischen den Endknoten und den Upstream-Servern weiter.
- Der Netzwerkserver verbindet sich mit mehreren Gateways über eine sichere TCP/IP-Verbindung, entweder drahtgebunden oder drahtlos, eliminiert doppelte Nachrichten, entscheidet, welches Gateway auf eine Endknoten-Nachricht antworten soll und verwaltet die Endknoten-Datenraten mit einem adaptiven Datenratenschema (ADR), um die Netzwerkfähigkeit zu maximieren und die Lebensdauer der Batterie des Endknotens zu verlängern.
- Der Anwendungsserver sammelt und analysiert Daten aus den Endknoten und ermittelt Endknotenaktionen.

Abbildung 4: Ein LoRa-Netzwerk verfügt über vier Hauptblöcke und zwei Sicherheitsschichten. (Bildquelle: LoRa Alliance)
Die Endpunkt-Kommunikation ist normalerweise bidirektional, aber LoRa unterstützt auch Multicast-Betrieb für Funktionen wie Software-Upgrades. Viele konkurrierende Protokolle, wie ZigBee, verwenden eine Maschentopologie, in der einzelne Endknoten Informationen von anderen Endknoten empfangen und weitersenden. Dieser Ansatz erhöht die Reichweite und die Zellengröße des Netzwerks, aber der hinzugefügte Kommunikations-Overhead erhöht die Komplexität, reduziert die Netzwerkkapazität und erhöht den Energieverbrauch einzelner Knoten.
LoRa-Endknotenklassifizierung
Es gibt drei Klassen von Endknoten. Alle drei Klassen erlauben eine bidirektionale Kommunikation und können über das Gateway einen Uplink zum Server initiieren. Sie unterscheiden sich in der Weise, wie sie eingehende Server-Nachrichten akzeptieren.
Eine LoRaWAN-Komponente der Klasse A verbraucht die geringste Leistung. Ein Endknoten erlaubt die Kommunikation vom Server nur während zweier kurzer Empfangsfenster, die für eine kurze Zeit nach einer Uplink-Übertragung geöffnet sind. Nachrichten vom Server zu jeder anderen Zeit müssen bis zur nächsten angesetzten Uplink-Zeit warten. Komponenten der Klasse A sind asynchron. Ein Endpunkt beginnt eine Übertragung, wann immer er Daten zu senden hat und wartet dann eine vorgegebene Zeit lang auf eine Antwort.
Eine LoRa-Komponente der Klasse B bietet Klasse-A-Funktionalität, öffnet aber zusätzliche Empfangsfenster zu festgelegten Zeiten. Um sich mit dem Netzwerk zu synchronisieren, erhält der Knoten der Klasse B alle 128 Sekunden eine zeitsynchronisierte Bake (Beacon) vom Gateway. Ihm wird eine Zeitscheibe innerhalb dieser 128 Sekunden zugewiesen, die dem Server anzeigt, wann das Endgerät empfangsbereit ist.
Ein LoRa-Komponente der Klasse C bietet nahezu kontinuierlich offene Fenster. Die Fenster sind nur bei Endpunktübertragungen geschlossen. Eine Komponente der Klasse C ist geeignet, wenn große Mengen an Daten empfangen und nur wenige übertragen werden müssen.
LoRaWAN-Sicherheit
Robuste Sicherheit ist ein Schlüsselelement eines jeden LPWAN-Designs. LoRaWAN verwendet eine AES-128-Bit-Verschlüsselung und verfügt über zwei unabhängige Sicherheitsschichten, einen Netzwerk-Sitzungsschlüssel (Network Session Key, NwkSKey) und einen Anwendungs-Sitzungsschlüssel (Application Session Key, AppSKey) (Abbildung 5).

Abbildung 5: Der Datenfluss von einem LoRa-Endgerät zur Anwendung umfasst Verschlüsselung und Entschlüsselung am Anfang und Ende der Kette, so dass nur der Endknotensensor und die Anwendung Zugriff auf Klartextdaten haben. (Bildquelle: Microchip Technology)
Die Netzwerksicherheitsebene stellt die Authentizität des Knotens im Netzwerk sicher und die Anwendungssicherheitsebene stellt sicher, dass der Netzbetreiber keinen Zugriff auf die Anwendungsdaten des Endbenutzers hat.
Es gibt zwei Methoden, um die Schlüssel zu implementieren:
- Aktivierung durch Personalisierung (ABP): Hier können LoRaWAN-Endgeräte werksseitig mit den Authentifizierungsinformationen für ein bestimmtes LoRaWAN-Netzwerk programmiert werden.
- Over-the-Air-Aktivierung (OTAA): Hierbei wird eine Anwendungs-ID, eine eindeutige Geräte-ID und eine Netzwerk-zugeordnete Geräteadresse verwendet, um den NwkSKey und den AppSKey abzuleiten. Diese Methode wird bevorzugt, weil die Schlüssel nicht vorbestimmt sind und regeneriert werden können.
Einstieg in die LoRa-Entwicklung
Hersteller bieten den Entwicklern eine Reihe von LoRa-Optionen mit Integrationsebenen von einzelnen Geräten bis hin zu kompletten Entwicklungskits.
Der LoRa-Einzelchiptransceiver SX1279 der Semtech Corporation kann sowohl europäische als auch nordamerikanische ISM-Bänder abdecken (Abbildung 6). Abhängig von den geltenden Vorschriften bietet das Gerät Kanalbandbreiten von 7,8 kHz bis 500 kHz und Spreizfaktoren von 6 bis 12.
Abbildung 6: Der SX1279 von Semtech bietet effektive Bitraten von 18 Bit/s bis 37,5 Kilobit/s, einen breiteren Bereich als LoRaWAN erlaubt. (Bildquelle: Semtech Corporation)
Auf der Modulebene bietet Microchip, ein Lizenznehmer der LoRa-IP, den RN2483 für europäische Anwendungen bei 868 MHz und den RN2903 für nordamerikanische Anwendungen bei 915 MHz an (Abbildung 7). Beide Module enthalten einen anwendungsspezifischen Mikrocontroller mit dem LoRa-Protokollstack, einen LoRa-kompatiblen Funk-Transceiver, einen seriellen EEPROM, der dem Gerät eine eindeutige EUI-64-Kennung zur Verfügung stellt und vierzehn Eingangs-/Ausgangspins (I/O) für analoge oder digitale Sensoreingänge, Schalter oder Statusanzeigen.
Diese Module sind für den Einsatz der Klasse A ausgelegt und erreichen einen Betrieb über große Distanzen mit einem integrierten hocheffizienten Leistungsverstärker für +18,5 dBm (+14 dBm im RN2483), verbunden mit einer Empfangsempfindlichkeit von -146 dBm.

Abbildung 7: Ein typischer RN2903-Endknoten kann sowohl Eingangs- als auch Ausgangsfunktionen enthalten. Der optionale ICSP-Port kann zur Aktualisierung der Firmware verwendet werden. (Bildquelle: Microchip Technology)
Auf der Board-Ebene bietet Microchip das Mote DM164139, ein Endgerät der Klasse A, das auf dem LoRa-Modem RN2903 basiert. Der Mote ist ein eigenständiger batteriebetriebener Knoten, der eine komfortable Demonstrationsplattform für die weitreichenden Fähigkeiten des RN2903 bietet.
Der Mote umfasst Licht- und Temperatursensoren. Die Datenübertragung kann durch einen Tastendruck initiiert oder basierend auf einem festen Zeitplan gestartet werden. Ein LCD zeigt Informationen wie Verbindungsstatus, Sensorwerte oder Downlink-Daten an.
Das Board wird über einen USB-2.0-Micro-B-Stecker mit einem Computer verbunden, der Zugriff auf die UART-Schnittstelle des RN2903 bietet. Der UART ermöglicht eine schnelle Einrichtung und Steuerung des On-Board-LoRaWAN-Protokollstapels über einen ASCII-Befehlssatz.
Das RN2483-Modem hat sein eigenes Mote-Board, das DM164138.
Schließlich umfasst das LoRa-Netzwerk-Evaluierungskit DV164140-2, ebenfalls von Microchip, zwei RN2903-Mote-Boards und ein Gateway-Board (Abbildung 8). Dies macht es den Entwicklern leicht, die Fähigkeit eines kompletten 915 MHz LoRa-Systems zu bewerten. Ein ähnliches Kit, das DV164140-1, deckt Anwendungen für 868 MHz ab.

Abbildung 8: Die Evaluierungskits DV164140-2 (915 MHz) und DV164140-1 (868 MHz) sind mit zwei Mote-Boards, dem Gateway-Core-Board und dem Radio-Board (von links nach rechts) ausgestattet. (Bildquelle: Microchip Technology)
Das Gateway-Board besteht aus einem Core-Board und einem angeschlossenen Radio-Board. Es enthält einen LCD-Bildschirm, eine SD-Karte für Konfigurationsdaten, eine Ethernet-Verbindung, eine Antenne und einen Vollbandempfänger.
Das Gateway-Board wird mit dem Host-PC über ein USB-Kabel verbunden, das sowohl der Stromversorgung als auch der Kommunikation dient. Zusätzlich ist ein Ethernet-Kabel zwischen dem Core-Board und der LAN-Verbindung des PCs für die Kommunikation zwischen dem Gateway und dem Server verbunden.
Das Mote-Entwicklungsboard ist über einen eigenen USB-Anschluss mit dem Host-Computer verbunden.
Software für das Netzwerk-Evaluierungskit
Die Evaluierungskit-Software besteht aus der LoRa-Development-Suite von Microchip, die von der Produktseite des DV164140-2 bei DigiKey kostenlos heruntergeladen werden kann. Für Mac-, Windows- oder Linux-Rechner richtet die Suite eine lokale Version des LoRaWAN-Netzwerkservers ein, der unter dem Host-Betriebssystem ohne externe Netzwerkverbindung läuft. Die Entwicklungssoftware schafft ein eigenständiges Demonstrationsnetzwerk, mit dem das LoRa-Netzwerk schnell und einfach getestet werden kann.
Intern nutzt die LoRa-Development-Suite Docker, eine Open-Source-Entwicklungsplattform für den Betrieb von Container-Anwendungen. Docker ermöglicht es der Oracle Virtual Machine (VM), in einer Windows-, Mac- oder Linux-Umgebung zu arbeiten (Abbildung 9). Die VM hostet die Docker-Engine, die wiederum den LoRa-Evaluierungsserver betreibt. Der Evaluierungsserver kommuniziert mit dem Gateway-Board über den Ethernet-Port, der über die LoRa-Verbindung Daten an das RN-Modul weiterleitet.

Abbildung 9: Das LoRa-Netzwerk-Evaluierungskit implementiert einen LoRa-Evaluierungsserver, der unter dem Betriebssystem des Host-Computers läuft. (Bildquelle: Microchip Technology)
Das LoRa-Entwicklungstool läuft innerhalb der Java-Laufzeitumgebung (JRE), einer Reihe von Softwaretools, die die Entwicklung von Java-Anwendungen ermöglicht. Das Dienstprogramm ermöglicht es dem Benutzer, eine Reihe von Aufgaben auszuführen, wie das Scannen des Netzwerks nach neuen Endgeräten, neuen Endgeräten den Zugang zum Netz gewähren, einen neuen Anwendungsserver erstellen und das Netzwerk konfigurieren (Abbildung 10).

Abbildung 10: Das LoRa-Entwicklungstool, das von der Produktseite des Evaluierungskits heruntergeladen werden kann, steuert viele Funktionen des LoRa-Evaluierungskits, einschließlich der Netzwerkkonfiguration. (Bildquelle: Microchip Technology)
Fazit
Das LoRa-Protokoll erfüllt einen wichtigen IoT-Bedarf für weitreichende, leistungsstarke und kostengünstige Kommunikation. Dieser Artikel hat die physikalische LoRa-Schicht und die LoRaWAN-Spezifikationen, die dies möglich machen, diskutiert und eine Reihe von Geräten und Kits hervorgehoben, die Entwicklern helfen, die Perfomance von LoRa in einer Reihe von Zielanwendungen schnell zu evaluieren.
Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.





