Ein Funkmodul für den Raspberry: RaspyRFM

Mit dieser Low-Cost-Funk-Erweiterung „RaspyRFM-II“ für den Raspberry PI ist es möglich die Telegramme von vielen verschiedenen funkunterstützten Geräten (Funkthermometer, Energiekostenmessgerät, Handsender, Funksteckdosen) zu empfangen und zu senden. Das Aufsteckmodul besteht aus einem RFM69CW Funkmodul, welches direkt mit der SPI Schnittstelle des Raspberry PI verbunden ist. Mit einem Python-Modul kann man das Funkmodul sehr einfach in eigenen Projekten angesprochen werden, um die Daten z.B. an Smartmetering- (Volkszaehler.org oder openenergiemonitor.org) oder Hausbussysteme (FHEM) übergeben zu können.

Beispiele für funkunterstützte Geräte

  • Funksteckdosen (z.B. FS20, Intertechno, Brennenstuhl, …)
  • Funkthermometer (z.B. TX29-IT, TX35-IT, TX62-IT)
  • Funkenergiekostenmessgeräte (z.B. EMT7110)

Eigenschaften

  • Frequenzbereich 434 MHz oder 868 MHz
  • Modulationsarten OOK und FSK
  • SPI Schnittstelle, programmierbar in C, C++, Python…
  • Sendeleistung 13 dBm max.
  • SMA Antennenbuchse
  • Programmierbeispiele in Python mitgeliefert

Neu: Doppelmodul

In Kürze ist ein Doppelmodul verfügbar, welches jeweils ein Modul für 434 MHz und 868 MHz enthält. Damit Kann über die beiden SPI Kanäle des Raspberry PIs auf zwei unterschiedlichen Frequenzbändern gearbeitet werden.

RaspyRFM Doppelmodul

Installation

Auf einer aktuellen Raspbian-Installation ist GPIO für Python bereits installiert. Weiterhin wird py-spidev benötigt:

sudo su
apt-get install git-core python-dev
apt-get install python-pip
pip install spidev

Dann noch mit

sudo raspi-config

die SPI Schnittstelle aktivieren und den Raspberry PI neu starten.

Anschlussbelegung

Das RaspyRFM wird auf den Raspberry PI von Pin 17 – 26 gesteckt.

17 -> 3,3 V
18 (GPIO 24) -> DIO0 Slave / DIO1 Master *1
19 (MOSI) -> MOSI
20 -> GND
21 (MISO) ->MISO
22 (GPIO 25) -> DIO0 Master
23 (SCK) -> SCK
24 (CE0) -> NSS Master
25 -> GND
26 (CE1) -> NSS Slave oder DIO2 *2

*1 DIO1 über Jumper SJ1
*2 DIO2 über Jumper SJ2

Software

Es gibt eine in Python geschriebene Klasse, mit der das Modul sehr einfach parametriert werden kann (Frequenz, Baudrate, Bandbreite, Frequenzhub, Modulationsart, …). Hier ist ein Initialisierungsbeispiel:

from rfm69 import Rfm69
import rfm69

rfm = Rfm69()

rfm.SetParams(
  Freq = 868.300, #MHz center frequency
  Datarate = 9.579, #kbit/s baudrate
  ModulationType = rfm69.FSK, #modulation
  SyncPattern = [0x2d, 0xd4], #syncword
  Bandwidth = 200, #kHz bandwidth
  LnaGain = 0x80,
  Preamble = 2 #Preamblelength in bytes
)

LaCrosse Funktemperatursensoren

Für die LaCross-Sensoren (TX29, TX35, etc.) gibt es außerdem eine Dekoderklasse welche die Daten aus dem Funktelegram gewinnt. Zu Funkthermometern gibt es einen eigenen Artikel. Der Code um alle in Reichweite befindlichen Sensoren anzuzeigen sieht so aus:

data[]

while 1:
  data = rfm.ReceivePacket(7)
  obj = rawsensor.CreateSensor(data)
  print(str(obj))

Funksteckdosen

Über Funksteckdosen mit dem RaspyRFM gibt es einen eigenen Artikel.

Modul im Shop

RaspyRFM

