

LoRa Payload erklärt – Aufbau, Codierung und praktische Beispiele
Möchte man Messdaten über ein LoRaWAN-Netzwerk übertragen, erfolgt dies über die sogenannte Payload. Sie bildet den eigentlichen Inhalt eines Datenpakets und enthält die Nutzdaten, die zwischen Sensor und LoRaWAN-Server ausgetauscht werden.
Da LoRa speziell für energieeffiziente Kommunikation ausgelegt ist, spielt die optimale Gestaltung der Payload eine zentrale Rolle. Ziel ist es, möglichst viele Informationen mit möglichst wenigen Daten zu übertragen.
- Was ist eine LoRa Payload?
- Grundlagen: Byte, Bit und Zahlenbereiche
- Beispiel: Integer-Wert in der LoRa Payload
- Größere Werte – Aufteilung in mehrere Bytes
- Warum ist die Payload-Größe so wichtig?
- Übertragung von Zeichen (Strings)
- Aufbau einer typischen LoRa Payload
- LoRa Payload bei EMU Energiezählern
- Typische Fehler bei der Payload-Interpretation
- Fazit
- FAQ
Was ist eine LoRa Payload?
Die Payload beschreibt die Nutzdaten eines LoRa-Datenpakets. Sie enthält die Messwerte, die ein Sensor erfasst und an den LoRaWAN-Server übermittelt.
Dabei gilt: Die Datenmenge muss so klein wie möglich gehalten werden. Für den EMU Professional II LoRa Drehstromzähler ist ein Editor zur Konfiguration verfügbar
Die Übertragung erfolgt in der Regel im HEX-Format, da dieses besonders kompakt und effizient ist.
Grundlagen: Byte, Bit und Zahlenbereiche
Die kleinste Übertragungseinheit ist ein Byte, das aus 8 Bit besteht.
Ein Bit kann zwei Zustände annehmen:
- 0
- 1
Daraus ergeben sich:
2⁸ = 256 mögliche Werte (0–255)
Ein einzelnes Byte kann somit genau diese Werte darstellen.
Beispiel: Integer-Wert in der LoRa Payload
Ein einfacher Zahlenwert wie 155 wird vor der Übertragung umgewandelt.
| Darstellung | Wert |
|---|---|
| Dezimal (DEC) | 155 |
| Hexadezimal (HEX) | 9B |
| Binär (BIN) | 10011011 |
In der Payload wird der Wert 9B übertragen.
Der LoRaWAN-Server decodiert diesen Wert wieder und erhält daraus den ursprünglichen Dezimalwert 155.
Größere Werte – Aufteilung in mehrere Bytes
Für größere Zahlen reicht ein einzelnes Byte nicht aus. In diesem Fall wird der Wert auf mehrere Bytes aufgeteilt.
Ein Beispiel ist der Long-Wert:
1234567890
Dieser benötigt:
- 4 Byte = 32 Bit
Umwandlung in Binär
1234567890 entspricht:
10010011 00101100 00000101 01010010
Aufteilung in einzelne Bytes
| Payload Index | DEC | HEX | BIN |
|---|---|---|---|
| payload[0] | 147 | 93 | 10010011 |
| payload[1] | 44 | 2C | 00101100 |
| payload[2] | 5 | 05 | 00000101 |
| payload[3] | 82 | 52 | 01010010 |
Die Payload lautet:
93 2C 05 52
Der LoRaWAN-Server setzt diese Bytes wieder zusammen und erhält den ursprünglichen Wert 1234567890.
Warum ist die Payload-Größe so wichtig?
LoRaWAN unterliegt regulatorischen Einschränkungen, insbesondere dem sogenannten Duty Cycle. Dadurch sind Sendezeit und Datenmenge begrenzt.
Daraus ergibt sich:
Je kleiner die Payload, desto effizienter das System.
Einige Netzwerke beschränken zusätzlich die maximale Paketgröße, was eine kompakte Datenstruktur noch wichtiger macht.
Übertragung von Zeichen (Strings)
Neben numerischen Werten können auch Zeichen übertragen werden, beispielsweise für Einheiten oder Gerätekennungen.
Dabei wird jeder Buchstabe in seinen ASCII-Wert umgewandelt.
Beispiel: „EMU“
| Zeichen | DEC | HEX | BIN |
|---|---|---|---|
| E | 69 | 45 | 01000101 |
| M | 77 | 4D | 01001101 |
| U | 85 | 55 | 01010101 |
Die Payload lautet:
45 4D 55
Der LoRaWAN-Server wandelt diese HEX-Werte wieder in die Zeichenkette „EMU“ zurück.
Aufbau einer typischen LoRa Payload
In der Praxis besteht eine Payload oft aus mehreren hintereinander angeordneten Werten. Beispielsweise:
- Byte 0–1: Energieverbrauch
- Byte 2–3: Spannung
- Byte 4: Status
- Byte 5–7: Zusatzdaten
Die genaue Struktur wird durch den Encoder im Gerät und den Decoder im Server definiert.
LoRa Payload bei EMU Energiezählern
Bei LoRa-fähigen Energiezählern von EMU Metering wird besonderer Wert auf eine kompakte und effiziente Payload gelegt.
Dabei werden:
- Messwerte optimal codiert
- Datenpakete möglichst klein gehalten
- wichtige Werte priorisiert übertragen
Zusätzlich können bei Bedarf weitere Messwerte gezielt abgefragt werden, ohne die Standardübertragung unnötig zu vergrößern.
Typische Fehler bei der Payload-Interpretation
In der Praxis treten häufig Fehler bei der Dekodierung auf:
- falsche Byte-Reihenfolge (Endianness)
- falsche Datentypen (Integer vs. Float)
- fehlende Skalierung der Werte
- fehlerhafte Decoder-Skripte
Eine saubere Dokumentation der Payload-Struktur ist daher entscheidend.
Fazit
Die LoRa Payload ist das zentrale Element der Datenübertragung im LoRaWAN. Durch die kompakte Codierung im HEX-Format können auch bei begrenzter Sendezeit zuverlässig Messdaten übertragen werden.
Die richtige Strukturierung und Interpretation der Payload ist dabei entscheidend für eine fehlerfreie und effiziente Datenkommunikation.
FAQ
Was ist eine LoRa Payload?
Die Payload ist der Nutzdatenbereich eines LoRa-Datenpakets und enthält die übertragenen Messwerte.
Warum wird HEX verwendet?
HEX ist kompakt und effizient und eignet sich daher ideal für die begrenzte Datenübertragung im LoRaWAN.
Wie werden große Zahlen übertragen?
Große Werte werden auf mehrere Bytes aufgeteilt und als Array übertragen.
Wie werden Texte übertragen?
Texte werden über ASCII-Werte codiert und als HEX-Werte übertragen.