Bastian Raschke
Nils Tegetmeyer

Sicherheitskritisch

A blog about IT security and electronics

Musikplayer und USB-Herausleitung im NAS-Gehäuse für den Cubietruck

Written by Nils Tegetmeyer.
Published 2015-01-04 in the category Cubietruck.

Im letzten Artikel wurde unser Cubietruck-Gehäuse mit einer Herausleitung der Aktivitäts-LED's erweitert.

Mir kam die Idee auf, dass man dem Cubietruck auch zum Musik abspielen benutzen könnte, da dieser über eine normalen 3,5mm Klinkenbuchse verfügt. Aber lieber mal ganz von Anfang.

Da ich über keinen CD-Player, Stereo-Anlage oder ähnliches verfüge und mein Computer die meiste Zeit des Tages sowieso läuft, lasse ich sowohl Musik, als auch Online-Radio von meinem PC abspielen. Den PC anzuschalten um Musik abzuspielen ist allerdings auch ein bisschen übertrieben, dafür braucht es nicht den Stromverbrauch oder die Leistung eines ganzen PC's. Somit ist mir schon früher die Idee gekommen, dass man ja seinen Server, der sowieso 24/7 läuft, zusätzlich als Musikplayer verwenden könnte.

Hierfür gibt es für Linux-Systeme eine einfach zu bedienende Software, die sich Music Player Daemon (kurz: mpd) nennt, welche im folgenden eingesetzt werden soll, lokale Musik auf dem Cubietruck und natürlich auch Webradio (direkt gestreamt) abspielen soll.

Da durch unser Cubietruck-Gehäuse der Audioausgang leider schlecht erreichbar im Inneren liegt, musste hier eine Verlängerung nach außen her. Die Gelegenheit habe ich gleich genutzt um auch einen der USB-Anschlüsse nach außen zu verlegen, um eine Tastatur anzuschließen oder einen USB-Drucker netzwerkfähig zu machen.

Für das Verlängerungskabel des Audioausgangs habe ich ein nicht mehr benötigtes Lautsprecherkabel genommen, dieses in der Mitte abgeschnitten und die Isolierung der Adern entfernt. Des Weiteren wird eine Stereo-Klinken-Buchse (für 3,5mm) benötigt, welche in diesem Fall extra eine Befestigungsmöglichkeit mit einem Schraubverschluss haben sollte.

Audiobuchse mit abisoliertem Kabel
Audiobuchse mit abisoliertem Kabel

Mit einem Durchgangsprüfer wird festgestellt, an welchen Anschluss des Audiokabels welcher Teil der Klinken-Buchse angeschlossen werden. Daraufhin wird das Kabel mit ein bisschen Schrumpfschlauch versehen und wie gerade ausgemessen, angelötet. Da die Buchse nun noch an der Rückseite des Cubietrucks befestigt werden soll, wird hier ein kleines Loch gebohrt, die Buchse durchgesteckt und mit der Schraubbefestigung festgeschraubt, wie im Folgenden zu sehen ist:

Eingebaute Audiobuchse
Eingebaute Audiobuchse

Auch für das USB-Verlängerungskabel muss ein entsprechendes Loch ins Rückblech des Gehäuses gemacht werden. Dies wurde wieder nach der alt bewährten Methode gemacht: Hierzu wurde das Blech mit dem Cutter-Messer angeritzt und danach so lange gebogen, bis das Blech an der Stelle durchbricht.

Da mein USB-Verlängerungskabel extra eine Einbaubuchse besitzt, wurden hier auch noch zwei weitere Löcher für die Schraubbefestigung gebohrt. Dies sieht dann bis jetzt wie folgt aus:

USB-Buchse mit Gehäuseblech
USB-Buchse mit Gehäuseblech

Nachdem nun auch das USB-Verlängerungskabel angeschraubt wurde, kann die Blende wieder zurück an das Gehäuse montiert werden.

Rückblende mit eingebautem USB- und Audiokabel
Rückblende mit eingebautem USB- und Audiokabel

Das Audio- und USB-Kabel muss nun nur noch an den Cubietruck angeschlossen werden:

Angeschlossenes USB- und Audiokabel
Angeschlossenes USB- und Audiokabel

Alle aktuellen Erweiterung im Cubietruckgehäuse
Alle aktuellen Erweiterung im Cubietruckgehäuse

Wenn das Gehäuse jetzt wieder fertig zusammengebaut wurde, sieht das Ganze aus wie folgt:

Fertig zusammengebaute Rückseite des Cubietruckgehäuses
Fertig zusammengebaute Rückseite des Cubietruckgehäuses