28 Gedanken zu “Ein Funkmodul für den Raspberry: RaspyRFM

  1. Hallo,
    ich interessiere mich für das RaspyRFM. Frage: wird die Software für den Raspberrry Pi mitgeliefert?

    MFG
    P. Ritz

    • Hallo,
      es wird eine Pythonbibliothek mitgeliefert um das RFM69 ansprechen zu können. Zusätzlich gibt es Beispielcode, um Funkthermometer zu empfangen und um Intertechno Funksteckdosen steuern zu können.
      Schöne Grüße
      S. Seegel

  2. Hallo, ist schon absehbar, wann es das RaspyRFM-II mit 868 MHz wieder geben wird? Im Shop ist es momentan als „nicht verfügbar“ gekennzeichnet. Würde gern eins bestellen!

    Vielen Dank und beste Grüße,

    Peter

    • Hallo Peter,

      eine neue Charge Leiterplatten ist schon, bestellt so dass es den RaspyRFM 868 in einigen Wochen wieder geben wird.

      Schöne Grüße
      Stefan Seegel

  3. Frage:
    Gibt es fuer das RaspyRFM-II Modul den Beispiel-Code auch in c (c++)
    MfG
    und den besten Wünschen fuer 2016
    L. Weiss

  4. Hallo,

    wann wird das Funkmodul RaspyRFM-II mit 868MHz wieder verfügbar sein?

    viele Grüße
    Axel Hallbauer

  5. Hallo,
    wann kann mit der Auslieferungen vom Funkmodul RaspyRFM-II mit 868MHz gerechnet werden?

    Gruß
    Jürgen

  6. Hallo Herr Seegel
    Wann werden neue RaspyRFM-Module lieferbar sein?

    MfG, Jörg Sprenger

    • Hallo Jörg,

      Du kannst mir der mitgelieferten connair.py ein Brennenstuhl Brematic emulieren, damit funktioniert auch der Power-Switch.eu.

  7. Hallo,
    fein das die Module wieder lieferbar sind
    Sind die Antennen inkl. odern müssen diese separat mit bestellt werden?

  8. Hallo,

    zur Info:

    die Software scheint das spi-bcm2708 Modul zu benötigen, das oftmals nicht mehr automatisch geladen wird. (Bei normal aktiviertem SPI mittels dtparam=spi=on wird spi-bcm2835 geladen, das 2708 ist nicht ladbar.)

    Deshalb in die config.txt:
    dtoverlay=spi-bcm2708-overlay

    Falls man z.B. in openElec die libs verwenden möchte ohne lange zu compilen:

    GPIO:
    http://www.barryhubbard.com/raspberry-pi/howto-raspberry-pi-install-rpi-gpio-openelec-rev-a-b-b/
    SPI:
    https://github.com/TIGAL/BBB-mikroBUS-Cape/raw/master/Examples/py-spidev/build/lib.linux-armv7l-2.7/spidev.so

    Und beides in den python Scripts laden wie im GPIO Artikel beschrieben…

  9. I’d like to order this module, but it looks like you’re not shipping to Belgium. Any suggestion to solve this problem ?

  10. Hallo,

    Kann ich das 868 Modul genau wie einen CUL-Stick der Firma Busware an meinem RPI betreiben um es für FHEM zu nutzen?
    Ich habe bereits eine 433 CUL mit Intertechno Schaltern im Einsatz und möchte nun zusätzlich Homematic Kompeneten verwenden.

    • Hallo Axel,

      hardwareseitig würde das gehen, es gibt aber noch keine Softwareunterstützung dafür. Man bräuchte z.B. ein Pythonskript, welches mit einer Socket die CUL Kommandos für das RFM69 umsetzt. Vielleicht finden sich ja (bei FHEM) ein paar Mitstreiter die das zusammen umsetzten können.

      Grüße
      Stefan Seegel

  11. Hallo,

    als Neuling auf diesem Gebiet bitte ich um die Beantwortung der folgende Frage:

    Sie bieten das Modul mit 434 MHz an. Ist es trotzdem möglich, problemlos mit Sendern, die 433 Mhz verwenden, zu kommunizieren oder muss hier noch zusätzlich etwas eingestellt werden ?

    Beste Grüße
    Christoph Held

    • Hallo Herr Held,

      es gibt eine Unzahl an verschiedenen Sendern, die sich durch Modulation, Baudrate, Frequenzhub, Protokoll u.a. unterscheiden, so dass die Frage pauschal nicht beantwortet werden kann. Sie können mit Kenntnis dieser Parameter selber die Ansteuerung für das RFM69 programmieren. Die Frequenz 433 MHz ist an sich kein Problem.

      Schöne Grüße
      S. Seegel

  12. Hallo Herr Seegel,

    gibt es schon ein Beispiel wie damit Daten an das openenergiemonitor-Projekt (also an emoncms) übergeben werden können?

    Beste Grüße,
    Martin

    • Hallo Martin,

      Beispielcode wie die empfangenen Messwerte zum emonscms übermittelt werden, werden mitgeliefert.

  13. Hallo Herr Seegel,

    oben wird das Doppelmodul angekündigt. Haben Sie schon einen ungefähres Datum, wann das Modul verfügbar ist?

    Viele Grüße
    Julian Wagner

    • Hallo Herr Wagner,

      das Doppelmodul wird in ca. 4 Wochen verfügbar sein.

      Schöne Grüße
      Stefan Seegel

Kommentare sind geschlossen.