Raspberry Pi als Musikabspielgerät an der Stereoanlage

Aus BraLUG-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Was soll das hier?)
(Eine kleines Benutzerinterface)
Zeile 20: Zeile 20:
 
==Music Player Daemon (MPD)==
 
==Music Player Daemon (MPD)==
 
==Eine kleines Benutzerinterface==
 
==Eine kleines Benutzerinterface==
[[Bild:Rpi gui music.png|200px|Screen "Music"]]
+
[[Bild:Rpi gui music.png|thumb|150px|Screen "Music"]]
[[Bild:Rpi gui queue.png|200px|Screen "Queue"]]
+
[[Bild:Rpi gui queue.png|thumb|150px|Screen "Queue"]]
[[Bild:Rpi gui weather.png|200px|Screen "Weather"]]
+
[[Bild:Rpi gui weather.png|thumb|150px|Screen "Weather"]]
 +
Zur Steuerung des MPD auf dem Raspberry gibt es eine Reihe von Clients für die verschiedensten Betriebssysteme. Hier eine kleine Auswahl für Linux:
 +
* [http://www.musicpd.org/clients/mpc/ mpc]: ein kleines Kommandozeilentool zur rudimentären Steuerung
 +
* [http://www.musicpd.org/clients/ncmpc/ ncmpc], [http://ncmpcpp.rybczak.net/ ncmpcpp]: [http://www.gnu.org/software/ncurses/ncurses.html Curses-basierte] MPD-Clients für die Textconsole
 +
* [http://gmpclient.org/ gmpc]: grafischer MPD-Client auf Basis GTK2
 +
* [http://ario-player.sourceforge.net/ ario]: grafischer MPD-Client auf Basis GTK+
 +
* [http://goodies.xfce.org/projects/applications/xfmpc Xfmpc]: grafischer MPD-Client speziell angepasst für Xfce-Desktop
 +
* [Sonata]: ein, in Python geschriebener, grafischer MPD-Client auf Basis GTK+
 +
Weitere MPD-Clients für Linux, Android, MacOS, Windows etc. findet man z.B. in dieser [http://mpd.wikia.com/wiki/Clients Übersicht].
 +
 
 +
 
 +
Nun ist es aber so, dass man nicht immer einen Rechner, Smartphone oder Tablet im Wohnzimmer zur Verfügung hat bzw. hochfahren möchte. Aus diesem Grund kommt zur Steuerung des MPD das Touch-Display an meinem Raspberry ins Spiel. Ich habe eine minimalistische Bedienoberfläche implementiert, mit der die wichtigsten MPD-Funktionen angesteuert werden können:
 +
* Auswahl von (vorkonfigurierten) Abspiellisten auf dem Server
 +
* "Start", "Stop", "Vor" und "Zurück" innerhalb der aktiven Abspielliste
 +
* Ein-/Ausschalten von Zufallswiedergabe und Endlosschleife
 +
* Anzeige diverser Informationen (Künstler, Album, Titel, Abspielzeit) zum gerade abgespielten Musikstück
  
 
=Softwaredownload=
 
=Softwaredownload=

Version vom 24. September 2014, 12:13 Uhr

Inhaltsverzeichnis

Was soll das hier?

Eigentlich wollte ich nie beim "Raspberry Pi"-Hype mitmischen. Als eingefleischter Pinguin muß ich immer innerlich grinsen, wenn die neuen "Linuxversteher" von ihren genialen Projekten berichten, aber meist nicht so richtig wissen, was sie tun...! Allerdings hatte ich mir vor einiger Zeit auch so ein Ding angeschafft, weil der Mini-Rechner für meine Wetteraufzeichnungen, nach langen Jahren klaglosen Betriebes, plötzlich rumzickte. Die aufgetretenen Probleme konnten aber gelöst werden, die Hardware arbeitet wieder stabil und nun lag der voreilig gekaufte Raspberry arbeitslos auf meinem Schreibtisch rum....

Irgendwann kam mir dann doch eine Idee zu einen sinnvollen Einsatzzweck, für die es sich lohnte etwas Gehirnschmalz zu vergeuden. Ich wollte meine, auf einer Netzwerk-Festplatte abgelegten, MP3-Dateien auch auf der Stereoanlage im Wohnzimmer komfortabel abspielen können. Diese Stereoanlage ist nicht netzwerkfähig, um Mediaserver etc. einzubinden und hat auch keinen USB- oder sonst-was-Anschluß. Es steht nur der gewohnte einfache Verstärkereingang zur Verfügung...

Nach ein wenig Recherche, Rumprobieren und etwas Softwareentwicklung entstand ein kleines "Musikabspielgerät" auf Basis eines Raspberry Pi mit einem kleinen Touch-Display zur einfachen Bedienung (WAF beachten). In der Folge soll das Ganze mal ein wenig beschrieben werden.

Hinweis: Es wird dabei vorausgesetzt, dass der Leser dieses Artikels die wichtigsten Grundkenntnisse über das Betriebssystem Linux besitzt und sich z.B. nicht wundert, warum man als Non-Root keine Schreibzugriffe auf /usr/bin hat (siehe oben ;-))!

Hardware

Raspberry Pi mit Touch-Display

Raspberry Pi mit Touch-Display

USB-Soundkarte

USB-Soundkarte Behringer UAC202

WLAN

Software

Music Player Daemon (MPD)

Eine kleines Benutzerinterface

Screen "Music"
Screen "Queue"
Screen "Weather"

Zur Steuerung des MPD auf dem Raspberry gibt es eine Reihe von Clients für die verschiedensten Betriebssysteme. Hier eine kleine Auswahl für Linux:

  • mpc: ein kleines Kommandozeilentool zur rudimentären Steuerung
  • ncmpc, ncmpcpp: Curses-basierte MPD-Clients für die Textconsole
  • gmpc: grafischer MPD-Client auf Basis GTK2
  • ario: grafischer MPD-Client auf Basis GTK+
  • Xfmpc: grafischer MPD-Client speziell angepasst für Xfce-Desktop
  • [Sonata]: ein, in Python geschriebener, grafischer MPD-Client auf Basis GTK+

Weitere MPD-Clients für Linux, Android, MacOS, Windows etc. findet man z.B. in dieser Übersicht.


Nun ist es aber so, dass man nicht immer einen Rechner, Smartphone oder Tablet im Wohnzimmer zur Verfügung hat bzw. hochfahren möchte. Aus diesem Grund kommt zur Steuerung des MPD das Touch-Display an meinem Raspberry ins Spiel. Ich habe eine minimalistische Bedienoberfläche implementiert, mit der die wichtigsten MPD-Funktionen angesteuert werden können:

  • Auswahl von (vorkonfigurierten) Abspiellisten auf dem Server
  • "Start", "Stop", "Vor" und "Zurück" innerhalb der aktiven Abspielliste
  • Ein-/Ausschalten von Zufallswiedergabe und Endlosschleife
  • Anzeige diverser Informationen (Künstler, Album, Titel, Abspielzeit) zum gerade abgespielten Musikstück

Softwaredownload

  • rpi_gui (Version 0.1)
    • erste, sehr unaufgeräumte Version...
    • Ansteuerung und Zeichnen im Framebuffer
    • Ansteuerung Touchscreen (tslib)
    • Steuerungs-GUI für MPD
    • Ausgabe Wetterdaten

Kontakt

Uwe

'Persönliche Werkzeuge