Raspberry Pi

Aus FHEMWiki
Version vom 27. Oktober 2013, 18:32 Uhr von Arne (Diskussion | Beiträge) (Problem: FHEM-Blockierung bei Update)

Beim Raspberry Pi handelt es sich um einen kreditkartengroßen Einplatinen-Computer, der von der Raspberry Pi Foundation entwickelt wird. Die Hardware basiert auf dem BCM 2835 SoC (System-on-Chip) von Broadcom, einem 700 MHz ARM-Prozessor der ARMv6-Architektur/ARM11-Familie. Derzeit verfügbar ist das Modell B mit u.a. 256 MB RAM (ab Auslieferung Oktober 512 MB), zwei USB 2.0 Anschlüssen und 10/100 MBit Ethernet-Controller. Dank der kleinen Abmessungen, dem recht geringen Energieverbrauch (ca. 3,5 Watt) sowie der günstigen Anschaffungskosten (ca. 33€) ist der Raspberry Pi eine attraktive Hardware für die Heimautomatisierung mit FHEM. Er ist dank dem Linux-Betriebssystem vollständig kompatibel zur aktuell vorhandenen und von FHEM unterstützen Hardware. Das derzeit empfohlene Standard-Image zum Betrieb des Raspberry Pi ist die auf Debian 7.0 Wheezy basierende Raspbian Distribution.

Installation / Setup

Das Betriebssystem sollte direkt bei Raspberry unter dem Link http://www.raspberrypi.org/downloads (Raspbian, ca. 577 MB) geholt werden.

Nach dem Herunterladen des entsprechenden Archivs muss das Image entpackt und auf die SD-Karte geschrieben werden.

Unter Unix/Linux erfolgt dies via dd-Befehl. Zum Beispiel:

sudo dd bs=1M if=2012-08-16-wheezy-raspbian.img of=/dev/sdz

Achtung: Bei Angabe eines falschen Device hinter of= kann der Anfang der eigenen Festplatte überschrieben werden. (Datenverlust!)

Je nach System/Distribution und vorhandenen Festplatten variiert das Device, z.B. /dev/mmcblk0 (Ubuntu), /dev/sdb, /dev/sdc oder /dev/rdisk1 (OSX). Folgende Möglichkeiten können helfen, das richtige Device zu ermitteln:

  • Mit dem Befehl df erhält kann eine Übersicht aller angeschlossenen und gemounteten(!) Speichermedien.
  • Beim Einstecken der Speicherkarte in den PC wird in die Log-Datei /var/log/messages ein Eintrag gemacht. Beispiel: kernel: [2077612.776470] sd 14:0:0:0: [sdb] 7954432 512-byte logical blocks: (4.07 GB/3.79 GiB)
  • Mit dem Befehl fdisk kann die Größe eines bestimmten Devices geprüft werden: fdisk -l /dev/sdb Beispielausgabe: Platte /dev/sdb: 4072 MByte, 4072669184 Byte
  • Unter Windows kann das Tool Win32DiskImager genutzt werden.

Nach der Installation des Images sollte der Raspberry Pi von der SD Karte booten.

Um eventuell eine größere SD-Karte komplett zu nutzen, kann dies per folgendem Menu erledigt werden:

sudo raspi-config

Es kann erforderlich sein, einen KernelUpdate einzuspielen, um einen USB-Bug zu beheben. Dieses Update ist zu finden auf github.

Die Installation von fhem auf dem Raspberry Pi kann mit dem fertigen debian-package erledigt werden. Lediglich das Perl-Modul "Serialport" wird benötigt - Perl ist in der Regel bereits installiert, kann aber sicherheitshalber einfach mit dem apt-get-Befehl zugefügt werden:

sudo apt-get install perl libdevice-serialport-perl
sudo apt-get install libio-socket-ssl-perl
# fhem-X.Y.deb bitte mit der aktuellsten, stabilen Version ersetzen
wget  http://fhem.de/fhem-X.Y.deb
sudo dpkg -i fhem-X.Y.deb

Möglicherweise ist es noch nötig, fehlende Abhängigkeiten aufzulösen. Das kann mit folgendem Befehl erledigt werden:

sudo apt-get install -f

Bekannte Probleme

Der RPi hat keine Real-Time-Clock (RTC), das heißt, dass er nach einem Neustart keine gültige (im Sinne von aktuell) Systemzeit hat, sondern ein Datum in der Vergangenheit. Dieses Problem wird sinnvollerweise mit einer NTP-Konfiguration umgangen.

Dabei muss Sorge getragen werden, dass der ntpd schon einen Datums-/Zeitabgleich gemacht hat, bevor FHEM gestartet wird. Geschieht der Abgleich nicht vorher, sondern erst nachdem FHEM schon läuft, stellt FHEM die Logs zwar auf das nun aktuelle Datum um (die "alten" Logs mit dem eigentlich ungültigen Datum werden natürlich behalten), aber irgendetwas scheint FHEM dabei so zu belasten, dass es einen "load" von über 0.8 bis 0.9 erzeugt. Diese Last besteht auf Dauer und verschwindet erst, wenn man das Ganze sauber durchkonfiguriert und FHEM neu gestartet hat. Die hohe Systemauslastung zeigt sich auch in einem sehr trägen Laden der FHEM-Web-Seiten in einem beliebigen Browser.

Bei einen Update von FHEM durch den Befehl update wird standardmäßig ein Backup durchgeführt. Die (ggf. großen) Log-Dateien werden dabei ebenfalls archiviert. Während der Archivierung ist FHEM blockiert. Durch die beschränkte Leistungsfähigkeit eine Raspberry Pi kann das Backup lange dauern. Durch ein "attr global updateInBackground" wird ein Backup im Hintergrund ausgeführt. Diese Einstellung ist seit FHEM 5.5. Standard. [Quelle: FHEM-Forum].

Alternative Möglichkeiten: Backup ausschalten und manuell durchführen; Backup-Befehl anpassen und so große Dateien bzw. Verzeichnisse (log/) nicht archivieren; ...

Externe Links