Der Busware CUL Stick kostet immerhin auch 69€. Was viele nicht wissen: Man kann den Stick auch einfach selbst bauen und flashen. Funktioniert genauso und kostet zusammen weniger als die Hälfte.
Was wird benötigt:
Raspberry Pi mit Raspbian (Installation siehe HIER)
CC1101 868Mhz Modul (darauf achten, dass wirklich ein 868Mhz Modul bestellt wird)
Lötstation oder Steckbrett
Verkabelung des Sticks
Das CC1101 Funk Modul muss mit dem Arduino verbunden werden. Dazu folgendes Schaltbild:
Alles zusammen sieht dann etwa so aus (bei mir gelötet, auf dem Steckbrett natürlich etwas anders)
Programmierung am Raspberry Pi
Wir verbinden den fertigen CUL Stick mit dem Raspberry Pi und loggen uns via SSH ein. Als erstes finden wir die ID des Gerätes. Es ist einfacher, wenn der Stick für den Moment das einzige USB Gerät am Raspberry Pi ist. Per Kommando die USB-ID anzeigen:
ls /dev/serial/by-path
ausgegeben wird dann z.B.: platform-20980000.usb-usb-0:1.4:1.0-port0 . Merkt euch diese Information und wechselt dann zurück in euer Home Verzeichnis
cd /home/pi
Um den Stick zu flashen benötigen wir ein paar Programme, welche wir installieren:
sudo apt-get install make gcc-avr avrdude avr-libc git
Jetzt laden wir die aktuelle Version der Firmware und bearbeiten die config-header:
git clone --recursive https://github.com/smarthomeagentur/culfw1.git cd culfw1/culfw/Devices/nanoCUL/ nano board.h
wir ändern die Zeile:
/* if you are using a CC1101 module for 868MHz disable the next line */ #define HAS_CC1100_433
in
/* if you are using a CC1101 module for 868MHz disable the next line */ //#define HAS_CC1100_433
und Speichern die Datei mit Strg+X,Y,Enter.
Wenn keine weiteren USB Geräte angeschlossen sind, solltet ihr jetzt flashen können.
make make program
Wenn alles gut geht, seht ihr am Ende etwa folgendes:
Jetzt den Arduino einmal vom USB trennen und wieder anstecken. Der CUL-Stick ist nun einsatzbereit. Glückwunsch!
CUL-Stick nicht an USB0
Sollte der Stick nicht als USB0 erkannt werden, müssen wir das Makefile bearbeiten
nano makefile
und die Zeile
AVRDUDE_PORT = /dev/ttyUSB0 -b 57600
ändern in (je nach ID, welche ihr oben erfahren habt).
AVRDUDE_PORT = /dev/serial/by-path/platform-20980000.usb-usb-0:1.4:1.0-port0 -b 57600