Zu Content springen
Deutsch
  • Es gibt keine Vorschläge, da das Suchfeld leer ist.

Generische Payloadbeschreibung

Sie suchen eine Generische Payloadbeschreibung?

📄 Sie können das PDF oben ansehen oder hier herunterladen .

1. Versionshistorie

Version Datum Änderung
1.0.0 06.01.2023 Erstellt
1.0.1 13.04.2026 Struktur vereinheitlicht
Inhalt aktualisiert

2. Was ist eine Payload Beschreibung?

Eine Payload-Beschreibung bei LoRaWAN ist eine dokumentierte Spezifikation, die beschreibt, wie die Nutzdaten (Payload) eines LoRaWAN-Geräts strukturiert sind. Sie gibt an, welche Informationen in den Datenpaketen enthalten sind, wie diese kodiert sind und wie sie dekodiert werden können.

2.1 Inhalt einer Payload-Beschreibung

Feldstruktur:
Die Payload-Beschreibung gibt an, wie die Datenfelder innerhalb des Payloads organisiert sind.
Jedes Feld repräsentiert eine spezifische Information, z. B. Temperatur, Luftfeuchtigkeit, GPS-Koordinaten oder Batteriepegel.

Beispiel:
Byte 0-1: Temperatur (in 1/100 °C, Big-Endian)
Byte 2: Luftfeuchtigkeit (in %, Ganzzahl)
Byte 3: Batteriepegel (in 0,1 V)

Kodierung der Daten:
Informationen werden oft binär oder hexadezimal gespeichert, um Platz zu sparen.
Es wird beschrieben, ob die Daten Big-Endian oder Little-Endian sind (Reihenfolge der Bytes).
Die Einheiten der Werte werden spezifiziert (z. B. °C, %, Volt).

Datenformat:
Gibt an, ob die Daten als Integer, Float, String oder ein anderer Typ kodiert sind.
Manche Geräte verwenden skalierte Werte, die durch Multiplikation oder Division angepasst werden müssen (z. B. Batteriepegel in 0,1 V statt direkt in Volt).

Optionale Felder:
Manche Payloads enthalten optionale Felder, die nur unter bestimmten Bedingungen gesendet werden. Die Beschreibung legt fest, wann und wie diese Felder auftreten.

Beispieldaten:
Eine Payload-Beschreibung enthält oft Beispiele für ein kodiertes Datenpaket sowie die entsprechenden dekodierten Werte.

Beispiel für ein binäres Payload:

Hexadecimal: 0x07D0123A
Beschreibung:
- Byte 0-1 (0x07D0): Temperatur = 2000 / 100 = 20.00 °C
- Byte 2 (0x12): Luftfeuchtigkeit = 18 %
- Byte 3 (0x3A): Batteriepegel = 58 / 10 = 5.8 V

2.2 Warum ist eine Payload-Beschreibung wichtig?

Decoder-Erstellung: Entwickler nutzen die Beschreibung, um Payload-Decoder zu schreiben, die die rohen Daten automatisch interpretieren.
Interoperabilität: Wenn mehrere Systeme oder Plattformen mit dem gleichen Gerät kommunizieren, hilft die Payload-Beschreibung sicherzustellen, dass die Daten korrekt interpretiert werden.
Fehlerbehebung: Die Beschreibung ist essenziell, um Probleme zu diagnostizieren, wenn die Daten nicht wie erwartet aussehen.

2.3 Typische Dokumentation

Die Payload-Beschreibung wird meist vom Hersteller des LoRaWAN-Geräts bereitgestellt. Sie kann in einem Benutzerhandbuch, einer technischen Spezifikation oder als separates Dokument enthalten sein.

Ein Beispiel für eine Dokumentation:
Device: LoRa Sensor XY123
Payload Structure:
  Byte 0-1: Temperature (°C * 100)
  Byte 2: Humidity (%)
  Byte 3: Battery level (V * 10)

3. Payload Beschreibung Sentinum

In diesem Kapitel wird die Struktur der Telemetriedaten beschrieben. Die Anzahl der Bytes in der Payload hängt von der Konfiguration des Sensors ab. Der Aufbau der Daten hängt davon ab, welche Sensoren in Ihrem Produkt vorhanden sind.

Im Prinzip hat jede Version einen Header. Dieser hat Informationen über die Version und den Status des Sensors und enthält außerdem einen Master-Messwert. Dieser Messwert kann einfach als der aktuelle Messwert angenommen werden.

