Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Übersetzungen dieser Seite:



DB0SL LoRa WX und Telemetrie


Zurück


Übersicht


Sender:
Sender
Antenne

Empfänger:
Bestell-Liste
Aufbau
Antenne

Datenübertragung:
Datenprotokoll

de:wx:protocol

LoRa Parameter und Daten-Protokoll für DB0SL-Wettersensor

Diese Dokumentation beschreibt das Sendeformat und die LoRa-Parameter des Wettersensors am Relais DB0SL. Damit kann man die Aussendungen korrekt empfangen und dekodieren.

📡 LoRa Sendeparameter

Parameter Wert Beschreibung
Frequenz 434.700.000 Hz ISM-Band 70 cm
Ausgangsleistung 10 dBm 10 mW EIRP
Bandbreite 125 kHz LoRa Standard
Spreading Factor 12 Maximale Reichweite (~293 bps)
Coding Rate 4/5 Forward Error Correction
Preamble Length 8 Standard
CRC aktiviert Ja (Fehlererkennung)
InvertIQ nein Normales Gateway-Format

🧾 Datenprotokoll (LoRa Payload)

Jedes empfangene Paket besteht aus folgenden Teilen:

❶ Gerätekennung (2 Byte)

Byte 0 und 1

  • Inhalt: 16 Bit Device-ID (Little Endian)
  • `0xCA 0xD4` → Gerät `0xD4CA` (54474)

Nur Pakete mit dieser ID sollten dekodiert werden. Diese ID ist fest und exklusiv für DB0SL.

❷ Sensordaten (n-Felder)

Danach folgen mehrere Datenfelder mit Sensorwerten. Jedes Datenfeld hat folgenden Aufbau:

Byte Bedeutung
[0] Info-Byte: 5 Bit Sensor-Typ, 3 Bit Format
[1..n] Rohdaten (je nach Format 1–4 Bytes)

📐 Info-Byte Struktur

  • Bits 0–4: Sensor-Typ (0–31)
  • Bits 5–7: Datenformat (0–7)

Unterstützte Datenformate

Code Typ Größe Beschreibung
0 UINT8 1 B 8-Bit Wert
1 UINT16 2 B Little Endian
2 UINT24 3 B Little Endian
3 UINT32 4 B Little Endian
4 FLOAT 4 B IEEE754, Little Endian
5 STRING 1+len Wird ignoriert (nur Anzeige)
6–7 Ungültig / reserviert

📋 Sensor-Typen Übersicht

Code Name Beschreibung Skalierung
0 TEMPERATURE1 Temperatur (°C) 0..65534 → -30 bis +100 °C
4 PRESSURE Luftdruck (hPa) 0..65534 → 700 bis 1100 hPa
5 HUMIDITY Luftfeuchte (%) 0..254 → 0 bis 100 %
6 VOLTAGE Systemspannung (V) 0..65534 → 0 bis 6 V
7 PVVOLTAGE Solarpanel-Spannung (V) 0..65534 → 0 bis 6 V

Nicht dokumentierte Typen (1–3, 8–31) werden ignoriert.

🛠 Hinweise für eigene Empfänger

  • Frequenz und Modulation müssen exakt übereinstimmen!
  • CRC ist aktiv → nur gültige Pakete auswerten
  • Info-Byte zuerst parsen → Format erkennen → Daten interpretieren
  • FLOAT ist IEEE754 LE (z. B. `AB CD EF 00`)
  • Mehrere Felder pro Paket möglich
  • Skalierung ist notwendig (siehe Tabelle oben)
  • Bei Bedarf: Relative Druckberechnung wie im Code (barometrische Höhenformel)

🔍 Beispiel-Dekodierung (empfangene Payload)

Empfangenes Payload in Hex:

CA D4 27 4B D4 26 A7 9C 20 35 6C 24 3D 90 05 6B

1️⃣ Gerätekennung

Die ersten zwei Bytes bilden die Gerätekennung (Little Endian):

CA D4 → 0xD4CA = 54474 → gültig (korrektes Gerät)

2️⃣ Sensordaten-Felder

Die restlichen Bytes bestehen aus mehreren Datenfeldern. Wir dekodieren sie Schritt für Schritt:

➤ Feld 1

27 4B D4

Byte Wert (hex) Bedeutung
—————————–
27 Info-Byte: 0b00100111 → Typ 7 (PVVOLTAGE), Format 1 (UINT16)
4B D4 UINT16 LE → 0xD44B = 54347

→ Skalierung für PVVOLTAGE: 0..65534 → 0..6V

PVVOLTAGE = 54347 / 65534 * 6 ≈ 4.97 V

➤ Feld 2

26 A7 9C

Byte Wert Bedeutung
———————–
26 Info-Byte: 0b00100110 → Typ 6 (VOLTAGE), Format 1 (UINT16)
A7 9C 0x9CA7 = 40103

→ Skalierung für VOLTAGE: VOLTAGE = 40103 / 65534 * 6 ≈ 3.67 V

➤ Feld 3

20 35 6C

Byte Wert Bedeutung
———————–
20 Info-Byte: 0b00100000 → Typ 0 (TEMPERATURE1), Format 1 (UINT16)
35 6C 0x6C35 = 27701

→ Skalierung Temperatur: TEMPERATURE1 = -30 + (27701 / 65534) * 130 ≈ 25.9 °C

➤ Feld 4

24 3D 90

Byte Wert Bedeutung
———————–
24 Info-Byte: 0b00100100 → Typ 4 (PRESSURE), Format 1 (UINT16)
3D 90 0x903D = 36925

→ Skalierung Druck (700–1100 hPa): PRESSURE = 700 + (36925 / 65534) * 400 ≈ 925.3 hPa

➤ Feld 5

05 6B

Byte Wert Bedeutung
———————–
05 Info-Byte: 0b00000101 → Typ 5 (HUMIDITY), Format 0 (UINT8)
6B 0x6B = 107

→ Skalierung Feuchtigkeit (0–254 → 0–100 %): HUMIDITY = 107 / 254 * 100 ≈ 42.1 %

✅ Ergebnis zusammengefasst

Sensor Wert Einheit
————–———-———
Temperatur ≈ 25.9 °C
Luftdruck ≈ 925.3 hPa
Luftfeuchte ≈ 42.1 %
Spannung ≈ 3.67 V
PV-Spannung ≈ 4.97 V

Dieses Beispiel zeigt, wie aus einem rohen LoRa-Paket die Werte extrahiert und skaliert werden können. Die Info-Bytes liefern Typ und Format, die Rohdaten werden abhängig davon interpretiert.

In regelmäßigen Abständen wird auch ein Textstring (Datenformat 5) gesendet, der Infos (Namen usw) enthält.

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
de/wx/protocol.txt · Zuletzt geändert: 2025/07/25 17:01 von kurt

Seiten-Werkzeuge