Neu: Die KI-Firewall überwacht jedes Modul und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

So funktioniert LoRaWAN in Hermetry

Der Weg eines LoRaWAN-Frames vom Sensor über Gateways, den Network Server und einen Codec zur Telemetrie Ihres Geräts.

Diese Seite erklärt, was zwischen dem Senden eines LoRaWAN-Frames durch einen Sensor und dem Erscheinen eines Messwerts auf seinem Gerät in Hermetry passiert. Lesen Sie sie einmal durch, bevor Sie Gateways und Geräte hinzufügen; die meiste Fehlersuche beginnt bei diesem Bild.

Die Bestandteile

BestandteilWas er macht
Endgerät (Sensor)Sendet kurze Funkframes (Uplinks) und hört kurz auf Antworten (Downlinks).
GatewayEmpfängt jeden LoRaWAN-Frame in Reichweite und leitet ihn über das Internet an den Network Server weiter. Es sendet auch Downlinks. Ein Gateway weiß nicht, welche Geräte Ihnen gehören.
Network ServerHermetrys eingebauter Server. Er prüft jeden Frame, führt Kopien zusammen, die mehrere Gateways empfangen haben, behält Session und Zähler des Geräts, betreibt die MAC-Schicht (ADR und andere Funkeinstellungen) und plant Downlinks.
Join ServerTeil des Network Servers. Er beantwortet Join-Anfragen von OTAA-Geräten und erzeugt deren Session-Schlüssel.
CodecWandelt die Bytes eines Frames in benannte Werte um, zum Beispiel temperature und humidity.
FlowsDie Nachrichten Ihrer Geräte laufen durch den Root-Flow, der die Werte speichert und Alarmregeln ausführt.

Gateways und Endgeräte sind beide Geräte in Hermetry. Ein Gateway liegt auf dem eingebauten Profil LoRaWAN gateway; ein Endgerät, das Sie von Hand hinzufügen, liegt auf dem eingebauten Profil LoRaWAN EU868 Class A OTAA (1.0.3). Beide werden beim ersten Bedarf angelegt.

Vom Sensor zum Messwert

  1. Der Sensor sendet einen Uplink. Jedes Gateway in Reichweite empfängt ihn.
  2. Jedes Gateway leitet seine Kopie mit der gemessenen Signalstärke (RSSI) und Qualität (SNR) an die Netzwerkserver-Adresse Ihrer Organisation weiter.
  3. Der Network Server sammelt die Kopien desselben Frames über ein kurzes Zeitfenster (standardmäßig 200 ms) und führt sie zu einem Uplink zusammen. Kopien werden nur innerhalb einer Organisation zusammengeführt: Ein Frame, den das Gateway eines anderen Kunden empfängt, wird nie mit Ihrem vermischt.
  4. Er prüft den Frame: Die Geräteadresse (DevAddr) muss zur Session eines Ihrer Geräte gehören, die Integritätsprüfung (MIC) muss mit dem Schlüssel dieser Session bestehen, und der Frame-Zähler muss vorwärts laufen. Ein fehlerhafter Frame wird verworfen und mit seinem Grund im Frames-Log angezeigt.
  5. Er verarbeitet die MAC-Befehle, die das Gerät gesendet hat, und entscheidet, ob eine Antwort nötig ist (eine Bestätigung, eine MAC-Anfrage oder ein eingereihter Downlink).
  6. Er dekodiert die Application Payload mit dem Codec des Geräts. Ohne Codec oder wenn die Dekodierung fehlschlägt, wird die Rohnutzlast als Hex unter dem Schlüssel raw weitergegeben.
  7. Er schreibt eine Gerätenachricht für den Uplink. Ist die Profileinstellung Add the radio values (lora.rssi, lora.snr, …) to every message aktiviert, enthält die Nachricht außerdem lora.rssi, lora.snr, lora.gw_count, lora.dr, lora.freq und lora.fcnt_up.
  8. Die Nachricht läuft wie jede Gerätenachricht durch Ihren Root-Flow. Der Root-Flow speichert die Werte.

Ein Uplink ergibt eine Gerätenachricht, egal wie viele Gateways ihn empfangen haben. Frames auf FPort 0 (nur MAC-Befehle) schreiben keine Gerätenachricht.

Deduplizierung

Mehrere Gateways empfangen denselben Uplink oft gleichzeitig. Der Network Server ordnet jede Kopie anhand Ihrer Organisation und der exakten Frame-Bytes zu. Die erste Kopie eröffnet eine Gruppe; Kopien, die innerhalb des Zeitfensters eintreffen, schließen sich ihr an; wenn das Fenster schließt, wird der Uplink genau einmal verarbeitet, mit der Liste aller Gateways, die ihn empfangen haben. Eine Kopie, die nach Ablauf des Fensters eintrifft, wird als verspätet gezählt und ignoriert.

Das beste Gateway (höchster SNR, dann RSSI) liefert die Funkwerte in der Nachricht und ist die erste Wahl für eine Antwort.

Joins

Ein OTAA-Gerät muss sich anmelden (joinen), bevor es Daten senden kann. Seine Join-Anfrage läuft über dieselben Gateways und dieselbe Deduplizierung. Der Join Server prüft DevEUI, JoinEUI, AppKey und DevNonce des Geräts, erstellt eine Session und sendet die Join-Accept-Nachricht über das beste Gateway zurück, das das Gerät noch rechtzeitig erreichen kann. Siehe Wie ein Gerät beitritt.

Ein ABP-Gerät meldet sich nicht an. Seine Session (Adresse und Schlüssel) wird beim Hinzufügen eingegeben.

Ein Class-A-Gerät hört nur in zwei kurzen Fenstern nach jedem Uplink (RX1 und RX2). Der Network Server wählt Gateway und Fenster, die es noch erreichen können, unter Berücksichtigung der Laufzeit des Gateways und seines Duty-Cycle-Budgets. Ein Class-C-Gerät hört ständig, daher gehen seine eingereihten Downlinks sofort raus. Siehe Geräteklassen und Downlinks senden.

Trennung zwischen Organisationen

Jede DevEUI und jede Gateway-EUI kann auf der gesamten Plattform nur einmal registriert werden. Wenn Sie eine registrieren wollen, die eine andere Organisation hält, sagt Hermetry, dass sie vergeben ist, und nennt nie, wer sie hält. Frames von Geräten einer anderen Organisation, die Ihre Gateways empfangen, werden als „A device of another network“ verworfen, und Ihnen wird nichts über dieses Gerät angezeigt.

Was nicht gespeichert wird

Der Network Server behält nur ein kurzes Frames-Log (den letzten Tag, höchstens 1.000 Frames pro Organisation) und den letzten Empfang jedes Geräts. Der Empfangsverlauf wird nur gespeichert, wenn Ihr Flow die lora.*-Schlüssel zusammen mit den anderen Werten speichert, was der Standard-Root-Flow tut, wenn das Profil sie zur Nachricht hinzufügt.