Nach dem Header folgt ein zusätzlicher Payload-Teil, der weitere Informationen enthält, wie z. B. spezielle Parameter für das Messprinzip oder Einstellungen zur Positions- und Öffnungserkennung. Nicht jeder Sensor hat einen zusätzlichen Payload-Teil.

3.1 Payload Beispiel

Gegeben ist das folgende Payload Beispiel für den Helios Drucksensor:

11 11 FE 1A D5 95 06 03 00 23 BE
Bytes 1234567891011
HEX 1111FE1AD59506030023BE
Beschreibung Modulschlüssel Modulschlüssel Uplink Counter Battery Voltage Battery Voltage Temperatur Alarm Flag Alarm Flag Mess Status Druck mbar Druck mbar

Der Modulschlüssel wird für den Downlink benötigt.

Begriffe Beschreibung
Byte No. Byte Nummer beginnend bei 1
Alias Verständlicher Name der Variablen
Beschreibung Beschreibung der Variablen
Bezeichnung Bezeichnung im Dataconverter

3.2 Struktur des Modulschlüssels

Byte 1 Byte 2
Bit 7 – 4 Bit 3 – 0 Bit 7 – 4 Bit 3 – 0
Base ID Modul e.g. Sentiface, Senticom, Sentivisor Major Version (SW/HW Version) Minor Version (SW/HW Version) Produkt Version (Sensoren) (Sensoren, z.b. TH, THL, ACC, …)

Der Modulschlüssel des SENTIFACE-Moduls kann aus den ersten 2 Bytes jedes Uplinks entnommen werden.

3.3 Uplink Beispiel

Uplink Beispiel – Generische Payload Beschreibung
Abbildung 1: Uplink Beispiel (Generische Payload Beschreibung)

4. Ports

Ports Kanal Beschreibung
0UplinkJoin
1UplinkTelemetrie Uplink
2UplinkInformation Uplink
3UplinkAntwort auf einen Downlink
4DownlinkPort für Downlinks zum Festlegen von Einstellungen
5DownlinkAlle Befehle mit „EXEC" gekennzeichnet, z.B. alle Befehle des Supervisor Moduls, Reboot, Reset, Start Scan etc.
6DownlinkDownlink Kommando für das Auslesen von Konfigurationen
192UplinkGNSS Scan Daten
197UplinkWIFI SSID Scan Daten

5. Was ist ein Payload Decoder

Ein LoRaWAN Payload Decoder ist ein Stück Software oder Code, das verwendet wird, um die rohen Daten, die von einem LoRaWAN-Gerät übermittelt werden, in eine verständliche und nützliche Form zu entschlüsseln und zu interpretieren.

Hintergrund:
LoRaWAN-Geräte senden in der Regel Daten in komprimierter und binärer Form, um Bandbreite und Energie zu sparen.
Die gesendeten "Payloads" sind oft kryptisch und enthalten Rohdaten, die dekodiert werden müssen, um die tatsächlichen Messwerte (z. B. Temperatur, Luftfeuchtigkeit, GPS-Koordinaten) zu extrahieren.

Funktionsweise eines Payload Decoders:

Eingangsdaten: Ein Gateway empfängt die LoRaWAN-Datenpakete und leitet sie an einen Netzwerkserver weiter (z. B. The Things Network - TTN).
Decoder-Logik: Der Payload Decoder wird verwendet, um die Daten entsprechend der Struktur des spezifischen Geräts oder Sensors zu interpretieren (Entpacken, Skalierung, Umrechnung).
Ausgabedaten: Der Decoder liefert die dekodierten Daten in einem lesbaren Format, z. B. als JSON-Objekt.

Beispiel (decoded JSON):

{
  "temperature": 22.5,
  "humidity": 60,
  "battery": 3.7
}

Beispiel eines Payload Decoders (JavaScript für TTN):

function decodeUplink(input) {
  const bytes = input.bytes;
  return {
    data: {
      temperature: ((bytes[0] << 8) | bytes[1]) / 100,
      humidity: bytes[2],
      battery: bytes[3] / 10
    }
  };
}

6. Welche Payload Decoder stellt Sentinum bereit

Sentinum stellt die Payload Decoder für LoRaWAN in .js für TTN und für ChirpStack bereit.