Was der Zähler sendet
Ein Wasserzähler mit Funkmodul (z. B. Apator AT-WMBUS-16-2) sendet im T1-Modus auf 868,95 MHz alle paar Dutzend Sekunden bis Viertelstunden ein Telegramm. Darin stehen Zählernummer, Hersteller, Medium, Zählerstand, manchmal Durchfluss, Temperatur und Alarme. Der Inhalt ist meist AES-128-verschlüsselt.
Hardware
Der CC1101 ist ein günstiger Sub-GHz-Funkchip, gesteuert über SPI. Verdrahtung mit dem Raspberry Pi:
| CC1101 | Raspberry Pi |
|---|---|
| VCC | Pin 1 – 3,3 V (nie 5 V) |
| GND | Pin 6 |
| MOSI | Pin 19 (GPIO10) |
| MISO | Pin 21 (GPIO9) |
| SCK | Pin 23 (GPIO11) |
| CSn | Pin 24 (CE0 / GPIO8) |
GDO0/GDO2 werden nicht gebraucht, wenn das Programm den FIFO des Chips etwa jede Millisekunde über SPI abfragt. Weniger Kabel, weniger Montagefehler – unser erster Prototyp fiel genau deshalb aus, weil die GDO-Leitungen an anderen Pins hingen als im Code.
Von Bits zu Kubikmetern
- „3 aus 6“-Kodierung (T1-Modus) und CRC jedes Blocks – Störungen werden verworfen.
- Sicherungsschicht: Hersteller (drei Buchstaben), Nummer, Version, Gerätetyp.
- AES-128-CBC (Modus 5) – den Schlüssel liefert der Zählerlieferant; manche Zähler nutzen einen Werksschlüssel.
- DIF/VIF-Datensätze (OMS-Standard): Stand, Stichtagswert, Durchfluss… Manche Hersteller (z. B. Apator 16-2) hängen nach dem Byte
0x0Fein eigenes Format an.
Erkenntnisse aus dem Einsatz
- Empfänger als eigener Prozess. Das FIFO-Lesen muss mithalten. In Python teilt sich alles einen GIL; ein Netzwerkscan verlor Telegramme, darum bekam der Funk einen eigenen Prozess.
- Man hört auch die Nachbarn. In 4 Minuten empfing das Gateway 32 Telegramme von 10 Zählern in der Umgebung. Ein Zähler wird über seine Nummer zugeordnet, der Rest ignoriert.
- Statistik statt nur RSSI. Anzahl OK / CRC-Fehler / Timeout der letzten Minute zeigt die Empfangsqualität besser.
- Kein Raten. Kein Telegramm seit 2 Stunden heißt: Zähler inaktiv – nicht „letzter bekannter Wert“.
- Tests mit echten Telegrammen: AES-Testvektor aus FIPS-197 und mitgeschnittene Frames realer Zähler.
Funkauslesung läuft auf jedem Polbyte-IoT-Gateway mit CC1101-Modul. Sie haben ein Gebäude mit Funkzählern? Die Messwerte können in Ihr System fließen.
Ein ähnliches Problem?
Beschreiben Sie es in zwei Sätzen. Wir sagen Ihnen, ob und wie wir helfen können.
Kontakt aufnehmen →