CC1101 RPi SPI Adapter

Ich hab -47 bis -93. Letztere ist ein Aktor in der Garage, also 2 Aussenwände, 2 Innenwände und ein massives Eisengeländer im Treppenhaus entfernt. Interessanterweise hat der Aktor direkt daneben (sind beides HM-LC-Sw1-DR auf Hutschiene) -80.

Ein HM-CFG-LAN ist unterm Dach, der RPi mit CC1101 Modul von @pmayer ist in einer Ecke des Hauses. Ich hab alle Peers auf Roaming umgestellt, kann man eigentlich auslesen, welches Interfaces aktuell je Peer genutzt wird?

Und - wie ist eigentlich die Abstrahlcharakteristik des HM-CFG-LAN? Sollte der lieber senkrecht an der Wand hängen oder horizontal unterm Deckenbalken?

Ich habe das CC1101 RPi SPI Modul von @pmayer mit einer Drahtantenne. Der Empfang wird signifikant besser (um ~8 dBm), wenn ich die Drahtantenne in einen Plastikstrohhalm stecke, wahrscheinlich weil sie dann nicht mehr gebogen ist.

1 Like

@malli hatte hier vor langer Zeit mal was dazu geschrieben:

Moin, also wenn es noch ein Modul gibt, hätte ich auch Interesse :wink:

So, es ist offiziell: Wir haben unsere WEEE-Registrierung und dürfen damit offiziell Elektronik in DE verkaufen :rocket: :tada:

Wer noch ein Modul und passenden Antennen braucht, kann es zukünftig hier bestellen: https://shop.codm.de/platinen/3/cc1101-raspberrypi-spi-modul-v0.3
Aktuell sind leider von den 18cm Antennen fast keine mehr da, ich habe aber schon neue bestellt.

4 Likes

Kurzes Update wieder mal. Habe wieder Adapter und auch Antenne auf Lager. Wenn also jemand noch ein Modul mag, der Link zum Shop steht ja hier.

@wolutator hatte übrigens mittlerweile mal die Antennen vermessen und es sah gar nicht so schlecht aus:

Außerdem habe ich mittlerweile vom chinesischen Lieferanten die Datenblätter für die Antennen und die bestätigen @wolutator’s Messung:

18cm:

4cm:

1 Like

Ich habe mir mal den Spass gemacht, und das Modul aus dem ersten Beitrag nachgebaut. Im homegear.log finde ich keinen zugehörigen Fehler (“All physical interfaces are connected now.”), aber es lassen sich für MAX! keine Devices anlernen. Ich starte das im HomeMatic Manager, aber er findet keine Devices. Meine MAX! Config sieht so aus:

moduleEnabled = true

#######################################
########## TI CC1101 Module  ##########
#######################################

[TI CC1101 Module]
id = My-MAX-CC1101
default = true
deviceType = cc1100
device = /dev/spidev0.0
responseDelay = 100
interruptPin = 2
gpio1 = 25

Es kommt auch keine Fehlermeldung, wenn ich gpio1 auf 26 ändere, was aber falsch sein sollte. Fehler gibt es nur, wenn das Modul nicht angesteckt ist. Wie kann ich das am besten debuggen?

Bei mir war das zu 99% ein defektes China-Modul.

Grundliegend brauchst du Debuglevel 5, dann siehst du ob der CC1101 überhaupt Nachrichten deiner Max!-Geräte empfängt. Einfach mal aufmachen und ein wenig warten oder an Gerät den Anlernmodus anschalten. Dann solltest du da was sehen.

Ich empfehle dir das Anlernen über die homegear Konsole zu machen, analog zu Homematic: https://doc.homegear.eu/data/homegear-homematicbidcos/adding_devices.html

Am besten machst du dir zwei Terminals auf, eins mit dem Log und eins mit der Konsole. Das Debuglevel kannst du auch zur Laufzeit mit dl 5 umstellen.

Okay, mist, werde das mal prüfen. Mit dem Log meinst du die “homegear.log” in /var/log/homegear, oder? Da müssten dann auch Daten zu sehen sein, die das Ding empfängt?

Btw, ist das nicht merkwürdig, dass auch bei gpio1 = 26 kein Error fliegt? Das ist ja auf jeden Fall nicht korrekt.

Genau.

“Jein”. Der GPIO wird nur zum Uumschalten der Senderichtung benötigt… also auch dann erst benutzt.

Okay. Also ich sehe nichts auf der Konsole, was irgendwie dazu passen könnte. Bei den Errors habe ich nur:

