Click here for English version
Wie baue ich einen Signalduino?
- Arduino Nano und CC1101 kaufen
- Nano mit dem CC1101 verdrahten
- Arduino Nano an den PC anschließen
- Firmware flashen
Motivation
Ein Signalduino ist mit einiger Löterfahrung relativ einfach und günstig für wenige Euros zusammengebaut und bildet die Basis für das SmartHome. Mit dem Signalduino
kann man die verschiedensten Automatisierungsgeräte ansteuern oder empfangen, wie z.b. Conrad Wetterstation KW9110, TCM Wetterstation (97001 und 21xxx Serie), ABS Wetterstation (ABS 700), Prologue Wetterstation, Rubicson Wetterstation, NC_WS Wetterstation, GT-WT-02 Wetterstation, AURIOL Wetterstation, Mebus Wetterstation, Intertechno Funkschalter, Oregon Scientific Wettersensoren, Bresser Temp/Hydro Sensor, Hama TS33C, TFA Temp/Hydro Sensor, Lacrosse TX2/TX3 Sensoren, TFA 30320902, Eurochron eas800z, Technoline WS6750/TX70DTH, FreeTec Außenmodul NC-7344, CTW600, CTW602, WH1080, Visivon remote pt4450, Einhell HS 434/6, Flamingo FA20RF / FA21RF / FA22RF Rauchmelder, mumbi m-FS300, TFA 30.3200, Livolo, Smartwares RM174RF/2 (RM174RF-001CPR) 4500177571, Smartwares SH5-TSO-A, X10 Security Devices, Somfy RTS .
Wer nicht Löten mag, kann Bauteile mit PINs und Female Jumper Kabel kaufen und die Schaltung zusammenstecken. Der CUL kann dann mit der entsprechenden Firmware geflasht werden und mit FHEM betrieben werden.
Versionen
Zunächst sollte man sich entscheiden, ob man 868 oder 433Mhz verwenden möchte. Das hängt insbesondere von den verwendeten Endgeräten ab. Intertechno verwendet 433Mhz, Homematic 868Mhz. Man kann zwar zwischen den Frequenzen hin und herschalten, aber die Reichweite ist nicht so gut in der fremden Frequenz. Der Cul kann kurzzeitig auch Frequenzen zum Senden umschalten, empfängt aber permanent nur auf einer Frequenz.
Materialliste
Bei dem Arduino mit einem Atmega328 Microcontroller ist darauf zu achten, daß er einen echten FTDI Chip hat um Ärger zu vermeiden und keinen CH340. Letzterer kann durch Treiber von FTDI beschädigt werden. Unter Linux könnte man einen CH340 betreiben, er besitzt jedoch keine eigene ID im Gegensatz zum FTDI. Der CC1101 sollte auch für die entsprechende Frequenz ausgelegt sein. Damit ergibt sich
Bauteil
Arduino Nano FT232RL mit USB Kabel (Amazon, Aliexpress)*
CC1101 868 oder 433 Mhz (Amazon, Aliexpress)*
Verdrahtung
Die Verdrahtung ist wie folgt vorzunehmen.
Arduino | CC1101 |
VCC 3,3 V | VDD |
PIN GND | GND |
PIN D02 | GDO2 |
PIN D03 | GDO0 |
PIN D10 | CSn (SS) |
PIN D11 | SI (MOSI) |
PIN D12 | SO (MISO) |
PIN D13 | SCK |
Flashen der Firmware
Nun kann man unter Linux die Firmware auf den Arduino flashen. Das flashen der Firmware funktioniert über das FHEM Frontend. Nun kann der Arduino angesteckt werden. Mit dem Befehl
ls -l /dev/serial/by-id
kann man die ID des Arduinos erfragen. Die Antwort ist zum Beispiel
total 0 lrwxrwxrwx 1 root root 13 Nov 30 19:17 usb-FTDI_FT232R_USB_UART_12345678-if00-port0 -> ../../ttyUSB0
wobei „12345678“ für die ID steht.
Dann updaten wir FHEM. Dazu geben wir in die Kommandozeile in FHEM folgendes ein:
update
Danach
shutdown restart
Jetzt können wir das Signalduino Modul aktualisieren. Dazu wieder in die FHEM Kommandozeile eingeben:
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt
Jetzt können wir den Signalduino in FHEM anlegen:
define sduino SIGNALduino /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_12345678-if00-port0@57600
wobei „12345678“ für die ID steht.
Falls auf unserem Linux System noch kein avrdude installiert ist, können wir das mit folgendem Befehl nachholen:
sudo apt-get install avrdude
Zunächst sagen wir FHEM was wir für ein Modell haben. Wir haben einen Arduino Nano mit CC1101. Also tragen wir in die FHEM Kommandozeile ein:
attr sduino hardware nanoCC1101
Ich möchte die stable Firmware, alternativ ginge aber auch die testing. Also trage ich ein:
attr sduino updateChannelFW stable
Und nun laden wir uns die Firmware runter. Dazu exekutieren wir
get sduino availableFirmware
Und nun sind wir soweit, der Signalduino kann geflasht werden
set sduino flash nanoCC1101
Fertig!
Ich bin von einem CUL 433 auf einen Signalduino umgestiegen. Das war ganz einfach. Man muss den CUL löschen und für sämtliche Geräte dann über folgendes angeben:
attr <Gerät> IODev sduino
Damit kann man nun Funkrauchmelder koppeln, Funksteckdosen schalten oder einen Chatbot mit Telegram einrichten!
Pro Tipp: Stellt sicher, daß ihr den Optiboot Bootloader auf dem Board habt. Damit läuft Euer cul stick sehr stabil.
How do I build a signalduino?
- Buy a Arduino Nano and CC1101
- Wire Arduino Nano and CC1101
- Connect the Arduino Nano to the PC
- Flash the firmware
Idea
A signalduino is assembled with some soldering experience relatively simple and cheap for a few euros and forms the basis for the SmartHome. With the signalduino you can control or receive the most different automation devices, like e.g. onrad Wetterstation KW9110, TCM Wetterstation (97001 und 21xxx Serie), ABS Wetterstation (ABS 700), Prologue Wetterstation, Rubicson Wetterstation, NC_WS Wetterstation, GT-WT-02 Wetterstation, AURIOL Wetterstation, Mebus Wetterstation, Intertechno Funkschalter, Oregon Scientific Wettersensoren, Bresser Temp/Hydro Sensor, Hama TS33C, TFA Temp/Hydro Sensor, Lacrosse TX2/TX3 Sensoren, TFA 30320902, Eurochron eas800z, Technoline WS6750/TX70DTH, FreeTec Außenmodul NC-7344, CTW600, CTW602, WH1080, Visivon remote pt4450, Einhell HS 434/6, Flamingo FA20RF / FA21RF / FA22RF Rauchmelder, mumbi m-FS300, TFA 30.3200, Livolo, Smartwares RM174RF/2 (RM174RF-001CPR) 4500177571, Smartwares SH5-TSO-A, X10 Security Devices, Somfy RTS .
If you don’t like soldering, you can buy components with PINs and female jumper cables and plug the circuit together. The CUL can then be flashed with the appropriate firmware and operated with FHEM.
Versions
First you should decide if you want to use 868 or 433Mhz. That depends in particular on the end devices used. Intertechno uses 433Mhz, Homematic 868Mhz. You can switch between the frequencies, but the range is not so good in the foreign frequency. The Cul can also switch frequencies to transmit for a short time, but receives permanently only on one frequency.
Used Material
Part
Arduino Nano FT232RL with USB cable (Amazon, Aliexpress)*
CC1101 868 or 433 Mhz (Amazon, Aliexpress)*
Regarding the Arduino based on a Atmega328 Microcontroller you have to make sure that it has a real FTDI chip to avoid trouble and no CH340. The latter can be damaged by FTDI drivers. Under Linux you could run a CH340, but it doesn’t have its own ID in contrast to FTDI. The CC1101 should also be designed for the corresponding frequency. This results in
Wiring
The wiring is as following
Arduino | CC1101 |
VCC 3,3 V | VDD |
PIN GND | GND |
PIN D02 | GDO2 |
PIN D03 | GDO0 |
PIN D10 | CSn (SS) |
PIN D11 | SI (MOSI) |
PIN D12 | SO (MISO) |
PIN D13 | SCK |
Firmware flashing
Now you can flash the firmware on the Arduino under Linux. For example you download the a-culfw firmware and unpack it. Now you can plug in the Arduino. With the command
ls -l /dev/serial/by-id
you can ask for the Arduino’s ID. The answer is for example
total 0 lrwxrwxrwx 1 root root 13 Nov 30 19:17 usb-FTDI_FT232R_USB_UART_12345678-if00-port0 -&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; ../../ttyUSB0
with
12345678
as the ID.
Then we update FHEM. To do this, we enter
update
in the command line in FHEM. After that
12345678
shutdown restart.
Now we can update the signalduino module. To do this, enter
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt
in the FHEM command line.
Now we can create the signalduino in FHEM:
define sduino SIGNALduino /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_12345678-if00-port0@57600
where
12345678
is the ID.
If there is no avrdude installed on our Linux system yet, we can do that with
sudo apt-get install avrdude
First, we tell FHEM what model we have. We have an Arduino Nano with CC1101. So in the FHEM command line we enter
attr sduino hardware nanoCC1101
I would like to have the stable firmware, but alternatively I would like to have the testing firmware. So I enter
attr sduino updateChannelFW stable.
And now we download the firmware. For this we execute
get sduino availableFirmware
And now we are ready, the signalduino can be flashed
set sduino flash nanoCC1101
Done!
I switched from a CUL 433 to a signalduino. This was quite simple. You have to delete the CUL and then specify sduino for all devices via attr <device> IODev.
Now we can pair smoke detectors, switch on / off wireless socket outlets or create a Chatbot with Telegram!
Pro Tip: Make sure that your board uses the optiboot bootloader to ensure maximum stability.
*Affiliate links