Installation

Die Bastelarbeiten sind somit nun geschafft und es kann an die Einrichtung des Music Player Daemons (mpd) gehen. Im folgenden wird die Einrichtung des Servers beschrieben. Als Clients (also zum Steuern der "Musikanlage") kann auf unterschiedlichste Clients zurückgegriffen werden.

Meine Empfehlung ist hier Ario für Linux-Clients und DroidMPD für Android-Clients.

Um mpd auf dem Cubie zu installieren wird folgender Befehl ausgeführt:

sudo apt-get install mpd

Da erst ein paar Einstellungen gesetzt werden, stoppen wir den gerade gestarteten Dienst mit folgendem Befehl:

sudo service mpd stop

Der MPD wird über den automatisch bei der Installation angelegten Benutzer mpd gesteuert. Damit dieser auf die Audiohardware zugreifen darf, muss dieser der Gruppe "audio" mit folgendem Befehl hinzugefügt werden:

sudo usermod -aG audio mpd

Konfiguration

Nun geht es an die eigentliche Konfiguration des MPD. Diese wird in der Datei /etc/mpd.conf gespeichert.

Wichtig: Bei allen folgenden Änderungen der Konfiguration handelt es sich wirklich um ÄNDERUNGEN und keine Ergänzungen!

Um den Pfad zur Musikbibliothek und zum Playlistordner zu setzen wird folgender Pfad gesetzt:

music_directory "/myPath/Musik/"

playlist_directory "/myPath/Musik/Playlists/"

In Zeile 37 kann das Log-File aktiviert werden, um Fehler schneller zu finden.

In Zeile 82 wird die lokale IP-Adresse der Maschine angegeben.

In Zeile 90 wird einkommentiert, sodass der Port 6600 für den MPD verwendet wird.

In Zeile 207 wird im Alsa-Part der Wert "pcm" in "master" geändert.

Des Weiteren wir die automatische Aktualisierung der interne Datenbank von MPD aktiviert:

auto_update "yes"

Optional kann hierzu auch die Ordnerstruktur-Tiefe angegeben werden, bis zu dieser upgedatet wird:

auto_update_dept "3"

Um die Lautstärke über einen Client bequem per Software regeln zu können, wird folgendes einkommentiert:

mixer_type "software"

Um die Sicherheit nun noch ein bisschen zu erhöhen und damit nicht jeder im lokalen Netzwerk euren MPD steuern kann, kann auf folgende Art ein Passwortschutz gesetzt werden:

Password "passwort@permissions"

Die Besonderheit hier ist, dass das Passwort gleichzeitig mit einem gewissen Rechtesystem verbunden wird. Als erstes wird das Passwort festgelegt, darauf folgen nach dem @-Zeichen als Trenner die Rechte.

Mögliche Rechte sind:

  • read Aktuelle Wiedergabeliste und Bibiliothek auslesen
  • add Titel zur Wiedergabeliste hinzufügen
  • control Start, Stop, Lautstärke etc. verändern
  • admin Datenbank updaten, Client darf mpd töten

Die höchsten Reche werden also durch folgendes Beispiel erreicht:

Password "mySecretPassword@read,add,control,admin"

Es können auch mehrere unterschiedliche "Benutzer" angegeben werden, indem das Attribut Password in mehreren Zeilen verwendet wird.

Achtung: Da das Passwort im Klartext in der /etc/mpd.conf gespeichert wird, sollten die Zugriffsrechte dieser Datei entsprechend restriktiv gesetzt werden. Standardmäßig nach der Installation sollte dies der Fall sein.

Nun ist die Konfiguration abgeschlossen, die mpd.conf wird gespeichert und der Daemon gestartet:

sudo service mpd start

Nun ist der Service bereit zum Verbinden und kann über einen der oben genannten Clients angesteuert werden, sofern Musik im angegeben Ordner gelegt wurde.

Sofern die angeschlossenen Lautsprecher stumm bleiben, einfach mit dem Programm alsamixer nochmal die Pegel (speziell den Master-Kanal) kontrollieren und nachregeln.

Tipp: Um über MPD Internetradio zu hören, können die URL's der Internetradiosender in einer Datei abgelegt werden. Hierzu kann eine Datei "radiosender.m3u" im Playlist-Ordner angelegt werden und hier pro Zeile ein Radiosender reinkopiert werden. Nach einem Update der Datenbank (oder automatischen Update) sind diese Radiosender nun per Client aufrufbar.


Tags: Cubietruck, Debian, NAS, DIY

Proudly generated with Pelican - without PHP, Perl, MySQL & Co. Jump to top