Wäre es nicht cool Musik direkt von euren Apple Geräten über WiFi auf eurem Audio System oder euren Lautsprechern auszugeben? Auch das kann mit dem Raspberry Pi gelöst werden, er eignet sich als AirPlay Empfänger, einfach ein paar aktiv Lautsprecher anschließen und die Musik von euren Geräten genießen. Die notwendige Schnittelle zwischen euren iOS Geräten und dem Raspberry Pi bzw. eurem Audio System stellt uns das Tool Shairport zur Verfügung.
Was ist Shairport?
Shairport emuliert eine Apple AirPort Express zum Zweck des Musik-Streamings von iTunes, iPads, iPods und iPhones. Der Shairport Server verwendet das von Apple entwickelte Remote Audio Output Protocol (RAOP). ShairPort unterstützt leider momentan kein AirPlay v2 was für Video- und Foto-Streaming notwendig ist.
Sender iPhone, iPad, iPod, MacBook,iTunes sowie Android Geräte mit entsprechender Airport App
Empfänger Raspberry Pi mit WiFi USB Stick oder Netzwerk Kabel
Audio Ausgabe Lautsprecher oder Audio System mit Line-In bzw AUX Eingang oder HDMI
Benötigte Hardware
- Raspberry Pi Modell B
- Gehäuse für den RPi
- 16GB SD Speicherkarte
- USB WiFi Adapter
- Netzteil für den RasPi
- 3,5mm Klinkenkabel
- Optional – Für gute Ausgabequalität
- Micro USB Kabel (für Power über den Hub)
- USB Sound Karte
- USB HUB mit Netzteil
Für besseren Sound sollte eine USB Soundkarte verwendet werden, da der Line-Out von der Qualität nicht gut ist und immer ein Knacken oder Rauschen hat. Falls eure HiFi Anlage über einen HDMI Eingang verfügt könnt ihr auch diesen verwenden.
Shairport Installation
Als erstes aktualisieren wir die Paket-Liste und führen ein Update durch.
1 |
sudo apt-get update && sudo apt-get upgrade |
Falls wir den 3,5mm Klinkenausgang verwenden, definiert diesen so als Standard Output.
1 |
amixer cset numid=3 1 |
Hier eine Übersicht der Ausgänge, ihr könnt den Audio Ausgang auch via raspi-config konfigurieren.
Folgende Pakete sind Voraussetzung für die Installation von Shairport, unter anderem benötigen wir „git“ um die Sourcen von Shairport über Github kopieren sowie compilieren und installieren zu können.
1 |
sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils |
Wir laden Shairport von Github in unser Home
1 2 |
cd ~ sudo git clone https://github.com/albertz/shairport.git shairport |
Nachdem wir die Sourcen geladen haben können wir diese kompilieren und installieren
1 2 3 4 |
cd shairport sudo make sudo make install |
Um die Software nach jedem Neustart automatisch mit zu starten benötigen wir ein Init-Script, Shairport liefert uns hierfür eine Beispiel Daten die wir nach /etc/init.d kopieren und mit den passenden rechten versorgen
1 2 3 |
sudo cp shairport.init.sample /etc/init.d/shairport cd /etc/init.d sudo chmod a+x shairport |
Dem Shaiport Dienst müssen wir via update-rc.d noch mit dem richtigen Runlevel versehen.
1 |
sudo update-rc.d shairport defaults |
Danach bearbeiten wir noch das vorher kopierte Script für den Shairport mit Nano.
1 2 |
cd /etc/init.d sudo nano shairport |
Wir ändern die Zeile „DAEMON_ARGS“ wie folgt ab. Der Parameter -a bestimmt den Namen der AirPlay Station, gespeichert wird wie immer mit STRG+O und beendet mit STRG+X
1 2 |
#DAEMON_ARGS="-w $PIDFILE -a $NAME" (alte Zeile) DAEMON_ARGS="-w $PIDFILE -a RaspberryPi" |
Das wars auch schon, wir können den Shairport Dienst nun über die vorher angelegten Init Scripte starten, es sind folgende weitere Aktionen möglich; start, stop und restart
1 |
sudo /etc/init.d/shairport start |
Viel Spaß!
Airplay an euren Geräten nutzen
Wenn sich eure Geräte im selben Netzwerk befinden taucht nun in der Airplay Funktion eures Geräts der Raspberry Pi auf, ist das nicht der Fall müsst ihr das WLAN einmal trennen und erneut verbinden da die Apple Geräte nur beim Verbinden nach aktiven AirPlay Geräten suchen. Es gibt übrigends auch App für Andoid Geräte mit welchen man Shaiport verwenden kann, zb. AllCast oder AllStream