Generische Payloadbeschreibung
Sie suchen eine Generische Payloadbeschreibung?
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 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| HEX | 11 | 11 | FE | 1A | D5 | 95 | 06 | 03 | 00 | 23 | BE |
| 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
4. Ports
| Ports | Kanal | Beschreibung |
|---|---|---|
| 0 | Uplink | Join |
| 1 | Uplink | Telemetrie Uplink |
| 2 | Uplink | Information Uplink |
| 3 | Uplink | Antwort auf einen Downlink |
| 4 | Downlink | Port für Downlinks zum Festlegen von Einstellungen |
| 5 | Downlink | Alle Befehle mit „EXEC" gekennzeichnet, z.B. alle Befehle des Supervisor Moduls, Reboot, Reset, Start Scan etc. |
| 6 | Downlink | Downlink Kommando für das Auslesen von Konfigurationen |
| 192 | Uplink | GNSS Scan Daten |
| 197 | Uplink | WIFI 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.
© Sentinum GmbH – Alle Rechte vorbehalten.
Alle Inhalte dieses Dokuments, einschließlich Text, Tabellen und Bildern, sind urheberrechtlich geschützt und Eigentum der Sentinum GmbH.
Alle Bilder unterliegen dem Urheberrecht der Sentinum GmbH, sofern nicht anders angegeben.
Vervielfältigung, Verbreitung oder Nutzung — auch auszugsweise — ist ohne ausdrückliche schriftliche Genehmigung nicht gestattet.
Änderungen der Spezifikationen vorbehalten. Alle Angaben erfolgen ohne Gewähr.