Blog/LoRa

LoRa9. Juni 20265 Minuten

LoRa-Payload decodieren: TTN-Template, Decoder und Testwerkzeuge

Die Funkstrecke steht, das Gateway empfängt, der Netzserver zeigt Pakete an – und niemand kann sagen, wie viele Kilowattstunden darin stecken. Dieser Punkt ist der häufigste Stolperstein in LoRa-Projekten, und er hat nichts mit Funk zu tun.

Das Wichtigste in Kürze

  • Der Payload ist kompakt gepackt, nicht lesbar – ein Decoder ist zwingend.
  • Im TTN steht der EMU Professional II LoRa als Template bereit, inklusive Decoder.
  • Für andere Netzserver liegt der Decoder öffentlich auf GitHub.
  • Mit dem Payload-Generator lässt sich die Kette testen, bevor ein Zähler montiert ist.

Warum der Payload nicht lesbar ist

LoRa-Pakete sind klein, und der Duty Cycle macht jedes Byte teuer. Deshalb werden Messwerte dicht gepackt: keine Feldnamen, keine Trennzeichen, keine Einheiten. Ein Zählerstand liegt als Ganzzahl über mehrere Bytes verteilt, mit einem implizit vereinbarten Faktor.

Beim Netzserver kommt entsprechend ein Byte-Block an. Damit daraus „Wirkenergie Import, Tarif 1“ mit einem Zahlenwert und einer Einheit wird, braucht es einen Payload-Decoder: ein kleines Stück Code, das die Bytes gemäss dem dokumentierten Aufbau zerlegt.

Der Teil, an dem Projekte hängen bleiben

Geschrieben ist so ein Decoder in einer Stunde. Das Problem entsteht danach: Er wird nicht dokumentiert, nicht versioniert, und wenn eine neue Firmware das Payload-Format erweitert, weiss niemand mehr, warum an Byte 7 eine Verschiebung stand.

Deshalb ist die Frage „gibt es einen offiziellen Decoder“ beim Geräteentscheid wichtiger, als sie klingt – wichtiger jedenfalls als zwei dB Empfangsleistung mehr.

The Things Network: Template statt Handarbeit

Im TTN-Netzwerk steht der EMU Professional II LoRa als Template direkt zur Verfügung. Gerät anlegen, Template wählen, Schlüssel eintragen – der Decoder ist Teil des Templates.

Für den häufigsten Fall entfällt das Thema damit vollständig. Die Messwerte erscheinen benannt, und die Weiterverarbeitung kann direkt darauf aufsetzen.

Andere Netzserver: Decoder auf GitHub

Wer einen anderen Netzserver betreibt, bekommt den Decoder öffentlich auf GitHub unter emuag/professional_II_lora. Dazu kommen zwei Werkzeuge, die im Browser laufen:

  • Payload Decoder – ein empfangenes Paket einfügen und prüfen, was darin steht
  • Payload Generator – Testpakete erzeugen, ohne dass ein Zähler sendet

Alle Links stehen auf der LoRa-Seite.

Testen, bevor jemand auf die Leiter steigt

Der Payload-Generator erlaubt eine Reihenfolge, die viel Ärger spart: Erst die gesamte Kette vom Netzserver über die Verarbeitung bis ins Zielsystem aufbauen und mit Testpaketen prüfen – dann die Zähler montieren.

Damit verlagert sich die Fehlersuche vom Keller an den Schreibtisch. Wenn später etwas nicht ankommt, ist die Ursache eindeutig auf der Funkstrecke zu suchen, weil die Verarbeitungskette bereits nachweislich funktioniert hat.

Eine Einordnung der Funkbegriffe – Spreizfaktor, Duty Cycle, OTAA – steht in LoRa oder LoRaWAN.

Häufige Fragen


Gibt es für den EMU Professional II ein fertiges TTN-Template?

Ja. Im The Things Network steht der EMU Professional II LoRa als Template direkt zur Verfügung. Gerät anlegen, Template wählen, Schlüssel eintragen – der Payload-Decoder ist enthalten.

Wie integriere ich den Zähler in einen anderen Netzserver?

Über den Decoder, der öffentlich auf GitHub unter emuag/professional_II_lora liegt. Zusätzlich gibt es einen Payload-Decoder und einen Payload-Generator als Web-Werkzeuge.

Kann ich die Verarbeitung testen, bevor Zähler montiert sind?

Ja, mit dem Payload-Generator. Er erzeugt Testpakete, mit denen sich die Kette vom Netzserver bis ins Zielsystem vollständig prüfen lässt – bevor der erste Zähler hängt.

Weiterlesen


SEITELoRa-SchnittstelleSchnittstelle TXTLoRa oder LoRaWAN? Die beiden Begriffe sauber getrenntBlogbeitrag SEITEEMU Professional IIProdukt

Fragen zu Ihrem Projekt?


Schicken Sie uns Ihre Zählerliste und das Zielsystem. Wir sagen Ihnen, was zusammenpasst – und was nicht.

Telefon
+41 (0)41 545 03 00

Technischer Support
helpdesk@emuag.ch