<

hirnrekorder

film - fernsehen - musik - zeug

Raspberry Pi Als Media Center

| Comments

Ich bin kürzlich zu einem Fernseher gekommen und sah mich in der Not, diesen zu bespielen. Ein günstiges Media Center sollte her und nach einigem hin und her entschied ich mich wegen kleinem Footprint, hoher Flexibilität und halbwegs geringen Ansprüchen, für einen Raspberry Pi und im Folgenden erzähle ich möglichst detailreich von meinem Setup, denn es läuft jetzt und ich bin verdammt zufrieden.
Dabei nehme ich die Perspektive eines Mac-Benutzers ein. Die Tools und einige Feinheiten unterscheiden sich ein wenig zu einem Windows System.

Shopping

Des Weiteren benötigt man entweder ein Netzwerkkabel oder einen W-Lan Adapter , den man an einen USB Port anschließen kann, eine USB Tastatur für das initiale Setup und eine USB-Festplatte, auf der am Ende die ganzen Medien liegen werden (hat man einen Medienserver, der am Netzwerk liegt, geht das natürlich auch).

Setup

Installation

Ich benutze auf dem Raspberry Pi Raspbmc, ein UNIX mit integriertem XBMC, in das automatisch hinein gebootet wird.

Das Image lädt man sich hier und folgt folgender Anleitung. Raspbmc » OS X / Linux installation Hier wird das Image auf der SD-Card installiert, so dass man es danach nur noch in den Pi schieben muss und fertig.

Nun schließt man den Pi an den Fernseher, schiebt SD-Card, Netzwerkkabel, Taststur und Stom an die passenden Stellen und startet das Teil.

Man wird durch einen kleinen Assistenten geführt, in dem man Standort, Zeit, Tastaturlayout, SSH und Übertaktung einstellen kann. Denn SSH Server startet man und die Übertaktungseinstellung “fast” kann man recht benkenlos benutzen, denke ich. So mache ich das jedenfalls. SSH ist wichtig, damit man jeden weiteren Zugriff auf den Raspberry Pi bequem von seinem Rechner tätigen kann. Hier sollte man auch die IP Adresse sehen, die dem Pi gegeben wurde, die man sich für späteren Netzwerkzugriff auf das Gerät merken sollte.

Start

Jetzt sollte das XBMC starten und bereits voll funktionsfähig sein. Hat man bereits eine USB-Festplatte verbunden, kann man diese auf Mediendaten scannen lassen und mit den gewählten Datenbanken automatisch mit Metadaten anreichern lassen. Sonst kann man schon diverse Plugins installieren und so Youtuben, die Mediathek der öffentlich-rechtlichen Sender browsen oder sonstigen Content per Internet beziehen.

XBMC Remote

Zunächst sollte man aber in den Einstellungen die XBMC remote aktivieren. So kann man nämlich später die Tastatur abziehen und entweder per Webinterface oder iPhone/Android App das Media Center steuern.

Externe Festplatte (Dateisystem)

Damit kommen wir zur Festplattenfrage. Da die meisten nun zwei verschiedene Betriebssysteme im Haushalt haben (das UNIX unter dem Raspbmc und Mac OS bzw. Windows) und es stellt sich die Frage, welches Filesystem auf der externen Festplatte geeignet ist, damit es von beiden Systemen gelesen und beschrieben werden kann.
Benutzt man Mac OS ist man auf der sicheren Seite, denn Raspbmc kann HFS+ formatierte Festplatten schonmal lesen. Schreibuntertützung installieren wir uns dazu.

Dazu geht man ins Terminal und verbindet sich per SSH mit dem Pi. (In meinem Fall hat der Pi die unten angegeben IP Adresse, die jeder bei sich anpassen sollte.)

1
$ ssh pi@192.168.0.192

So loggt man sich als Benutzer pi ein. Das Standardpasswort ist raspberry.

Dann installiert man sich ein paar HFS Tools

1
2
$ sudo apt-get install hfsutils
$ sudo apt-get install hfsplus

und remountet die Festplatte mit HFS+ Schreibzugriff.
Vorher sollte man schauen, wo die externe Festplatte gemountet wurde und wie die Festplatte heißt. Bei mir ist der Ort /dev/sda2 und der Mountpoint /media/foobar. Das muss dann entsprechend angepasst werden.

1
$ sudo mount -t hfsplus -o remount,force,rw /dev/sda2 /media/foobar/

Nun kann man auf der USB Platte auch schreiben und muss sie nicht immer an den Mac anschließen.

Komplizierter ist es, wenn die HFS+ Festplatte automatisch mit schreibzugriff gemountet werden soll, denn die o.a. Variante ist nur temporär, also bis zum nöchsten Reboot.

Benutzt man für die USB HDD den gleichen USB Port am Raspberry Pi, kann man einen Eintrag in /etc/fstab anlegen. Das funktioniert dann aber nur, für diese Festplatte und nur an dem Port.
Da ich das System, wenn es erstmal steht, so lasse, wie es ist, stellt das für mich kein Problem dar. Möchte man das dynamisch machen, gibt es dafür bestimmt Möglichkeiten, oder man benutzt ein anderes Dateisystem.

Für meine Variante tut man foolgendes. Man editiert /etc/fstab

1
$ sudo nano -Bw /etc/fstab

und fügt folgende Zeile ans Ende der Datei ein.

1
/dev/sda2 /media/foobar hfsplus force,rw,exec,auto,users,uid=501,gid=100 0 0

