PCA 301 Funksteckdose mit Arduino Nano und RFM69

Nachdem ich mir eine PCA 301 Funksteckdose von ELV gekauft hatte und feststellen musste, dass die Kombination Arduino Nano mit RFM69 momentan nicht unterstützt wird, habe ich den Treiber für das vorhandene pca301_serial Projekt selbst vom RFM12 auf den RFM69 angepasst.

Das Ergebnis liegt nun als Arduino IDE Sketch auf GitHub (Link).

11 Kommentare

  1. Hallo Fabian,

    hat denn das Pairing mit der Steckdose geklappt oder blinkt sie ununterbrochen weiter? Zuerst solltest Du dann die Entfernung zwischen RFM69 und PCA 301 verringern. Eventuell hast Du ja auch ein RFM69 für eine andere Frequenz statt 868 MHz.

  2. Wahnsinn!
    Wie lange hast du daran gesessen?
    Ich verstehe ein bisschen C, aber was da an Hexdaten rum kommt sind für mich böhmische Dörfer.
    Hast du ein Tipp wie man den Sketch https://github.com/SevenW/EC3K-JeeLink-RFM12B
    auf RFM69 portieren könnte?
    Hatte gedacht einfach dass Modul (RFM12B) austauschen und dann kann ich alle EC3K bei mir empfangen, aber dass man da noch Treiber für anpassen muss ist natürlich blöd :(

  3. Die meiste Zeit ging für das Verstehen der Funktionsweise eines RFM Funkmoduls drauf, zumindest die 10 Prozent die ich davon brauche. Zum Portieren müsstest Du jetzt alle RFM12 Zugriffe aus dem EC3K Sketch auf RFM69 ummappen. Schneller gehts wenn Du Dir ein paar Restbestände der RFM12 Chips besorgst.

  4. Hallo Sven,

    ich habe leider ein Problem. Beim flashen eines Nano mit RFM69H bekomme ich folgende Fehlermeldung:

    avrdude: verification error, first mismatch at byte 0x7800
    0x0c != 0x65
    avrdude: verification error; content mismatch

    Das Problem tritt bei beiden Hex files auf.

    Mir ist aufgefallen dass das Hex File sehr groß ist, kann dass ein Problem sein?

    avrdude: 32768 bytes of flash written

    Wenn ich das normale JeeLink_LaCrosse.hex flashe, funktioniert alles normal.
    avrdude: verifying …
    avrdude: 27646 bytes of flash verified

    Vielen Dank!

    Grüße

    Stefan

  5. Hallo Stefan,

    ich kenne Deinen Flash-Befehl jetzt nicht, aber ich vermute Du flashst das Hex File 1:1 statt den Inhalt. Das Hexfile hat ca. 32 kB, der Nutzinhalt beläuft sich aber nur auf 11096 Bytes. Zum Flashen benutze ich folgenden Befehl (angepasst für Deine nicht-Highpower Variante):

    sudo avrdude -v -pm328p -c arduino -P/dev/ttyUSB0 -b57600 -D -U flash:w:pca301serial_rfm69w.hex:i

    Ergibt dann folgende Ausgabe: GitHub Gist

    Grüße
    Sven

  6. Hallo Sven,

    vielen Dank, das hat mich auf den richtigen Weg gebracht. Ich hatte das Hex File per wget heruntergeladen. Das scheint bei Github eher nicht empfehlenswert zu sein. Der Inhalt des Files war danach nur noch HTML code… :-)
    Mit dem richtigen hex file funktioniert es super und vor allem bislang zuverlässiger wie mit meinem Jeelink Clone mit dem RFM12B.
    Danke!

    Grüße

    Stefan

  7. Hallo Sven,
    vielen lieben Dank für den Sketch – habe nämlich meinen Clone mit dem RFM12B nicht mit den PCA301 zum Laufen gebracht!
    Der Clone bedient nun die LaCrosse Tempsensoren und der JeeLink v3c, dank Deiner Variante …w.hex, die PCA301. Läuft bislang sehr gut.
    Jetzt kann ich endlich den HM LAN kurzzeitig vom Netz nehmen, wenn er wieder mal sein Sendelimit erreicht hat…
    Beste Grüße, Rainer

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.