Raspberry Pi und Spotify

Inzwischen ist mein Raspberry Pi gelandet und ich habe die ersten Gehversuche soweit erfolgreich hinter mich gebracht und den Raspberry Pi an Spotify angeschlossen bekommen.

Raspberry Pi Logo

Raspberry Pi Logo

Raspberry Pi

Der Raspberry Pi (RPI) ist ein sogenannter (lüfterloser) „Ein-Platinen-Computer“, darin werkelt ein ARM-Prozessor, das Gerät verbraucht 2,5-3,5 Watt. Für das, was es kann ist das erstaunlich wenig und für mich eignet es sich damit als „Medienzuspieler“ im Wohnzimmer. Auf dem RPI sind unterschiedliche Systeme ans Laufen zu bringen, es gibt von Raspberry selber Distributionen aber auch gebaute Debian-Versionen und darüberhinaus auch jede Menge Images, die neben der Distribution schon vorinstallierte Pakete für die unterschiedlichsten Einsatzzwecke enthalten.

Ziel und Einsatzzweck

Der Raspberry Pi soll bei mir an Spotify angebunden werden. Bisher habe ich das immer über Ipad, AppleTV und dann Airplay gemacht. Das funktioniert zwar, schränkt aber gerade bei der Benutzung mit mehreren daheim zu sehr ein.

Also das Ziel: Der RPI unterhält sich mit Spotify und ist von außen (im Idealfall über beliebige) Geräte steuerbar. Entweder Apps oder noch lieber ein Webinterface.

Umsetzung

Das schöne am Internet – egal welches Problem man sich stellt – man findet vermutlich jemanden, der das gleiche Problem angeht oder vielleicht sogar schon gelöst hat. So auch hier: Mit Mopidy gibt es einen MusicServer, der sich u.a. an Spotify anbindet. Mopidy ist inzwischen auch auf dem Raspberry Pi verfügbar. Nach einigem Recherchieren wie ich Mopidy am besten auf den Raspberry Pi bekomme bin ich dann auf der Webseite von Wouter van Wijk gelandet, der ziemlich das gleiche Projekt verfolgt und schon ein Image unter dem Titel „PI Musicbox“ zusammengestellt hat. Es enthält neben Mopidy auch ein Webinterface über das Playlisten etc. gesteuert werden können.

Installation und Spotify

Logo SpotifyAls erstes – Image herunterladen, ZIP-Datei entpacken – man erhält eine .img-Datei. Auf dem Mac gibt es dann ein nettes Programm namens „RPI-SD Card Builder“ – dem wirft man das Image vor und er erzeugt daraus die nötigen Partitionen etc. auf der SD-Card. Dauert 10 Minuten und danach hat man die fertige SD-Card. Diese gilt es zu mounten und die notwendigen Settings/Logindaten einzutragen. Ich hatte noch ein sehr frühes Image und musste ein paar Verrenkungen machen, um den Netzzugang ans Laufen zu bekommen, das ist in der aktuellen Fassung gelöst).

SD-Card in den RPI, Netzwerkkabel einstecken, booten – und tatsächlich, es funktioniert.

Nach außen wird unter der IP-Adresse des Raspberry Pi ein Webservice aufgemacht, der die Daten von Spotify durchreicht. Hier ist momentan nicht der komplette Spotify-Funktionsumfang abgebildet, aber Playlisten abspielen etc. funktioniert. Das Webinterface ist dabei nett gemacht (jquery und Co), d.h. Änderungen, die man z.B. zeitgleich von einem anderen Gerät an den Playlisten vornimmt werden ohne Reload „just in time“ auch in Browsern auf anderen Geräten angezeigt.

Einschränkungen

Was momentan noch nicht funktioniert: Playlist-Ordner werden von Mopidy bisher noch nicht unterstützt, d.h. es werden alle Playlists untereinander angezeigt. Momentan habe ich die Stereoanlage über den analogen Klinke-Ausgang des RPIs angeschlossen, hier habe ich beim Trackwechsel momentan ein einmaliges Knacksen auf der Leitung – das liegt wohl am RPI und ist da ein bekanntes Phänomen. Ich werde es die Tage mit einer USB-Soundkarte probieren.
Etwas mehr Schwung in die Szene würde auch gelangen, wenn Spotify die RPI-Umgebung bzw. deren ARM-Prozessoren besser unterstützen würde. Bisher gibt es hier nur Anfragen an Spotify, der Spotify-Client selbst ist bisher nur für x86-Umgebungen veröffentlicht.

Was funktioniert
Mopidy auf dem RPI funktioniert bei mir bei den bisherigen Tests stabil. Bisher keine Abstürze oder Aussetzer. Soweit scheint mir der Ansatz bisher vielversprechend, ich teste das jetzt unter „familiären Produktionbedingungen“.

Einbindung in Hausautomation
Letzter Absatz am Rande: Der Raspberry Pi hat keinen Aus- bzw. Einschalter, d.h. an dieser Stelle muss sich überlegen, wie man das Gerät an- und ausschaltet. Vor allem auch, wenn im Familienbetrieb die Option „gehe mit SSH auf den RPI und mache einen shutdown -h now“ als „nicht realistisch“ anzusehen ist. Bei mir ist die Lösung die Integration in meine Hausautomationswelt, die auf FHEM basiert.
Konkret: Der RPI sitzt an einer schaltbaren Steckdose und es gibt einen simplen Funkschalter über den bei uns alle Audiokomponenten geschaltet werden. Einschalten erfolgt über einen Druck auf den Schalter, der bei mir bei FHEM aufläuft. Ist der RPI aus (via Ping werden bei mir alle Netzwerkgeräte alle 5 Minuten gecheckt) schaltet FHEM die Steckdose ein. Drückt man später den Schalter, passiert nichts, da FHEM „weiß“, dass der RPI ja schon läuft. Ausschalten ist momentan etwas sehr simpel mit einem Cronjob auf dem Raspberry Pi zu später Stunde gelöst (also nicht über FHEM).
Bei Interesse kann ich die 20 Zeilen Code zu FHEM hier auch gerne reinschreiben.

Fazit

Für die erste Woche mit dem RPI hat das wirklich Spaß gemacht und funktioniert soweit schon – Spielraum nach oben gibt es und Ideen für den zweiten RPI entstehen auch schon. Apple TV habe ich kurzerhand abgebaut, denn zu mehr als „Spotify via Airplay“ habe ich es nie gebraucht und das kann der RPI auf dem Level genausogut.

Gesammelte Links