Die Leerzeichen wandelt man bitte in Tabulatoren um.

Nun kann die Festplatte beschrieben werden, was für das speichern von Metadaten vom XBMC, sowie diverse andere Services praktisch sein kann.

Mein Hauptanwendungsfall für den Schreibzugriff ist das Kopieren von Dateien über SSH vom Mac zum Raspberry Pi. Dazu muss man sich auf dem Pi ein root Passwort vergeben, denn als normaler User geht das leider nicht. Man loggt sich per SSH als user pi ein und setzt sich ein root Passwort

1
$ sudo passwd root

Nun kann man aus seinem Teminal heraus Daten auf den Pi kopieren indem man folgendes tut.

1
$ sudo scp -r /this/is/my/source/folder/foo/ root@192.168.0.192:/media/foobar

(Die IP-Adresse wieder durch die des eigenen Pi’s ersetzen.)

Damit kopiert man seinen Quellordner foo auf die Festplatte foobar.
(Man sollte beachten, dass das sudo nach dem root Passwort des Quellsystems fragt und man dann nach dem root Passwort des Zielsystems gefragt wird.

Jetzt kann man also entweder seine Mediendaten über das Netzwerk kopieren oder die Festplatte an das Basissystem anschließen und so befüllen.

Zusatzservices

Fernbedienung

Nun will man ja sein Media-Center bequem vom Sofa aus fernsteuern und nicht mit einer am Pi angeschlossenen Tastatur herum hantieren. Dazu konfiguriert man sich im XBMC den Remote-Zugriff und kann so, sofern sich alle Geräte im gleichen Netzwerk befinden, entweder vom Webbrowser oder einer dedizierten (Smartphone-)App das XBMC steuern.

Sowohl im Browser, als auch in der App trägt man sich 192.168.0.192:8080 ein und hat so über diesen Port Zugriff.

Eine weitere sehr schöne Anlaufstelle ist das Maraschino Projekt. Ein Frontend für diverse Services, die man auf seinem XBMC HTPC laufen lassen kann.
Installation und Setup geht geradeaus per SSH. Die Anleitung dazu gibt es auf der entsprechenden Webseite.

Usenet / Bittorrent

Möchte man auf dem Pi zusätzlich Usenet oder Bittorrent Clients laufen lassen, so ist auch das möglich, jedoch nicht zu gleichzeitigem Betrieb empfohlen. Die Ressourcen dieses kleinen Computers sind beschränkt.

Ein sehr ausführliches Tutorial, wie man sich die einschlägigen Usenet Services installiert, findet man bei RaspberryPi – rPiDownloader Part 1 – Basic Setup und den beiden Folgeartikeln, wobei ich anstatt SABnzb eher NZBget installieren würde, da es viel ressourcenschonender ist.
Eine funktionierende Anleitung dazu finder man hier auf How-To Geek

Für eine BitTorrent Installation kann man mal hier nachlesen. How to Turn a Raspberry Pi into an Always-On BitTorrent Box

Monitoring

Wenn mehr als nur das XBMC auf dem Pi läuft, lohnt es sich ggf. die Ressourcen im Überblick zu behalten. Dazu installiert man sich mit

1
$ sudo apt-get install htop

einen schönen Aktivitätsmonitor für die Kommandozeile, der sich eben auch mit htop starten lässt.

Referenzen

Hier sind noch weitere Referenzen, die mir beim Setup geholfen haben.

Use USB hard disk & flash drives with your Raspberry Pi | The Developer’s Tidbit

RaspberryPi – rPiDownloader Part 1 – Basic Setup | Cylindric’s Words

Turn a Raspberry Pi Into an XBMC Media Center in Under 30 Minutes

How to Install NZBGet for Lightweight Usenet Downloading on Your Raspberry Pi

How to Turn a Raspberry Pi into an Always-On BitTorrent Box

Raspberry Pi • Projects

Fazit

Ich bin soweit zufrieden. Es ist zwar eine Menge Frickelei, aber dafür ist dieses Experiment für einen schmalen Taler zu haben und das alles zwang mich mal mit UNIX etwas intensiver auseinander zu setzen. Wirft man mehr Geld auf die Problematik, wird das natürlich alles einfacher und performanter, aber das brauche ich gerade nicht.

Mein leicht übertakteter Raspberry Pi spielt ohne mit der Wimper zu zucken 1080p codierte Videos ab, hat das XBMC gerade nichts zu tun, können die anderen Services in Rihe laufen, es funktioniert sogar Apples Airplay ziemlich gut, wobei ich das noch nicht ausgiebig getestet habe. Meine ersten paar versuche Musik vom iPhone und Video vom Mac zum Pi zu streamen verliefen problemlos.

Wenn man also Spaß am Basteln hat, wenig ausgeben möchte und ein wirklich vielseitiges Gerät gebrauchen kann, sollte zuschlagen.

Um sich mal eben eine funktionierende Box unter den Fernseher zu stellen taugt das allerdings eher mittelmäßig, wobei die barebones-Installation des XBMC mit externer Medienfestplatte sehr flott geht.

Die komplizierten Teile der Installation waren, die Beschreibbarkeit von nicht nativen Dateisystemen direkt beim Booten zu gewährleisten, damit ein Dateitransfer gewährleistet werden kann, ohne dass man ständig das Terminal öffnen muss.

Ein schönes Gerät, das für meine Zwecke performant geug ist.

Bei Fragen, einfach in die Kommentare. Vielleicht habe ich ja auch was vergessen.

Comments