Nach dem Download des Betriebssystem Images muss dieses auf eine Micro-SD-Karte kopiert werden. Dazu das heruntergeladene Archiv entpacken und, unter Windows per WinImage oder unter Linux per dd auf die SD-Karte kopieren.
Die SD-Karte per SD-Card Reader an den Rechner anschliessen und dann mit einem Tool wie dem Win32DiskImager das runtergeladene Raspian auf die SD-Karte kopieren. (Vorher natürlich das Archiv entpacken)
Dazu unter „1“ das Image auswählen, unter „2“ die SD-Karte bzw. deren Laufwerksbuchstaben und dann unter „3“ bzw. „Write“ das Kopieren starten.
fdisk -l (Herausfinden welchen Devicenamen die SD-Karte bekommen hat) dd bs=4M if=2016-05-27-raspbian-jessie.img of=/dev/sdb (Name des Images und Name des SD-Karten Devices ersetzen)
Bevor man loslegen kann kann man noch den Start des ssh Dienstes aktivieren. Dazu muss in dem Image im Verzeichnis /boot eine Datei mit Namen „ssh“ angelegt werden. Geschieht dies unter Windows so ist drauf zu achten das die Datei keine automatische Endung wie .txt oder so erhaelt. Wenn man einen LC-Display am Raspberry betreiben will muss eventuell der Bildschirm gedreht werden da ansonsten das Bild auf dem Kopf steht. Dazu in der Datei /boot/config.txt die Zeile „lcd_rotate=2“ ergaenzen um den Bildschirminhalt um 180 Grad zu drehen.
Nach dem einlegen der SD-Karte in den Pi und dem Anschluss des Netzwerkkabels und anschliessend des Netzteils bootet der Pi und man kann auf dem Router, DHCP-Server, oder was auch immer bei euch die IP-Adressen vergibt, nachschauen welche sich der Pi geholt hat.
Danach kann man von Linux aus per SSH
ssh -l pi IP-ADRESSE
oder von Windows aus per Putty auf den Pi zugreifen.
Default Passwort für den User „pi“ ist „raspberry“.
Als erstes werden die Passwörter für root und pi geändert, am Besten natürlich verschiedene Passwörter benutzen. Auch dran denken das die Tastatur eventuell noch auf Englisch eingestellt ist und daher „z“ und „y“ vertauscht sind und Sonderzeichen auch nicht da sind wo sie sein sollten. Am Besten vorher mal auf der Konsole ausprobieren..
pi@raspberrypi:~ $ sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully pi@raspberrypi:~ $ passwd Changing password for pi. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Es sollte noch eine feste IP-Adresse für den Pi eingetragen werden. Die IP-Adresse der Zentrale wird vom Container bzw. dem Backup das man einspielt bestimmt.
Die IP-Adresse wird in der Datei /etc/network/interfaces eingetragen:
Vorher steht dort irgendwo:
auto yahmbr0
iface yahmbr0 inet dhcp
bridge_ports eth0
Das wird zu
auto yahmbr0
iface yahmbr0 inet static
address 192.168.0.16
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
bridge_ports eth0
geändert. Wobei natürlich die IP-Adresse, die Netzmaske und das Gateway entpsrechend den lokalen Bedingungen angepasst werden muss.
Wer will kann jetzt noch einige Komfortzusatzsoftware installieren. Ich benutze zum editieren gerne MC, den Midnight Commander, braucht man aber nicht unbedingt, VI tuts natürlich auch.
sudo apt-get install mc
Zur besseren fehelrsuche (falls man die man braucht) auch noch das Tool lsof installieren:
sudo apt-get install lsof
Falls Ihr euch nicht immer mit dem User pi anmelden wollt sondern auch aus der ferne per root arbeiten wollt so ist in der Datei /etc/ssh/sshd_config die Zeile
PermitRootLogin without-password
in
#PermitRootLogin without-password
zu ändern, d.h. auszukommentieren. Danach ssh neu starten mit:
sudo /etc/init.d/ssh restart
Im Anschluss kann man dann schon YAHM von Leonid Kogan installieren welches nicht nur den LXC Container für Homematic enthält sondern auch Module für das ELV Funk Modul und anderes. Der Link enthält auch eine ausführliche Anleitung und weitere Informationen zu YAHM.
Die Installation von YAHM (Dauer so ca. 3-5 Minuten) funktioniert automatisiert durch folgenden Befehl:
wget -nv -O- https://raw.githubusercontent.com/leonsio/YAHM/master/yahm-init | sudo -E bash -s quickinstall -
Dabei wird noch zusätzlich benötigte Software installiert, einige Konfigurationen gemacht und dann schliesslich ein erster LXC-Container für die CCU2 erstellt.
Falls das Ganze erfolgreich war sieht das ungefähr so aus:
Danach noch das Modul für das ELV Funk Modul installieren:
Dazu muss in der Datei /boot/cmdline.txt der Verweis auf serial0 entfernt werden:
Vorher
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Nachher
dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Jetzt müssen noch im LXC Container ein paar Links und Geräte angelegt werden:
Dazu mit
sudo lxc-console -n yahm
den Konsolenlogin der virtuellen CCU Maschine (LXC-Container) aufrufen. Dort mit root/MuZhlo9n%8!G anmelden. Dann die folgenden Befehle eingeben:
mknod -m 666 /dev/ttyAMA0 c 204 64 ln -s /dev/ttyAMA0 /dev/mmd_bidcos ln -s /sys/class/gpio/gpio18/value /dev/ccu2-ic200
Dann in der Datei /etc/config/rfd.conf die folgenden Zeilen entkommentieren (Bei mir waren sie durch ein # auskommentiert) oder eingeben:
[Interface 0] Type = CCU2 Description = CCU2-Coprocessor ComPortFile = /dev/ttyAMA0 AccessFile = /dev/null ResetFile = /dev/ccu2-ic200
Auf der o.a. Anleitungsseite steht zwar „ComPortFile = /dev/mmd_bidcos“ aber das hat bei mir nicht funktioniert obwohl der Link auf ttyAMA0 da ist. Stattdessen muss dort „/dev/ttyAMA0“ eingetragen werden wie oben.
Dann mit <Ctrl+a q> die Konsole beenden. Wir befinden uns jetzt wieder auf dem Raspberry Pi.
Jetzt noch ein Startskript für das Modul anlegen und dann folgt ein Reboot.
Dazu unter /etc/init.d/ die datei hm-mod-rpi-pcb mit folgendem Inhalt anlegen:
#!/bin/sh
### BEGIN INIT INFO
# Provides: hm-mod-rpi-pcb yahm
# Required-Start: udev mountkernfs $remote_fs
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Enables GPIO 18 as reset Interface for HM RF Module for Raspberry
# Description:
### END INIT INFO
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Enables GPIO 18 as Reset Interface for Homematic RF wireless module"
printf " Enables GPIO 18 as Reset Interface for Homematic RF wireless module"
if [ ! -d /sys/class/gpio/gpio18 ]
then
echo "Preparing GPIO for HM-MOD-UART..."
echo 18 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio18/direction
printf "Preparing GPIO for HM-MOD-UART done!"
fi
# hold reset until rfd starts
echo 0 > /sys/class/gpio/gpio18/value
log_end_msg 0
;;
*)
echo "Usage: $0 start" >&2
exit 3
;;
esac
oder von www.net17.de herunterladen und nach /etc/init.d kopieren
cd /ect/init.d sudo wget http://www.net17.de/hm-mod-rpi-pcb
Danach mit dem Befehl:
sudo yahm-module -m hm-mod-rpi-pcb -f -v enable
das Modul für das Funk LAN Modul aktivieren. Der Reboot erfolgt danach automatisch.
Wer mag kann jetzt noch einige Prüfungen vornehmen ob alles wie gewünscht funktioniert.
Ob das Modul für den Funk korrekt installiert wurde
root@raspberrypi:~# yahm-module -n yahm installed
Installed modules:
hm-mod-rpi-pcb GPIO Funkmodul für Raspberry Pi2/3
Die IP-Adresse der Zentrale bekommt man
# ifconfig
eth0 Link encap:Ethernet HWaddr 4A:49:43:49:79:2C
inet addr:172.17.200.44 Bcast:172.17.200.255 Mask:255.255.255.0
inet6 addr: fe80::4849:43ff:fe49:792c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:745 errors:0 dropped:0 overruns:0 frame:0
TX packets:471 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:128031 (125.0 KiB) TX bytes:779847 (761.5 KiB)
Nachdem jetzt alles so weit konfiguriert ist und der Reboot des Pi läuft wird es jetzt Zeit eine Sicherung der bestehenden CCU2 durchzuführen.
Dazu unter System→Sicherheit anklicken und eine Sicherung durchführen.
Dann auf der neuen Zentrale anmelden und unter System→Sicherheit einspielen. Da sich die neue Zentrale die IP-Adresse per DHCP holt kann man sich diese folgendermassen anzeigen lassen. Dazu an der Konsole des LXC Containers anmelden und dann den Befehl „ifconfig“ eingeben.
pi@raspberrypi:~# sudo lxc-console -n yahm
Connected to tty 1
Type <Ctrl+a q> to exit the console, <Ctrl+a Ctrl+a> to enter Ctrl+a itself
Welcome to HomeMatic
ccu2 login: root
Password:
# ifconfig
eth0 Link encap:Ethernet HWaddr 4A:49:43:49:79:2C
inet addr:172.17.200.14 Bcast:172.17.200.255 Mask:255.255.255.0 #HIER STEHT DIE IP-ADRESSSE
inet6 addr: fe80::4849:43ff:fe49:792c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:508 errors:0 dropped:0 overruns:0 frame:0
TX packets:330 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:98950 (96.6 KiB) TX bytes:387439 (378.3 KiB)
Starten und Stoppen des LXC Containers
yahm-ctl -n yahm start yahm-ctl -n yahm stop
Wenn Sie einen anderen Namen als „yahm“ für den Container vergeben haben muss dieser im Befehl als Pramater -n natürlich angegeben werden.
Zugriff/Wechsel in den Container
yahm-ctl -n yahm join