- Für die Kommunikation zwischen den Knoten benötigt LoRaWAN ein korrekt konfiguriertes Gateway (Frequenz, IP-Netzwerk, Server) und eine Registrierung beim TTN.
- Endgeräte werden in TTN-Anwendungen mittels DevEUI, JoinEUI/AppEUI und AppKey (OTAA) oder NWKSKEY/APPSKEY/DEVADDR (ABP) registriert.
- Es ist möglich, kommerzielle Sensoren (SenseCAP, Decentlab, Dragino, Tabs) oder DIY-Knoten mit ESP32/Arduino und LMIC-Bibliothek zu verwenden, um Daten an TTN zu senden.
- TTN ermöglicht die Integration mit Node-RED und externen Plattformen, um die vom LoRaWAN-Netzwerk erfassten IoT-Daten zu visualisieren und zu nutzen.
Wenn Sie bis hierher gelesen haben, dann deshalb, weil Sie wissen wollen, wie. Verbindung eines LoRaWAN-Knotens mit TTN (End-to-End)Es deckt alles ab: Gateways, Knoten, Sensoren, Bibliotheken, Schlüssel und die Netzwerkkonfiguration. Das Beste daran ist, dass Sie kein Telekommunikationsexperte sein müssen; mit einer gut strukturierten Anleitung und etwas Geduld können Sie im Handumdrehen Ihr eigenes funktionsfähiges LoRaWAN-Netzwerk einrichten.
In den folgenden Zeilen wird Ihnen Schritt für Schritt gezeigt, wie Richten Sie ein Gateway ein, registrieren Sie es im The Things Network, registrieren Sie Anwendungen und Endgeräte und programmieren Sie LoRaWAN-Knoten. Basierend auf ESP32- oder Arduino-kompatiblen Boards sowie Beispielen mit kommerziellen Sensoren (SenseCAP, Decentlab, Dragino, Tabs Browan) behandeln wir auch praktische Details, die nicht immer in Handbüchern zu finden sind: häufige Probleme mit der Tastenansteuerung, Frequenzauswahl, physische Pin-Verbindungen und Tricks, um die Kommunikation mit TTN zu überprüfen.
Was sind LoRa und LoRaWAN, und warum verwendet man TTN?
LoRa und LoRaWAN sind zwei verwandte Konzepte, aber sie sind nicht dasselbe.LoRa ist ein von Semtech entwickeltes, energiesparendes Funkfrequenzmodulationsverfahren mit großer Reichweite. LoRaWAN ist das Netzwerkprotokoll, das auf LoRa basiert und die Kommunikation zwischen Endgeräten (Knoten) und Gateways sowie dem Netzwerkserver steuert.
In einem typischen LoRaWAN-Netzwerk haben wir zwei Hauptkomponenten: Gateways und Knoten.Gateways fungieren als „Brücken“ zwischen der LoRa-Welt (Funk) und der IP-Welt (Internet) und leiten Datenpakete an den LoRaWAN-Server weiter. Knoten sind Sensoren oder Aktoren, die Informationen über LoRa an diese Gateways senden und von ihnen empfangen.
Um all das zu verbinden, benötigen Sie einen LoRaWAN-Server. Sie können für einen privaten Dienst bezahlen (Anbieter wie Movistar, Vodafone oder Plattformen wie Loriot, Actility, Kerlink) oder man wählt den Community-Weg über The Things Network (TTN), ein öffentliches, offenes Netzwerk, das von der Community betrieben wird.
TTN hat den Vorteil, dass Es respektiert die Daten-Governance, ist neutral und ermöglicht es Ihnen, Gateways zum Netzwerk beizutragen.In vielen Städten installieren die Menschen Gateways auf eigene Initiative, und jeder kann von dieser Abdeckung profitieren, ohne dass außer den Hardwarekosten der Knotenpunkte Kosten anfallen.
LoRaWAN-Frequenzen, Kanäle und Einschränkungen
Vor dem Kauf eines Geräts ist es wichtig, sich darüber im Klaren zu sein, dass Die LoRa-Frequenz muss mit Ihrer Region kompatibel sein.Die Arbeit in Europa ist nicht dasselbe wie die Arbeit in den Vereinigten Staaten oder Asien; wenn Sie das falsche Frequenzband verwenden, kann das Gerät nutzlos oder sogar illegal sein.
In Europa wird hauptsächlich Folgendes verwendet: 868-MHz-Band (EU868)In den USA ist das gängige Frequenzband 915 MHz (US915). Chinesische Händler bieten eine große Auswahl an 433-MHz-Modulen an, die aufgrund ihres Preises verlockend sein mögen, aber nicht immer mit LoRaWAN oder den Standards Ihres Landes kompatibel sind.
Neben der Frequenz ist LoRaWAN wie folgt organisiert: Kanäle, Spreizfaktor (SF) und FrequenzpläneSF definiert Geschwindigkeit und Reichweite: Ein höherer SF-Wert bedeutet größere Reichweite, aber auch längere Flugzeit, was mehr Energie verbraucht und mehr Kanalkapazität beansprucht.
In Europa, das berühmte „1%-Regel“Jedes Gerät kann den Funkkanal nur für einen geringen Prozentsatz der Zeit belegen, typischerweise etwa 1 %. Dies begrenzt die Häufigkeit der Datenübertragung und ist einer der Gründe, warum LoRaWAN-Sensoren üblicherweise nur alle paar Minuten und nicht alle paar Sekunden senden.
Vorbereitungen und Auswahl der Hardware für Gateway und Knoten
Um ein praktisches Netzwerk einzurichten, benötigen Sie mindestens ein LoRaWAN-Gateway und ein oder mehrere Knoten (Sensoren)Wir können Hardware verschiedener Hersteller kombinieren, solange diese den LoRaWAN-Standard und das gleiche Frequenzband einhält.
Eines der am häufigsten verwendeten Modelle für ein Indoor-Gateway ist das Dragino LPS8Es verfügt über einen integrierten SX1308-Konzentrator und ermöglicht bis zu 10 parallele Kanäle. Es ist je nach Land mit verschiedenen Frequenzplänen vorkonfiguriert und arbeitet in Europa mit 868 MHz. Die Stromversorgung erfolgt über 5 V via USB-C, die Verbindung zum IP-Netzwerk über RJ-45 oder WLAN.
Weitere Beispiele für Gateways, die gut zu TTN passen, sind die RAK7289 (für den Außeneinsatz, robust und mit LTE/4G-Option) oder die offiziellen TTN-GW-868-MHz-Gateways, die für die Netzabdeckung in Städten oder Smart-City-Projekten entwickelt wurden. Es ist auch möglich, ein Einzelzellen-Gateway mit einem ESP32-Board und einem SX1262 LoRa-Modulwie es beispielsweise beim Wio-SX1262-Kit zusammen mit einem XIAO ESP32S3 der Fall ist.
Als Knotenpunkte gibt es zwei Pfade: Verwenden Sie handelsübliche Sensoren, die bereits für LoRaWAN konfiguriert sind. (SenseCAP S210x, Tabs Browan TBHH100, Dragino TrackerD, Decentlab usw.) oder bauen Sie Ihre eigenen Knoten mit Entwicklungsboards wie TTGO LoRa32 V2.0, ESP32 + RMF95, Arduino + LoRa-Modul usw.
Konfigurieren Sie ein LoRaWAN-Gateway und verbinden Sie es mit TTN.
Der erste große Teil des Projekts ist Starten Sie das Gateway und sorgen Sie dafür, dass in TTN „Verbunden“ angezeigt wird.Obwohl jeder Hersteller sein eigenes Panel hat, sind die konzeptionellen Schritte sehr ähnlich.
Mit einem Dragino LPS8 können Sie beispielsweise Verwalten Sie es über SSH oder HTTPBei Anschluss über ein RJ-45-Kabel müssen Sie die vom DHCP-Server zugewiesene IP-Adresse ermitteln (entweder mit einem IP-Scanner oder über Ihren Router). Für die Ersteinrichtung per WLAN erstellt der LPS8 ein eigenes Netzwerk mit einer SSID wie „dragino-xxxxx“ und dem Standardpasswort „dragino+dragino“. Über die IP-Adresse 10.130.1.1 gelangen Sie zum Webpanel. Benutzername und Passwort lauten dort üblicherweise „admin/dragino“.
Beim Betreten des Gebäudes sehen Sie ein Menü mit mehreren Abschnitten, und Sie können Bei einigen Optionen wird ein rotes Kreuz angezeigt, das darauf hinweist, dass die Konfiguration fehlt.Als Erstes sollten Sie im LoRa-Tab den richtigen Frequenzplan für Ihre Region auswählen; in Europa EU868 (ca. 868 MHz).
Tippen Sie anschließend auf die Registerkarte LoRaWAN- oder NetzwerkserverHier legen Sie fest, mit welchem LoRaWAN-Server sich das Gateway verbinden soll. Für TTN wählen Sie „TTN“ als Anbieter und geben die Adresse des europäischen Servers ein (z. B. eu1.cloud.thethings.network). Die UDP-Ports (üblicherweise 1700 für Upload und Download) bleiben erhalten. Im selben Abschnitt finden Sie die Gateway-ID (EUI), die wir später für TTN benötigen.
Im Netzwerkbereich konfigurieren Sie Wie stellt das Gateway die Verbindung zum Internet her?LAN, WAN oder WLAN-WAN. Für die WAN-Schnittstelle können Sie eine statische IP-Adresse oder DHCP wählen. Wann immer möglich, empfiehlt sich eine kabelgebundene statische IP-Adresse für eine stabilere Verbindung und einfachere Verwaltung. Die LAN-Schnittstelle wird üblicherweise für das interne Netzwerk des Gateways verwendet. Ändern Sie diese Schnittstelle nur, wenn Sie genau wissen, was Sie tun, da sie im Fehlerfall Ihre wichtigste Verbindung sein kann.
Im WLAN-Bereich können Sie sowohl den vom Gateway selbst erzeugten Zugriffspunkt als auch dessen Verbindung zu einem externen WLAN-Netzwerk anpassen.Aus Sicherheitsgründen wird empfohlen, die werkseitig voreingestellte SSID und das Standardpasswort des Access Points zu ändern.
Bei RAK7289-Gateways ist das Prinzip ähnlich: Man ruft das Webpanel auf, Die IP-Adresse (statisch oder DHCP) konfigurieren Sie unter Netzwerk → WAN-Schnittstelle. Geben Sie anschließend unter LoRa-Netzwerk → Netzwerkeinstellungen → Paketweiterleitung die TTN-Serverdetails ein und notieren Sie sich die Gateway-EUI, um diese später bei TTN zu registrieren. Falls Sie einen Router mit DHCP verwenden, können Sie die IP-Adresse des Gateways in der Leasetabelle (z. B. anhand des Hostnamens „RAK7289“) oder mithilfe von Tools wie nmap ermitteln.
Gateway-Registrierung im The Things Network
Sobald das Gateway über eine Internetverbindung verfügt, ist es Zeit für... Registrieren Sie ihn/sie bei TTN.Falls Sie noch kein Konto besitzen, registrieren Sie sich zunächst auf der Website von The Things Network und greifen Sie dann auf die Konsole in der entsprechenden Region zu (zum Beispiel https://eu1.cloud.thethings.network/).
Innerhalb der Konsole wählen Sie den Abschnitt aus Gateways auswählen und auf „Gateway registrieren“ klickenTTN fragt Sie nach einer Gateway-ID (einem eindeutigen Namen in Ihrem Konto) und, je nach Gateway-Typ, nach der Gateway-EUI. Bei Dragino LPS8-Gateways, die den klassischen Paketweiterleiter verwenden, müssen Sie die Option „Ich verwende den Legacy-Paketweiterleiter“ auswählen.
Darüber hinaus werden Sie Folgendes angeben: Frequenzplan (EU868 für Europa)Die entsprechende Region oder der Router sowie optional der Standort (Koordinaten, Innen-/Außenbereich usw.) werden angegeben. Bei Gateways wie dem Single-Cell-Gateway mit XIAO ESP32S3 und Wio-SX1262 kann die Firmware die Gateway-ID beim Start über die serielle Schnittstelle anzeigen; kopieren Sie diese einfach und verwenden Sie sie im Registrierungsformular.
Nach dem Ausfüllen dieser Informationen und der Registrierung des Gateways zeigt TTN ein Formular an, in dem Sie Folgendes überprüfen können: Status („Verbunden“ oder „Nicht verbunden“) und einen Bereich namens „Datenverkehr“, in dem Sie den Paketfluss in Echtzeit verfolgen können. Wenn sowohl am Gateway als auch am TTN alles korrekt konfiguriert ist, sollte sich der Status nach ein bis zwei Minuten auf „Verbunden“ ändern und Sie sollten Datenverkehr sehen, sobald Knoten senden.
Das bedeutet, dass Die Infrastruktur (Gateway + Server) ist bereits betriebsbereit.Ab hier kommt die Konfiguration von Anwendungen und Endgeräten ins Spiel.
Anwendungserstellung und Knotenregistrierung in TTN
Bei TTN werden Geräte nicht direkt im Stammverzeichnis des Kontos registriert, sondern innerhalb AnwendungenEine Anwendung gruppiert einen oder mehrere Knoten, die zusammengehörige Daten senden, zum Beispiel alle Umweltsensoren eines Gebäudes oder mehrere GPS-Tracker eines Bildungsprojekts.
In der TTN-Konsole greifen Sie auf den Abschnitt zu. Anwendungen und eine neue Anwendung erstellenSie vergeben eine eindeutige ID, optional eine Beschreibung, und wählen die passende Region aus. Innerhalb dieser Anwendung registrieren Sie jeden LoRaWAN-Knoten mit seinen Zugangsdaten (DevEUI, JoinEUI/AppEUI und AppKey oder andere Schlüssel, abhängig von der Aktivierungsmethode).
Für kommerzielle Sensoren wie z. B. Braune Tabs TBHH100-868 Temperatur- und Feuchtigkeitssensoren sind üblicherweise auf einem Aufkleber mit DevEUI, AppEUI und AppKey angebracht. Sie nutzen typischerweise das OTAA-Verfahren (Over-The-Air Activation), das bei jeder Netzwerkverbindung Schlüsselsitzungen generiert und dadurch sicherer als ABP ist.
Mit OTAA können Sie in TTN ein neues Endgerät registrieren. Sie führen JoinEUI (AppEUI), DevEUI und AppKey ein.Sie überprüfen die Daten und bestätigen sie. Nach dem Speichern erkennt der Knoten, sofern er korrekt konfiguriert ist und sich in Reichweite eines Gateways befindet, die Netzwerk-Beacons, führt den Beitrittsvorgang durch und Sie sehen Uplink-Nachrichten mit ihren Messwerten in der Konsole.
Das Gleiche gilt für Sensoren wie z. B. Decentlab-Niveau und TemperaturDer Hersteller stellt die ID, DevEUI, AppEUI und den AppKey bereit, weiß aber nicht im Voraus, welchen Server Sie verwenden werden. Sie sind dafür verantwortlich, diese Informationen bei TTN (oder einem anderen Server) zu registrieren, damit der Sensor registriert werden kann. Viele Decentlab-Geräte sind auf Anfrage bereits bei TTN registriert, was den Vorgang weiter vereinfacht.
Konfiguration kommerzieller LoRaWAN-Sensoren
Schauen wir uns einige konkrete Beispiele dafür an, wie Kommerzielle LoRaWAN-Sensoren vorbereiten und registrieren der dann über Ihr Gateway mit TTN kommunizieren wird.
Im SenseCAP S210x-Sortiment (z. B. für Umweltsensoren) besteht der typische Arbeitsablauf darin, die SenseCraft-App des HerstellersZuerst laden Sie die Anwendung herunter, schalten den Sensor mit einem Knopf ein (indem Sie ihn einige Sekunden lang gedrückt halten, bis die LED jede Sekunde blinkt) und wählen in der App „Scannen“, um den QR-Code des Geräts zu lesen.
Innerhalb der App gibt es einen Modus, „Erweiterte Konfiguration“, bei der Sie „The Things Network“ als Plattform auswählen.Sie müssen denselben Frequenzplan wie Ihr Gateway auswählen (z. B. EU868) und sicherstellen, dass der Verbindungsmodus OTAA ist. Die Anwendung zeigt die Geräte-EUI, die App-EUI (JoinEUI) und den App-Schlüssel an. Notieren Sie sich diese Daten, da Sie sie bei der Geräteregistrierung in TTN eingeben müssen.
Im Fall von Sensor Tabs Brown TBHH100-868Die Schlüssel sind werkseitig vorkonfiguriert. Der Sensor misst Temperatur und Luftfeuchtigkeit, wird mit einer 3,6-V-Batterie betrieben und sendet Daten nach folgenden Regeln: alle 60 Minuten, wenn keine Änderung vorliegt, oder früher, wenn sich die Temperatur um ±2 °C oder die Luftfeuchtigkeit um ±5 % ändert. Zur Registrierung geben Sie einfach den vom Hersteller bereitgestellten APPKey, die APPEUI und die DevEUI in Ihren LoRaWAN-Server (z. B. TTN) ein. Gelegentlich kann es zu Formatierungs- oder Byte-Reihenfolgeproblemen (MSB/LSB) kommen. Überprüfen Sie dies daher, falls die Verbindung beim ersten Mal nicht hergestellt werden kann.
Die Dragino TrackerD Tracker Sie dienen als GPS-Tracker mit Panikknopf. Jedes Gerät verfügt über einen eigenen Satz LoRaWAN-Schlüssel. Im TTN-Netzwerk werden sie üblicherweise in derselben Anwendung registriert (z. B. „Kursverfolgung“), und das Gerät wird bei Bedarf über die serielle Schnittstelle (USB) mithilfe von AT-Befehlen konfiguriert. Die Dokumentation beschreibt die Befehle zur Anpassung der Übertragungsrate, des Alarmverhaltens usw. Wichtig: Viele Dragino-Firmwares erfordern, dass AT-Befehle vollständig in das Terminal eingefügt und nicht Zeichen für Zeichen eingegeben werden.
In Sensoren wie dem Decentlab für Füllstands-, Druck- oder Umgebungsdaten.Das Prinzip ist ähnlich: DevEUI, AppEUI und AppKey werden verwendet, um eine Verbindung zu TTN (oder einem anderen Netzwerk) herzustellen. Decentlab wählt üblicherweise ein Übertragungsintervall von 10 Minuten, da dies einen bewährten Kompromiss zwischen Datenverbrauch und Auflösung darstellt. Dieses Intervall kann jedoch auf Anfrage oder über die Konfiguration angepasst werden. Nutzer können die Daten auf der Cloud-Plattform des Herstellers einsehen oder das Gerät durch Hinzufügen des entsprechenden Payload-Decoders in Drittanbieterplattformen (MyDevices, ResIoT, WMW usw.) integrieren.
Bauen Sie Ihren eigenen LoRaWAN-Knoten mit Open-Source-Hardware.
Wenn man gerne bastelt, macht es meistens am meisten Spaß... Bauen und programmieren Sie Ihren eigenen LoRaWAN-KnotenEine sehr beliebte Kombination ist die Verwendung eines ESP32-basierten Boards mit integriertem LoRa, wie zum Beispiel dem TTGO LoRa32 V2.0 868 MHz, und das Hinzufügen eines einfachen Sensors, zum Beispiel eines DS18B20-Temperatursensors.
Dieser Ansatz erfordert vier Komponenten: die Steuerplatine (ESP32, Arduino usw.), das LoRa-Funkmodul (z. B. ein RFM95 vom Typ SX1276/78), der Sensor, den Sie messen möchten und optional Peripheriegeräte wie ein OLED-Bildschirm zur lokalen Anzeige von Daten.
Das TTGO LoRa32 V2.0 verfügt über einen integrierten LoRa-Transceiver und, je nach Version, ein kleines OLED-Display. Es basiert auf dem ESP32 und bietet WLAN und Bluetooth. In vielen Fällen eignet es sich auch hervorragend zum Aufbau eines einkanaligen Mini-Gateways mit Internetverbindung. Allerdings… Einige Signale des LoRa-Moduls (DIO1, DIO2) sind nicht mit dem Mikrocontroller verbunden. Und Sie müssen sie selbst verkabeln.
Beispielsweise wird beim TTGO LoRa32 V2.0 häufig die folgende Pinbelegung für LoRa verwendet: SCK an GPIO5, MISO an GPIO19, MOSI an GPIO27, CS an GPIO18, RESET an GPIO14 und DIO0 an GPIO26Bei DIO1 und DIO2 handelt es sich in der Regel um physische Verbindungen mit GPIO33 bzw. GPIO32, die sich in der gegenüberliegenden Reihe direkt gegenüberliegen, wodurch das Setzen einer direkten Jumperbrücke sehr einfach ist.
Es gibt drei typische Methoden, diese Verbindungen herzustellen: Löten Sie die Drähte direkt an die Pins (für die Endmontage); verwenden Sie Jumperkabel, wenn die Platine auf einem Steckbrett montiert ist. Alternativ können die Verbindungen auf einer kundenspezifischen Leiterplatte hergestellt werden, auf die der TTGO gesteckt wird. Die Jumper-Lösung ist für Testzwecke in der Regel am praktischsten.
Node-Software: LMIC-Bibliothek, Frequenz- und TTN-Schlüssel
Zur Programmierung eines LoRaWAN-Knotens auf Arduino/ESP32 wird häufig Folgendes verwendet: MCCI LoRaWAN LMIC Buchhandlung, das den LoRaWAN-Stack implementiert und alles verwaltet, was mit Kanälen, Joins, Wiederholungsversuchen, Empfangsfenstern usw. zusammenhängt.
Zuerst installieren Sie die Bibliothek von der Arduino IDE Bibliotheksmanager Suchen Sie nach „LMIC“ und wählen Sie „MCCI LoRaWAN LMIC-Bibliothek“ aus. Nach der Installation ist ein wichtiger Punkt zu beachten: Standardmäßig ist die Bibliothek für US915 (Vereinigte Staaten) konfiguriert. Wenn Sie sich in Europa befinden, müssen Sie dies auf EU868 ändern.
Dazu suchen Sie die Datei lmic_project_config.h im Bibliotheksordner (etwa im Verzeichnis /Arduino/libraries/MCCI_LoRaWAN_LMIC_library/project_config/) bearbeiten Sie die Definitionen. Kommentieren Sie CFG_us915 aus und aktivieren Sie CFG_eu868. Aktivieren Sie außerdem den korrekten Funktyp (z. B. CFG_sx1276_radio für SX1276/78-Module). Diese Änderung ist einmalig und gilt für alle Ihre LMIC-Projekte.
Dann öffnen Sie eines der enthaltenen Beispiele, zum Beispiel ttn-abpDabei wird regelmäßig ein „Hallo Welt!“ als Nutzlast gesendet. Dieses Beispiel dient als Grundlage für die Anpassung an Ihr Board und Ihre TTN-Zugangsdaten.
Im Code sehen Sie eine Struktur lmic_pinmap, in dem die NSS (CS)-, RST- und DIO-Pins angegeben werden.Standardmäßig ist die Konfiguration für Feather M0 LoRa vorgesehen. Wenn Sie also ein TTGO LoRa32 V2.0 verwenden, müssen Sie die Struktur entsprechend anpassen und .nss = 18, .rst = 14 und .dio = {26, 33, 32} verwenden (vorausgesetzt, Sie haben DIO1 mit GPIO33 und DIO2 mit GPIO32 verbunden). Bei abweichender Hardware konsultieren Sie bitte die zugehörige Dokumentation oder suchen Sie nach einem konkreten Beispiel.
Sobald die Pinbelegung stimmt, spielen Sie Konfigurieren Sie die Schlüssel, die Ihren Knoten in TTN identifizieren.Im Beispiel ttn-abp erscheinen die Variablen NWKSKEY, APPSKEY und DEVADDR mit dem Wort FILLMEIN, damit Sie sie mit Ihren Werten füllen können.
Diese Informationen erhalten Sie über die TTN-Konsole, wenn Sie ein Gerät mit ABP-Aktivierung erstellen. TTN bietet Ihnen Folgendes an: Netzwerksitzungsschlüssel (NWKSKEY), App-Sitzungsschlüssel (APPSKEY) und Geräteadresse (DEVADDR)In der Benutzeroberfläche sind die Schlüssel aus Sicherheitsgründen ausgeblendet. Sie können sie jedoch einblenden und – besonders praktisch – den Wert direkt im C-Array-Format (über die Schaltfläche „<>“) mit der korrekten Byte-Reihenfolge (MSB) kopieren. Ein Klick auf das Kopiersymbol kopiert das Array in die Zwischenablage, wo Sie es anschließend an der jeweiligen Stelle in Ihren Code einfügen können.
Für NWKSKEY und APPSKEY verwenden Sie die Byte-Array-Format, das TTN bereitstelltFür DEVADDR legen Sie den Hexadezimalwert als einzelne Ganzzahl vom Typ u4_t fest, beispielsweise `static const u4_t DEVADDR = 0x26011111;`. Dadurch kann sich Ihr Knoten authentifizieren und seine Pakete an Ihre TTN-Anwendung weiterleiten.
Sensoren in den Knotencode integrieren
Sobald das LoRaWAN-Grundgerüst funktioniert, ist es Zeit für... Ersetzen Sie das typische „Hallo Welt!“ durch echte Sensordaten.Um beim Beispiel des TTGO LoRa32 und eines DS18B20 zu bleiben: Man verwendet den OneWire-Bus und die DallasTemperature-Bibliothek.
Am Anfang der Skizze fügen Sie die Header ein und definieren den Bus-Pin: #enthalten , #enthalten und #define ONE_WIRE_BUS XDabei ist X der GPIO-Pin, an den der Sensor angeschlossen ist. Sie erstellen das OneWire-Objekt `oneWire(ONE_WIRE_BUS)` und das Objekt `DallasTemperature sensor(&oneWire)`. Falls die DS18B20-Bibliothek nicht installiert ist, fügen Sie sie über den Bibliotheksverwalter hinzu.
In der setup()-Funktion initialisieren Sie den Sensor mit sensor.begin() und, falls gewünscht, können Sie die Auflösung festlegen (zum Beispiel sensor.setResolution(11)).Ab diesem Zeitpunkt ist der Sensor bereit, die Temperatur bei Bedarf zu messen.
Die Schlüsselfunktion in LMIC zum Senden von Daten ist `do_send(osjob_t* j)`. Darin wird geprüft, ob eine Übertragung läuft (`OP_TXRXPEND`). Falls nicht, rufen Sie `sensor.requestTemperatures()` auf, ermitteln den Wert mit `sensor.getTempCByIndex(0)` und speichern ihn im Array `mydata`. Beispielsweise können Sie mit `mydata[0] = (uint8_t)sensor.getTempCByIndex(0);` nur den ganzzahligen Anteil senden.
Dann rufen Sie an LMIC_setTxData2(1, mydata, sizeof(mydata), 0)Der erste Parameter ist der LoRaWAN-Port (in diesem Fall 1), der zweite der Puffer, der dritte die Größe und der letzte gibt an, ob die Nachricht bestätigt (1) oder nicht bestätigt (0) wurde. Die Bibliothek plant die Übertragung im nächsten verfügbaren Zeitschlitz.
Es gibt viele mögliche Verbesserungen: Erweitere die Nutzdaten um einen Dezimalteil, füge weitere Sensoren hinzu und verpacke die Daten in einem effizienten Binärformat.etc. Aber selbst in dieser einfachen Version haben Sie bereits einen Knoten, der regelmäßig echte Messwerte an TTN sendet, die auf der Konsole sichtbar sind und zur Integration in andere Systeme bereit sind.
OTAA-Aktivierung, Sicherheit und praktische Erfahrung
Bisher haben wir hauptsächlich über ABP anhand von Codebeispielen gesprochen, aber in der Produktion Die Verwendung von OTAA (Over-The-Air-Aktivierung) wird dringend empfohlen.OTAA ist die Methode, die beispielsweise von Decentlab-Sensoren und vielen SenseCAP-Sensoren verwendet wird, da sie die Sicherheit erhöht.
Mit OTAA, der LoRaWAN-Sitzung Es verhandelt jedes Mal „über Funk“, wenn sich das Gerät mit dem Netzwerk verbindet.Wenn der Knoten herunterfährt, neu startet oder die Verbindung verliert, werden beim nächsten Verbindungsaufbau neue Sitzungsschlüssel generiert, was es jemandem erschwert, das Gerät einfach durch Kopieren statischer Schlüssel zu klonen.
Wenn Sie in der TTN-Konsole OTAA für ein Gerät auswählen, werden anstelle der statischen Werte für NWKSKEY und APPSKEY die folgenden Parameter verwendet: DevEUI, JoinEUI/AppEUI und AppKeyDie Sitzungsschlüssel werden jedes Mal aus diesen Werten und dem Austausch mit dem Server neu erstellt, und Sie sehen nur die abgeleiteten Schlüssel für die Dauer der Sitzung.
In der Praxis haben Benutzer, die mit LoRaWAN von Grund auf beginnen, festgestellt, dass Mit einem bei TTN registrierten Gateway und einem korrekt konfigurierten OTAA-Sensor kann der Registrierungsprozess sehr einfach sein.: Erstellen Sie ein Konto bei TTN, aktivieren Sie das Gateway, registrieren Sie den Sensor mit den vom Hersteller bereitgestellten Schlüsseln und sehen Sie sich in wenigen Minuten die Daten auf einer Webplattform an (entweder auf der Plattform von Decentlab, SenseCAP oder auf Dashboards von Drittanbietern).
Faktoren wie Standort des LoRa-Sensorgehäuses (am besten vertikal, da dies das Abstrahlmuster der internen Antenne begünstigt)Die Funkumgebung und die Höhe des Gateways haben einen großen Einfluss auf die tatsächliche Reichweite, aber der Konfigurationsablauf ist, sobald man ihn verstanden hat, recht mechanisch.
Von TTN zu Ihren Anwendungen: Integrationen und Visualisierung
Nachdem die Knoten nun Daten an TTN hochladen, ist der nächste Schritt Integrieren Sie diese Informationen in Ihre eigenen Anwendungen, Dashboards oder Automatisierungs-Workflows.TTN bietet hierfür Integrationen und eine sehr leistungsstarke API.
Ein sehr weit verbreiteter Ansatz ist die Verwendung von Node-RED, um Daten von TTN zu empfangen und sie nach Ihren Wünschen zu verarbeitenSie konfigurieren eine MQTT- oder HTTP-Verbindung mit Ihren TTN-Anwendungsdaten, dekodieren die Nutzdaten (entsprechend dem Format Ihrer Sensoren) und können dann praktisch alles tun: Daten in Datenbanken speichern, Diagramme anzeigen, Alarme auslösen usw.
Eine weitere Option ist die Verwendung Drittanbieterplattformen, die bereits in TTN integriert sindBeispiele hierfür sind Datacake, MyDevices, ResIoT, WMW und andere. Viele dieser Anbieter verfügen bereits über spezifische Vorlagen für Geräte wie Decentlab-Sensoren oder bestimmte Dragino-Modelle. Sie müssen lediglich den Gerätetyp auswählen, ihn mit Ihrer TTN-Anwendung verknüpfen und können die Daten anschließend auf benutzerfreundlichen Dashboards anzeigen lassen.
In Bildungsprojekten wurde TTN beispielsweise in Verbindung mit RAK7289 Gateways und Dragino TrackerD Tracker Zur Ortung von Personen oder Fahrzeugen. Der Workflow ist wie folgt: Gateway registriert, Tracker im TTN registriert, Daten auf der Konsole angezeigt und anschließend in Echtzeit auf einem öffentlichen Datacake-Dashboard mit Karten und Diagrammen zu Position, Akkustand usw. dargestellt.
Das Wichtigste ist zu verstehen, dass TTN fungiert als LoRaWAN-Netzwerkschicht und Datenrouter.Sie bestimmen die Anwendungs- und Visualisierungsschicht: von einem Python-Skript, das die API nutzt, bis hin zu einer industriellen IoT-Datenplattform.
Kurz gesagt, die Anbindung eines LoRaWAN-Knotens an TTN umfasst mehrere Schritte (korrekte Frequenz, korrekt konfiguriertes Gateway, TTN-Registrierung, Knotenschlüssel, OTAA- oder ABP-Aktivierung, Gerätesoftware und gegebenenfalls weitere Integrationen). Jeder einzelne Schritt ist jedoch auch ohne Vorkenntnisse machbar, sofern die richtigen Richtlinien befolgt werden. Nach der Ersteinrichtung ist die Bereitstellung weiterer Knoten oder Gateways ein hochgradig wiederholbarer und skalierbarer Prozess – ideal für groß angelegte Sensorprojekte, Smart-City-Initiativen oder einfach zum Lernen und Experimentieren mit IoT-Netzen mit großer Reichweite.
Inhaltsverzeichnis
- Was sind LoRa und LoRaWAN, und warum verwendet man TTN?
- LoRaWAN-Frequenzen, Kanäle und Einschränkungen
- Vorbereitungen und Auswahl der Hardware für Gateway und Knoten
- Konfigurieren Sie ein LoRaWAN-Gateway und verbinden Sie es mit TTN.
- Gateway-Registrierung im The Things Network
- Anwendungserstellung und Knotenregistrierung in TTN
- Konfiguration kommerzieller LoRaWAN-Sensoren
- Bauen Sie Ihren eigenen LoRaWAN-Knoten mit Open-Source-Hardware.
- Node-Software: LMIC-Bibliothek, Frequenz- und TTN-Schlüssel
- Sensoren in den Knotencode integrieren
- OTAA-Aktivierung, Sicherheit und praktische Erfahrung
- Von TTN zu Ihren Anwendungen: Integrationen und Visualisierung