11/03/16 17:16:51.035 Error in file PhysicalInterfaces/EventServer.cpp line 99 in function void IpCam::EventServer::setListenAddress(): No IP address could be found.
11/03/16 17:16:51.609 Module Beckhoff: Error in file Interfaces.cpp line 45 in function virtual void MyFamily::Interfaces::create(): The provided hostname is empty.
11/03/16 17:16:54.614 Warning: Unknown parameter property: label
11/03/16 17:16:54.795 Warning: variables with id "ZWaveVariables" does not exist.
11/03/16 17:16:54.822 RPC Server (Port 2001): Warning: SSL is not enabled for this RPC server. It is strongly recommended to disable all unencrypted RPC servers when the connected clien$
11/03/16 17:16:54.822 RPC Server (Port 2001): Warning: RPC server has no authorization enabled. Everybody on your local network can login into this installation. It is strongly recommen$

Hat meiner Ansicht nach alles damit nichts zutun, oder?
Wie hoch ist denn die Reichweite von diesen Dingern etwa? Eine Wand müsste gehen, oder? Direkt daneben geht’s aber auch nicht.

Deinstallier bitte mal alle Module die du nicht benötigst.

dpkg -l | grep homegear
sudo apt remove homegear-beckhoff

etc…

Danach dann bitte mal homegear neu starten, debuglevel hochsetzen und das log prüfen.

Hey @pmayer,

habe gerade das Modul von gestern verbaut und es arbeitet super!!! Danke dafür. Jetzt noch einige Hinweise, die ggf. helfen.

1.) Das Bild in der Beschreibung zeigt einen Raspberry Pi 2

2.) Wenn man wie ich DietPi als Distro nutzt, kann man SPI nicht so ohne weiteres einschalten. Hierzu muss man in der Datei /DietPi/config.txt ein bißchen editieren

nano /DietPi/config.txt

dtparam=spi=off auf on ändern

nach dem Speichern rebooten und mit

lsmod | grep spi

prüfen ob module geladen wurden

Ansonsten alles wie beschrieben.

Danke und Gruß
Thomas

1 Like

Die GPIO-Leiste ist ja gleich… oder warum hast du es erwähnt?

Die Leiste ist beim Pi 1 kürzer, der CC1101 sitzt dann ganz am Ende.

Ah, ja… das stimmt :slight_smile:

Hallo,

sollte jemand Interesse an ein oder zwei dieser (unbestückten) Platinen haben, dann stecke ich die gern für 3€ bzw. beide für 4€ in einen Umschlag und lasse sie euch zukommen.

So, wieder Bestand bei uns im Shop: CC1101 RaspberryPi SPI Modul

Hallo @pmayer ,
ich habe mich wie angeboten an die im Faden vorgestellte Modulplatine angelehnt und diesen Entwurf zustande gebracht:


Die neue Platine soll mit einem LCD-Display (10.1inch HDMI LCD, 1024×600 von waveshare) zusammenwirken.

Auf der Rückseite des Displays ist eine Schnittstelle vorhanden, die offensichtlich parallel zur vorhandenen Raspberry-Schnittstelle existiert. Diese Schnittstelle könnte man durch einen SMD-Stiftsockel aktivieren. Bei der Schnittstelle auf meiner Platine musste natürlich die Pinbelegung gedreht werden, was auch der Grund dafür ist, dass eine neue Adapterplatine fällig wurde.

Mein Problem: ich bin nicht besonders fit auf dem Gebiet der Antennentechnik! Ich habe mir zwar die Anmerkungen von @malli , was Abstände und Leiterbahnbreiten angeht, durchgelesen. Bei der von Patrick entworfenen Platine sind im Bereich der Antennenleitung einige Durchkontaktierungen vorhanden, die so denke ich, nur in Bezug auf die “koaxiale Leitung für Arme” eine Relevanz haben könnten(?)

Aus meiner aktiven Zeit weiß ich um die gefürchteten Masseschleifen, die man sich schnell und gerne beim Leiterplattenlayout einhandelt. Zudem habe ich das chinesische Modul von CDSENET studiert, dabei ergibt sich, dass die Anschlüsse 8 und 10 (beide GND) sich diametral gegenüberliegen und wenn diese auf dem CDSENET-Modul miteinander verbunden sind, was stark anzunehmen ist, dann haben wir die besten Vorraussetzungen für eine Masseschleife.

Daher meine Frage: Die Durchkontaktierungen im Bereich der Antennenleitung haben welchen Sinn? Ich habe diese in meinem Entwurf ebenfalls vorgesehen, löschen kann sie ich immer noch :wink:

1 Like

@pmayer
Ich habe entsprechend meinen Überlegungen die Platine auf den letzten Stand gebracht. Kleine Überarbeitungen im Detail und als wichtigste Maßnahme, die Entkopplung des Antennen-GND vom Power-GND betrieben.


Ein Hintertürchen habe ich mir für den Fall offengelassen, dass die Maßnahme kontraproduktiv gewesen sein sollte, kann man über eine Lötbrücke, den Antennen-GND mit dem Power-GND kurzschließen.

1 Like