In diesem ersten Teil beschreibe ich die Installation der Softwarekomponenten von fhem auf dem Raspberry Pi für den Betrieb mit genau diesem Erweiterungsboard.
Es soll zur Vermittlung der Installation und Anpassung dienen und bietet keine Gewähr auf Vollständigkeit, da diese auf meinem eigenen Erfahrungen beruhen.
Installation des OS
Für die Installation habe ich eine 8GB Speicherkarte von SanDisk mit der Class 10 genommen und darauf ein Debian Wheezy mit dem Datum vom 7. Januar 2014 installiert. Die Quellen dazu findest du hier.Um das Image auf die Karte zu bekommen verwende ich unter OSX das Programm "Pi Filler", unter Windows gibt es den "Win32DiskImager" welches auch in einer VM recht schnell funktioniert. Dazu muss in einer Windows VM auf dem Mac ein Kartenleser genommen werden, da der SD-Kartenport im Windows (okay, ich habe XP darin laufen und kein 7) nicht untertstützt wird.
Mehr ist zur Installation des Images eigentlich nicht zu sagen, ausser dass die erforderlichen Installationen nach der ersten Inbetriebnahme wie immer durchzuführen sind (IP-Adresse, Password, locale usw...), aber das beschreibe ich hier nicht weiter im Detail.
Konfiguration des System
Nachdem das Image auf der Karte ist, müssen weitere Pakete installiert und das System konfiguriert werden. Im folgenden beschreibe ich kleine Shellkommandos, welche die Anpassung des Systems vornehmen.Wer genau wissen möchte was ich damit mache, sollte sich das Handbuch zum "Addon Board für Raspberry PI" herunterladen und durchlesen - meine Anpassungen sind nämlich genau darauf bezogen.
Systemanpassungen
Folgende Pakete werden nun mittels "apt-get" nachinstalliert, was einige Zeit dauern kann:sudo apt-get install vim libdevice-serialport-perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl i2c-tools libgd-text-perl libimage-librsvg-perl libi2c-dev python-smbus owserver ow-shell libgd-text-perl libimage-librsvg-perl fbi automake gcc-4.7 libxml-simple-perl -ydie Installation später aber deutlich vereinfacht. Und dann entferne ich "nano", diesem komischen Editor - "vi" ist mir da doch lieber:
sudo apt-get remove nano -yNachdem die ersten Grundlagen für die Installation vorgenommen sind, werden zunächst die boot-Parameter angepasst:
echo "dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait" > /boot/cmdlineDie Debug Konsole wird mit
abgeschaltet. Dann werden eingetragene Module deaktiviert:sed -i "/^T0:23/s/^\(.*\)/#\1/g" /etc/inittab
und neue udev-Regeln für die I2C-Devices (kommen später über die Weboberfläche im fhem dazu) erstellt:sed -i "/^blacklist spi-bcm2708/s/^\(.*\)/#\1/g" /etc/modprobe.d/raspi-blacklist.conf
echo "i2c-dev" >> /etc/modprobe.d/raspi-blacklist.conf
echo "SUBSYSTEM==\"i2c-dev\", MODE=\"0666\" " > /etc/udev/rules.d/98_i2c.rules
OW Server
Es folgt die Konfiguration des OW (OneWire) Servers. Die bestehende Konfig (durch die Installation des Paketes "owserver" - siehe oben in der apt-get-Zeile) wird für die lokalen Bedürfnisse angepasst:
cp /etc/owfs.conf /etc/owfs.conf.bakcat << EOF>/etc/owfs.confserver: device = /dev/i2c-1ftp: port = 2120server: port = localhost:4304EOF
I2C-Support
Die I2C-Komponenten auf dem Board werden beim Systemstart initialisiert. Damit das passiert, muss in der /etc/modules der Eintragvorgenommen werden um die Module beim booten zu laden.echo "i2c-bcm2708" >> /etc/modulesecho "i2c-dev" >> /etc/modules
HIPI-Tools
Die Installation der hipi-tools (Sammlung von Perl-Modulen für den Raspi) geht recht einfach, dauert nur etwas:
wget http://raspberry.znix.com/hipifiles/hipi-installsudo perl hipi-install
System aktualisieren
REPO-URI Support
Herunterladen und installieren:sudo wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-updateDanach einen restart durchführen:
sudo shutdown -r now
Linux Framebuffer Device Support
Für das Display (SPI) wird der Linux Framebuffer Support benötigt. Das wird mittels
installiert und durch den dauerhaften Eintragsudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update afe7e2abbf5cd7b8a25931e0eb2ca52a42bab7f6
in der /etc/modules gestartet. Für die Ansteuerung des kleinen tft wird übrigens das Debian-Paket "fbi" benötigt, was aber oben bereits schon installiert wurde.echo "fbtft_device name=sainsmart18" >> /etc/modules
Wiring PI
Für die Ansteuerung der GPIO-Pins wird "Wiring PI", eine Library für den Zugriff auf die GPIO-PINs, benötigt. Die Installation ist recht einfach, dauert jedoch etwas:
git clone git://git.drogon.net/wiringPiEin erster Test mit der Hintergrundbeleuchtung des kleinen framebuffer-tft isplay kann danach sofort vorgenommen werden. Zuerst wird der GPIO-Pin 4 in der cmd-Shell als Ausgabedevice deklariert:
cd wiringPi
./build
und kann damm mittelsgpio mode 4 out
gpio write 4 1 # eingeschaltet
gpio write 4 0 # ausgeschaltetwerden. Cool, oder?
Im zweiten Teil geht es nun um die Installation und Konfiguration von fhem...