Raspberry Pi Als Media-Center
Total Page:16
File Type:pdf, Size:1020Kb
TEIL II Der Raspberry Pi als Media-Center Kapitel 8 Audio-Player mit Smartphone-Fernbedienung Manchmal ist weniger mehr: Bevor wir Ihnen in den nächsten Kapiteln die Distri- butionen OpenELEC und RasPlex mit den Multimedia-Programmen Kodi und Plex vorstellen, zeigen wir Ihnen hier, wie Sie Ihren Raspberry Pi als Audio-Player für Ihre Stereoanlage verwenden können. Der Raspberry Pi kann dabei ohne eigenes Display laufen. Er wird über ein Smartphone, Tablet oder Notebook fernbedient. Das setzt vor- aus, dass sowohl der Raspberry Pi als auch das als Fernbedienung eingesetzte Gerät mit einem lokalen WLAN verbunden sind. Es gibt verschiedene Möglichkeiten, um aus Ihrem Raspberry Pi einen Audio-Player zu machen. Eine Variante besteht darin, den Music Player Daemon (MPD) unter Raspbian zu installieren und zu konfigurieren, was im folgenden Abschnitt beschrie- ben wird. Wenn Ihnen das zu mühsam ist, können Sie auch auf vorkonfigurierte Audio-Player-Distributionen zurückgreifen. Dieses Kapitel stellt Ihnen dazu Volumio und Pi MusicBox vor. Wenn Sie Wert auf optimale Audio-Qualität legen, sollten Sie den 3,5-mm-Audio- Ausgang des Raspberry Pi vermeiden. Die optimale Alternative besteht darin, den digitalen Audio-Datenstrom über die I2S-Schnittstelle des Raspberry Pi zu leiten und das Audio-Signal dann mit einem Digital Analog Converter zu erzeugen. In diesem Kapitel zeigen wir Ihnen, wie Sie dies mit dem beliebten Aufsteck-Board HiFiBerry bewerkstelligen. 8.1 MPD-Installation und -Konfiguration Der Music Player Daemon (MPD) läuft nach seiner Installation und Konfiguration als Hintergrunddienst, der über eine Netzwerkverbindung auf Port 6600 ferngesteuert wird (siehe Abbildung 8.1). 275 8 Audio-Player mit Smartphone-Fernbedienung Smartphone/Tablet mit Music WLAN Raspberry Pi Player Client Audio-Ausgang USB-WLAN- (3,5 mm) Adapter Stereoanlage/ mit Music PC-Lautsprecher- Player Daemon system Abbildung 8.1 Der Raspberry Pi als Audio-Player Der MPD hat selbst keine Benutzeroberfläche, ist also unsichtbar. Deswegen ist es für diese Anwendung auch überflüssig, den Raspberry Pi mit einem Bildschirm zu verbin- den. Die Steuerung des MPD erfolgt durch ein Client-Programm, wobei die Auswahl an Client-Programmen riesig ist. Infrage kommen z. B. die folgenden Programme: MPDroid (Android) MPoD und MPaD (iOS) Xfmpc (XFCE-Client zur Verwendung auf dem Raspberry Pi) diverse Linux-, Windows- und OS-X-Clients Eine schier endlose Liste weiterer Clients finden Sie auf der folgenden Seite: http://mpd.wikia.com/wiki/Clients Eine weitere Variante besteht darin, dass Sie zur Fernbedienung nicht das MPD-Pro- tokoll verwenden, sondern eine Weboberfläche auf dem Raspberry Pi. Dazu müssen Sie den Raspberry Pi zuerst als Webserver mit Apache und PHP einrichten und haben dann die Wahl zwischen verschiedenen MPD-Webclients. Egal für welche Variante Sie sich entscheiden, die Audio-Ausgabe erfolgt direkt durch den Raspberry Pi. Sie hören die Musik also nicht auf Ihrem Smartphone, Tablet oder Notebook, sondern aus den Boxen Ihrer Stereoanlage. Netzwerkkonfiguration Dieses Kapitel setzt voraus, dass es möglich ist, über ein lokales WLAN eine Verbin- dung zwischen dem Raspberry Pi und anderen Geräten herzustellen, also z. B. einem Smartphone. Die üblichste Konfigurationsvariante sieht so aus, dass Sie an Ihren Raspberry Pi einen USB-WLAN-Adapter anstecken und diesen so konfigurieren, dass sich das Gerät beim Hochfahren automatisch mit dem lokalen WLAN-Router verbin- det. Die Vorgehensweise ist in Abschnitt 5.5, »Netzwerkonfiguration«, beschrieben. Ein WLAN-Adapter ist freilich nicht zwingend erforderlich: Ihr Raspberry Pi ist auch dann über das WLAN erreichbar, wenn er über ein Ethernet-Kabel mit einem WLAN- Router mit integriertem Netzwerk-Switch verbunden ist. 276 8.1 MPD-Installation und -Konfiguration MPD-Installation und -Konfiguration Es empfiehlt sich, den MPD zuerst in einer simplen Basiskonfiguration in Betrieb zu nehmen. Die Audio-Dateien befinden sich dabei direkt auf der SD-Karte, die Audio- Ausgabe erfolgt über den Analog-Audio-Ausgang. Diverse Varianten – z. B. das Abspie- len von Audio-Dateien, die sich auf einem USB-Stick oder einem NAS-Gerät befinden, die Verwendung eines anderen Audio-Systems, anderer Audio-Ausgabegeräte etc. – erläutern wir im weiteren Verlauf des Kapitels. Neben mpd selbst benötigen Sie das Paket alsa-utils. Es enthält diverse Administra- tionsprogramme für die unter Raspbian aktive Advanced Linux Sound Architecture (ALSA). Zumeist ist alsa-utils bereits installiert – ansonsten installieren Sie es zusam- men mit mpd mit dem Befehl: sudo apt-get install mpd alsa-utils Die Konfiguration für MPD befindet sich in der Datei /etc/mpd.conf.Anfänglichmüs- sen Sie hier normalerweise nur zwei Einstellungen ändern: mpd.conf enthält die Zeile bind_to_address "localhost".Dasheißt,dassMPDnicht über das Netzwerk gesteuert werden kann, sondern nur durch Programme, die lokal auf dem Raspberry Pi laufen. Da es unsere Absicht ist, den Raspberry Pi im WLAN fernzusteuern, geben wir statt localhost die Adresse 0.0.0.0 an. Jedes Gerät, das eine Netzwerkverbindung zum Raspberry Pi herstellen kann, darf also den MPD steuern. music_directory gibt an, in welchem Verzeichnis sich die MP3-Dateien befinden. Sie haben zwei Möglichkeiten: Entweder behalten Sie die Standardeinstellung /var/lib/mpd/music bei und kopieren Ihre MP3-Dateien dorthin, oder Sie geben hier das Verzeichnis an, in dem sich Ihre MP3-Dateien momentan befinden. Egal für welche Variante Sie sich entscheiden: Stellen Sie sicher, dass dieses Verzeichnis sowie alle dort enthaltenen MP3-Dateien für den Account mpd lesbar sind! Gegebe- nenfalls führen Sie dazu die beiden folgenden Kommandos aus, die die Dateien für alle lesbar machen: cd /verzeichnis/der/mp3/dateien find -type f -exec chmod a+r {} \; find -type d -exec chmod a+rx {} \; Die resultierende Datei mpd.conf sieht dann z. B. so aus: # Datei /etc/mpd.conf music_directory "/home/pi/Musik" bind_to_address "0.0.0.0" ... 277 8 Audio-Player mit Smartphone-Fernbedienung Nach den Änderungen in /etc/mpd.conf starten Sie den MPD neu: sudo systemctl restart mpd Weitere MPD-Statusmeldungen werden in der Datei /var/log/mpd/mpd.log protokol- liert. Bei Problemen sollten Sie als Erstes einen Blick in diese Textdatei werfen. Erste Tests mit Xfmpc Erste Tests, ob MPD prinzipiell funktioniert, führen Sie am besten direkt auf Ihrem Raspberry Pi durch. Dazu installieren Sie das Programm Xfmpc und starten dieses aus einem Terminal heraus. sudo apt-get install xfmpc xfmpc & Xfmpc ist ein recht simpler MPD-Client – aber für unsere Zwecke vollkommen aus- reichend. Wie alle MPD-Clients kommuniziert es über das Netzwerk mit dem MPD. Dass in diesem Fall sowohl der MPD als auch der Client auf demselben Rechner laufen, spielt keine Rolle. Der Verbindungsaufbau sollte Xfmpc in den Standardeinstellungen gelingen (siehe Abbildung 8.2). Abbildung 8.2 Der MPD-Client Xfmpc mit seinem Konfigurationsdialog Zunächst müssen Sie sich nun mit dem Bedienungskonzept aller MPD-Clients anfreunden. Anfänglich zeigt Xfmpc nur ein leeres Fenster an. Mit dem Button Daten- bank auffrischen fordert Xfmpc den MPD auf, nachzusehen, welche MP3-Dateien (neu) verfügbar sind. Die Audio-Dateien können Sie nun in der Browser-Ansicht von Xfmpc ansehen (Listenfeld Datenbank durchsuchen). Wie bei den meisten MP3- Playern sind die Dateien nach Alben geordnet. Per Kontextmenü können Sie nun ganze Alben oder einzelne Stücke in die Playlist kopieren. Sobald Sie auf den Play- Button drücken, beginnt MPD, die Playlist abzuarbeiten. 278 8.1 MPD-Installation und -Konfiguration Nicht Xfmpc, sondern MPD ist der Audio-Player! Sollten Sie Xfmpc beenden, werden Sie vielleicht konsterniert feststellen, dass die Musikwiedergabe unverändert weitergeht – und zwar so lange, bis die Playlist zu Ende ist! Xfmpc hat MPD den Auftrag gegeben, die Playlist abzuspielen. Xfmpc zeigt in der Playlist-Ansicht zwar an, welches Stück gerade an der Reihe ist, hat mit dem Abspielen aber nichts zu tun. Egal ob Xfmpc nun weiterläuft oder nicht, kümmert sich MPD um die Audio-Ausgabe. Das gilt sogar bei einem Neustart des Raspberry Pi: MPD merkt sich, wo die Wiedergabe aufgrund des Reboots abbricht, und setzt diese unaufgefordert nach dem Neustart an dieser Stelle fort! Tonausgabe zwischen HDMI und Analog-Audio umschalten Wenn Ihr Raspberry Pi mit einem HDMI-Monitor verbunden ist, erfolgt die Audio- Ausgabe standardmäßig über das HDMI-Kabel – ganz egal, ob der Monitor über Audio-Funktionen verfügt oder nicht. Das bedeutet: Wenn Sie den Raspberry Pi mit einem Audio-Kabel mit 3,5-mm-Klinkenstecker mit Ihrer Stereoanlage oder einem PC-Lautsprechersystem verbunden haben, werden Sie dort vermutlich nichts hören! Bei aktuellen Raspbian-Versionen lösen Sie dieses Problem unkompliziert durch einen Klick mit der rechten Maustaste auf das Lautsprecher-Icon im Panel (siehe Abbildung 8.3). Abbildung 8.3 Audio-Ausgabe zwischen HDMI und Analog-Ausgang umschalten Sie können die Analog-Audio-Ausgabe durch die 3,5-mm-Buchse des Raspberry Pi auch mit einem Kommando aktivieren: amixer cset numid=3 1 Eine kurze Erklärung: amixer ist ein Kommando zur Online-Konfiguration des Linux- Audio-Systems ALSA. Mit cset wird die Einstellung für einen bestimmten Parameter verändert. numid=3 ist der Parameter, der den Ausgabekanal steuert. Die folgenden Werte sind zulässig: 0: HDMI verwenden, wenn ein Monitor angeschlossen ist, sonst Analog-Audio 1: auf jeden Fall Analog-Audio verwenden 2: auf jeden Fall HDMI verwenden 279 8 Audio-Player mit Smartphone-Fernbedienung