HaZu
Commander
- Registriert
- Okt. 2011
- Beiträge
- 2.669
Bilder zu Version 2
1 Einleitung
Gerne möchte ich an dieser Stelle mein Projekt "Internetradio" vorstellen. Vielleicht interessiert es ja den ein oder anderen
Bevor ich überhaupt auf die Idee kam mir ein solches Teil selber zu basteln, graste ich erst einmal das Netz ab was es in dem Bereich auf dem Markt so zu finden gab. Ich stieß sehr schnell auf die Logitech Squeeze Box (komischer Name, verbinde ich irgendwie mit Ketchupflaschen). Das ist ein mono WLAN-Radio für ca. 130€. Mit einem kostenlosen Account zum gleichnamigen Netzwerk kann man sich mit dem Ding Sender aussuchen und abspielen. Synchronisiert über den PC. Wenn man will kann man das Ganze dann auch noch direkt seinen Facebookfreunden mitteilen.
Das alles kam für mich überhaupt nicht in Frage, zumal die Kiste auch noch außerhalb des Budgets lag.
Beim Stöbern im Netz stieß ich allerdings auch auf die Seite der Music Player Daemon [MPD] Community. MPD ist ein serverseitiger Dienst zum Abspielen von Musik. Er ist durch Plugins erweiterbar und wird über sein eigenes Netzwerkprotokoll gesteuert. Und MPD unterstützt das Abspielen, sowie das zur Verfügung stellen von HTTP-Streams. Das hörte sich schon mal ganz brauchbar an. Ein Serverdienst benötigt allerdings immer einen Client der ihm sagt was er tun soll. Als nächstes schaute ich mir also an was es da so für Clients gibt. Kurz: Es sind dutzende! Ob iOS, Linux, Windows oder Symbian, für jeden ist etwas dabei. Unter Anderem gibt es aber auch Webclients.
1.1 Konzept
Die grobe Idee war folgende: Ein möglichst kleines und sparsames Linuxserver-System mit einem MP Daemon und einem Webinterface als Schaltzentrale. Dazu ein kompakter Verstärker der über die 12 V-Schiene eines herkömmlichen PC-Netzteils versorgt werden konnte und genug Dampf zum Beschallen der Küche mitbringt. Das alles in ein Gehäuse integriert und über WLAN an das Heimnetzwerk gekoppelt. Naja und zum Beschallen dann noch zwei Boxen.
1.2 Voraussetzungen
Der folgende Bericht soll einen Anstoß an interessierte darstellen, die Lust haben ein ähnliches Projekt zu gestalten. Um die beschriebenen Schritte bewältigen zu können sind neben grundlegenden Linuxkenntnissen und handwerklichem Geschick vor allem Neugier und Geduld eine große Hilfe. In den allermeisten Fällen leisten Google und die Links in diesem Dokument gute Dienste. Auch kann ich jedem die Ubuntuusers-Community ans Herz legen. Hier wird jederzeit schnell und kompetent geholfen (das Wiki ist allererste Sahne!).
2 Serverhardware
Die Komplette Hardware für die Serverseite des Projekts erstand ich günstigst bei Ebay. Der Einfachheit halber hier nur eine Liste der einzelnen Komponenten:
Das Ganze kostete mich ziemlich genau 53,00€.
3 Audiohardware
Abbildung 1: Canton Plus D
Der Audioteil des Projektes gestaltete sich da schon etwas schwieriger. An Boxen kam ich über Ebay Kleinanzeigen. Da machte ich ein ziemliches Schnäppchen (29€) mit ganz hervorragenden, einwandfrei erhaltenen Canton Plus D 2-Wege Bassreflex Kompaktlautsprechern (Baujahr 1992-1998). Mit einer maximalen Belastbargeit von 50 Watt Sinusleistung sind sie zwar leicht überdimensioniert, aber das macht ja nichts. Vor 14 Jahren haben die Dinger umgerechnet 250€ gekostet.
3.1 Verstärker
Abbildung 2: Schaltplan
Jetzt wird es interessant. Ich fürchtete, dass die speziellen Anforderungen an den Verstärker (geringe Größe, Effizienz, Leistung) ihn nicht unbedingt billig machen würden und war auch ziemlich ratlos woher ich so einen bekommen könnte. Durch Zufall sprach ich mit einem Ingenieur aus der Uni über das Thema und der hatte noch einen Schaltplan in der Schublade welcher wie gemacht war für das Projekt. Also, ran an den Lötkolben!
Abbildung 3: Platinenlayout
Die Schaltung besteht im Prinzip aus einem Philips TDA8560Q Verstärker-IC der primär für den Einsatz in Autoradios entwickelt wurde und mit einer Eingangsspannung von 6,0 V bis 18,0 V (DC) betrieben werden kann. Sein maximaler Spitzeneingangsstrom liegt typischerweise bei ca. 7,5 A und er liefert bei einer Impedanz von 4 Ω 25 Watt Ausgangsleistung pro Kanal. Das sollte ausreichen.
Außerdem ist eine aktive Ton und Lautstärke Modulationseinheit (TDA1524) in die Schaltung integriert. Auch von Philips, auch für den Einsatz in Radios und Fernsehern konzipiert. Mit ihrer Hilfe lassen sich Lautstärke, Balance, Bässe und Höhen einstellen.
Die beiden Integrierten Schaltungen ermöglichen ein sehr kompaktes Design der Gesamtschaltung und garantieren außerdem eine akzeptable Audioqualität. Noch dazu sind sie sehr günstig über das Internet zu beziehen. Zu meinem Glück durfte ich die Platine und die Bestückung im Elektroniklabor der Hochschule anfertigen.
Abbildung 4: Der Verstärker
3.2 Masseschleifenisolator
Abbildung 5: Masseschleifenisolator
Bei ersten Tests, in denen ich den Verstärker einfach mit dem Kopfhörerausgang des Mainboards und seinem Audioeingang verband, waren starke Störgeräusche zu hören. Schnell war klar, dass diese von der angeschlossenen Festplatte und dem CPU Lüfter über die Masseschiene des Netzteils eingestreut wurden. Nach ein wenig Recherche im Internet fand ich die Lösung des Problems in einem so genannten Masseschleifenisolator (Ebay, 10€).
Zwischen Kopfhörerausgang und Verstärkereingang geschaltet sorgt das kleine Kästchen für eine galvanische Trennung zwischen den beiden Stromkreisen und so für ein definiertes, störungsfreies Massepotential.
3.3 Konfiguration
Zusammen mit dem Verstärker und den Boxen war damit der Audioteil des Projektes komplett. Da die Lautstärke des Radios später über den MPD Client gesteuert werden sollte, also softwareseitig, musste der Verstärker über die Potentiometer der Modulationseinheit auf feste Werte in Bass und Höhen, sowie der Lautstärke voreingestellt werden. Und zwar so, dass auch bei maximalem Eingangspegel möglichst keine Verzerrungen und Übersteuerungen (Clipping) auftreten. Dafür ist die LED des Verstärkers sehr hilfreich, sie quittiert nämlich auftretendes Clipping direkt mit hektischem Blinken. So muss man nur noch ein geeignetes Lied (viel Bass) einspielen und so lange an den Reglern drehen bis a) der Klang gefällt und b) die maximale Ausgangslautstärke eingestellt ist bei der die LED nicht mehr blinkt.
4 Software
Die gesamte verwendete Software basiert auf Linux und ist unter der GNU GPL frei verfügbar.
4.1 Der Unterbau
Samba Konfiguration:
Als Betriebssystem [OS] dient Ubuntu 12.04 Server in der 32-Bit Version. Die Festplatte wurde in zwei Bereiche unterteilt, einer fürs OS und der andere als Netzwerkspeicherort für Musik.
Um die Musikpartition auch für Windowsclients im Netzwerk verfügbar zu machen wurde ein klassischer Samba Server aufgesetzt. Er gibt in meiner Konfiguration den gesamten Ordner frei auf dem das Laufwerk, also die Musikpartition, eingebunden ist.
Um später das Webinterface im Heimnetzwerk zur Verfügung stellen zu können fehlt noch ein Webserver. Dieser wurde mit lighttpd umgesetzt und bietet gute Performance bei extrem niedrigem Ressourcenbedarf. Er ist besonders für leistungsschwache Systeme geeignet. Der Via Prozessor wäre aber sicher auch locker mit einem Apache Webserver zurechtgekommen. Zudem ist lighttpd sehr einfach zu konfigurieren.
Die meisten Webinterfaces benötigen zudem PHP. Die aktuelle Version bezieht man am besten gleich aus den Repositories der jeweiligen Distribution.
Ein echtes Problem unter Linux ist die Anbindung in ein WLAN. Es ist sehr ratsam sich an einen der unterstützten WLAN-Sticks, wie beispielsweise den AVM Fritz! WLAN USB Stick, zu halten da gerne mal schwer lösbare Probleme auftreten.
An dieser Stelle empfehle ich noch einmal ausdrücklich das Wiki der Ubuntuusers. Es half mir bisher alle aufgetretenen Probleme zu lösen. Hier einige nützliche Links zum Thema WLAN:
http://wiki.ubuntuusers.de/WLAN/Installation
http://wiki.ubuntuusers.de/WLAN/wpa_supplicant
Bindet man den Server über Kabel ins Netzwerk ein umgeht man jede Problematik, denn das funktioniert unter Linux (fast immer) einwandfrei. Kam bei mir allerdings nicht in Frage, da ich keinen Anschluss in der Küche habe.
4.2 MPD
Die Installation des Music Player Daemons gestaltet sich völlig unproblematisch. Unter Ubuntu kann er direkt aus den Repositories installiert werden.
Die Konfiguration findet über die Konfigurationsdatei statt. Hier wird das Musikverzeichnis, das Ausgabegerät und die Erreichbarkeit über das Netzwerk definiert. Wie man das macht ist im verlinkten Artikel viel besser erklärt als ich das an dieser Stelle könnte.
Wichtig ist, dass wir dem MPD Verzeichnisse für Musik und Playlisten definieren auf deren Basis er eine Datenbank anlegen kann. Nur so können wir hinterher über Clients Musik und Streams abspielen. Da meine Musikplatte im Ordner /mnt/Musik eingebunden ist wählte ich diesen als Musikordner. Den Playlistordner ließ ich unangetastet und somit auf Standardeinstellungen.
Durch diese Konfiguration ist es möglich über das Netzwerk Musik hinzuzufügen. Allerdings muss danach jedes Mal die Datenbank aktualisiert werden. Das geschieht aber komfortabel über das Webinterface
Noch eine Sache ist wichtig; wenn wir hinterher über das Webinterface die Lautstärke konfigurieren können möchten muss der Eintrag „mixer= software“ in der Konfigurationsdatei aktiv sein. Das heißt das vorgestellte „#“ muss entfernt werden.
4.2.1 Ausgabe
Ubuntu setzt bei der Standard-Installation auf die Advanced Linux Sound Architecture, kurz ALSA genannt. ALSA übernimmt die Ansteuerung der Soundkarten und stellt die eigentlichen Soundkarten-Treiber zur Verfügung. Diese Treiber sind bereits Teil des Kernels und müssen deshalb nicht extra installiert werden[1].
In meiner Konfiguration musste ich allerdings den entsprechenden Kanal erst einmal einschalten. Dieser war standardmäßig auf „mute“ gesetzt. Dies bewerkstelligt man recht komfortabel über den ebenfalls vorinstallierten ALSA Mixer.
Abbildung 6: Alsamixer
4.3 Webinterface
Es gibt eine Fülle von Webclients für MPD mit unterschiedlichsten Eigenschaften und Aufmachungen. Nach einigem Ausprobieren, Testen und Lesen entschied ich mich für den RelaxxPlayer von Dirk Hoeschen. Ein einfacher Webclient, sehr übersichtlich und intuitiv zu bedienen auf Ajax-Basis. Er ist unter der GPL v3 über Sourceforge verfügbar.
Abbildung 7: Relaxx Player Webinterface
Nachdem sichergestellt ist, dass unser Webserver sowie PHP in ihrer aktuellsten Version installiert sind und laufen, wird das heruntergeladene Archiv relaxx-070.tar.gz in das Verzeichnis /var/www entpackt. Nach einem Neustart des Webservers (Ubuntu: sudo service lighttpd restart) ist das Webinterface auch schon über den hostnamen mit einem beliebigen Browser erreichbar (http://hostname/index.php).
Ist die Seite aufgerufen muss der Client noch wissen wo er den zu steuernden MPD Dienst findet. Dies geschieht über den Button „Config“. Das Passwort im darauffolgenden Dialog bleibt standardmäßig leer und mit einem Klick auf „Login“ gelang man ins globale Konfigurationsmenü.
Dort wird als MPD Host die IP-Adresse des Servers eingetragen auf dem der MPD Dienst läuft. Der Standardport ist 6600 und das Passwort sollte in den meisten Fällen frei bleiben dürfen.
Um den Zugriff auf das Settings Menü zu beschränken kann zusätzlich noch ein Relaxx-Administratorlogin gesetzt werden.
Im Reiter „relaxx“ lassen sich rudimentäre Zugriffsrechte konfigurieren und man kann zwischen drei verschiedenen Skins und Sprachen wählen. Interessant ist außerdem der Button „update db“. Mit dessen Hilfe lässt sich schnell und einfach die MPD Datenbank auf den neusten Stand bringen wenn man beispielsweise neue Musik auf den Netzwerkspeicher geladen hat.
Der Rest des Webinterfaces erklärt sich eigentlich von selbst. Man kann die Datenbank durchsuchen, Playlisten anlegen und ihnen mit der rechten Maustaste Radio Streams hinzufügen. Die Funktionen werden in einer Readme Datei erklärt welche im heruntergeladenen relaxx-070-Archiv enthalten ist.
Die Adresse für den http-Radiostream von 1Live lautet übrigens
http://gffstream.ic.llnwd.net/stream/gffstream_stream_wdr_einslive_a
Die oft von Internetradios zur Verfügung gestellten .m3u Dateien lassen sich nicht direkt über das Webinterface einbinden. Am einfachsten ist es, diese herunterzuladen, mit dem Windows Texteditor zu öffnen und die Streamadressen herauszukopieren.
4.4 Apps
Natürlich gibt es zum Steuern von MPD Diensten auch diverse Apps fürs Smartphone. Selbst für mein altes Nokia Xpressmusic 5800 (qmobilempd). Der Funktionsumfang entspricht in den meisten Fällen denen des Webinterfaces und zumindest bei iOS und Android sind die Oberflächen sehr nutzerfreundlich und hübsch gestaltet. Die Konfiguration ist identisch zu der des Webinterfaces.
Die Apps sind ein komfortabler Weg ein MPD basiertes Internetradio zu steuern, denn gerade am Küchentisch habe ich selten einen Laptop stehen und für Smartphonebildschirme ist das Webinterface nicht geeignet.
Abbildung 8: MPDroid
Die Android App gibt’s im Playstore unter dem Namen MPDroid, das iOS Pendant schimpft sich MPoD. Mittlerweile gibt es sogar für Windows Phone 8 einen Client (MPDi), der kostet allerdings was.
5 Gehäuse
Der Prototyp unseres Radios verbrachte Monate in einer Pappschachtel auf dem Küchenschrank, bis ich mich dazu durchringen konnte endlich ein vernünftiges Gehäuse anzuschaffen. Es sollte der teuerste Einzelposten in der Bilanz werden: ca. 50€.
Nach langem Hin und Her entschied ich mich für das Lian Li PC-Q07. Es bot zum einen die Möglichkeit ein konventionelles PC-Netzteil unterzubringen und zum anderen genug Platz an der Front um die Potentiometer der Modulationseinheit nach außen zu führen. Die braucht man zwar strenggenommen gar nicht, geben dem Gehäuse aber mehr „Radiocharakter“. Zudem ist das Gehäuse noch komplett aus Aluminium was eine Bearbeitung vereinfacht.
Abbildung 9: Das fertige Gehäuse
Es gestaltete sich durchaus schwierig alle Komponenten in dem kleinen Gehäuse unterzubringen. Doch zuerst bohrte ich die Löcher für die Potentiometer in die Front und sägte ein kleines Loch in die Rückseite um den Lautsprecher-Klemmanschluss anbringen zu können. Das sollte ein leichtes Auf- und Abbauen gewährleisten.
Den Lautsprecherklemmanschluss fixierte ich, mangels passender Schrauben, mit Sekundenkleber am Gehäuse. die Potis drehte ich mit Muttern fest und setzte schicke Knöpfe drauf. Für die Halterung des Verstärkers im Gehäuse habe ich mir dann etwas ganz schlaues einfallen lassen:
Das Lian Li-Gehäuse bietet eine Aufhängung für 3,5-Zoll-Festplatten. Aus dem Gehäuse eines alten Diskettenlaufwerks bastelte ich mir eine Montageplatte für den Verstärker. Die Abmessungen des Gehäuses passten in die Festplattenaufhängung und ermöglichten so eine brauchbare Fixierung der Verstärkerplatine.
Aus Platzgründen (und weil mir das Ding viel zu laut war) musste auf den CPU-Lüfter verzichtet werden. Prinzipiell ist die CPU auf bis zu 70°C Betriebstemperatur ausgelegt. Der Netzteillüfter liegt ihrem passiven Kühlkörper genau gegenüber. Müsste also reichen dachte ich mir. Reicht auch. Selbst im Dauereinsatz wird die CPU nicht wärmer als 40°C. Alles im grünen Bereich.
Für die Kühlung des Verstärkers wurde ja schon im Vorfeld ein großer Passivkühler an dessen IC geschraubt. Seine Abwärme wird ebenfalls über den benachbarten Netzteillüfter abgeführt. Auch hier konnte selbst unter hoher Belastung keine Überhitzung festgestellt werden, zumal der Verstärker über einen Überhitzungsschutz verfügt.
6 Fazit
Ziel war es ein Gerät zu entwickeln um in der Küche komfortabel und akustisch brauchbar 1Live hören zu können. Das Ergebnis übertrifft diese Anforderungen in meinen Augen um einiges. Auch wenn das Budget mit dem Gehäuse und den schicken Potentiometerknöpfen dann doch etwas überzogen wurde.
Die Musikqualität stellt ein ordinäres Küchenradio locker in den Schatten und die mögliche Lautstärke reicht auch für die nächste WG-Party. Einzig eine Fernbedienung zum An- und Ausschalten fehlt noch, ist aber schon in Arbeit.
Ich hoffe ein paar Anregungen gegeben und vielleicht das Interesse zum Nachbauen geweckt zu haben. In jedem Fall, vielen Dank fürs lesen!
[1] Quelle: http://wiki.ubuntuusers.de/Soundsystem
1 Einleitung
Gerne möchte ich an dieser Stelle mein Projekt "Internetradio" vorstellen. Vielleicht interessiert es ja den ein oder anderen
Bevor ich überhaupt auf die Idee kam mir ein solches Teil selber zu basteln, graste ich erst einmal das Netz ab was es in dem Bereich auf dem Markt so zu finden gab. Ich stieß sehr schnell auf die Logitech Squeeze Box (komischer Name, verbinde ich irgendwie mit Ketchupflaschen). Das ist ein mono WLAN-Radio für ca. 130€. Mit einem kostenlosen Account zum gleichnamigen Netzwerk kann man sich mit dem Ding Sender aussuchen und abspielen. Synchronisiert über den PC. Wenn man will kann man das Ganze dann auch noch direkt seinen Facebookfreunden mitteilen.
Das alles kam für mich überhaupt nicht in Frage, zumal die Kiste auch noch außerhalb des Budgets lag.
Beim Stöbern im Netz stieß ich allerdings auch auf die Seite der Music Player Daemon [MPD] Community. MPD ist ein serverseitiger Dienst zum Abspielen von Musik. Er ist durch Plugins erweiterbar und wird über sein eigenes Netzwerkprotokoll gesteuert. Und MPD unterstützt das Abspielen, sowie das zur Verfügung stellen von HTTP-Streams. Das hörte sich schon mal ganz brauchbar an. Ein Serverdienst benötigt allerdings immer einen Client der ihm sagt was er tun soll. Als nächstes schaute ich mir also an was es da so für Clients gibt. Kurz: Es sind dutzende! Ob iOS, Linux, Windows oder Symbian, für jeden ist etwas dabei. Unter Anderem gibt es aber auch Webclients.
1.1 Konzept
Die grobe Idee war folgende: Ein möglichst kleines und sparsames Linuxserver-System mit einem MP Daemon und einem Webinterface als Schaltzentrale. Dazu ein kompakter Verstärker der über die 12 V-Schiene eines herkömmlichen PC-Netzteils versorgt werden konnte und genug Dampf zum Beschallen der Küche mitbringt. Das alles in ein Gehäuse integriert und über WLAN an das Heimnetzwerk gekoppelt. Naja und zum Beschallen dann noch zwei Boxen.
1.2 Voraussetzungen
Der folgende Bericht soll einen Anstoß an interessierte darstellen, die Lust haben ein ähnliches Projekt zu gestalten. Um die beschriebenen Schritte bewältigen zu können sind neben grundlegenden Linuxkenntnissen und handwerklichem Geschick vor allem Neugier und Geduld eine große Hilfe. In den allermeisten Fällen leisten Google und die Links in diesem Dokument gute Dienste. Auch kann ich jedem die Ubuntuusers-Community ans Herz legen. Hier wird jederzeit schnell und kompetent geholfen (das Wiki ist allererste Sahne!).
2 Serverhardware
Die Komplette Hardware für die Serverseite des Projekts erstand ich günstigst bei Ebay. Der Einfachheit halber hier nur eine Liste der einzelnen Komponenten:
- Jetway 7F2WE1G5-OC-LF mini ITX Mainboard (VIA C7 Prozessor, 1.5GHz)
- 2,5 Zoll Sata Festplatte Hitachi Travelstar 60GB 7200 U/min
- AVM Fritz! WLAN USB Stick
- 1GB Kingston DDR2 Arbeitsspeicher (hatte ich noch rumliegen)
Das Ganze kostete mich ziemlich genau 53,00€.
3 Audiohardware
Abbildung 1: Canton Plus D
Der Audioteil des Projektes gestaltete sich da schon etwas schwieriger. An Boxen kam ich über Ebay Kleinanzeigen. Da machte ich ein ziemliches Schnäppchen (29€) mit ganz hervorragenden, einwandfrei erhaltenen Canton Plus D 2-Wege Bassreflex Kompaktlautsprechern (Baujahr 1992-1998). Mit einer maximalen Belastbargeit von 50 Watt Sinusleistung sind sie zwar leicht überdimensioniert, aber das macht ja nichts. Vor 14 Jahren haben die Dinger umgerechnet 250€ gekostet.
- Abmessungen: 181 x 277 x 180 mm (BxHxT)
- Gewicht: 4 kg
- Übertragungsbereich: 41 - 26.000 Hz
- Impedanz: 4 Ω
3.1 Verstärker
Abbildung 2: Schaltplan
Jetzt wird es interessant. Ich fürchtete, dass die speziellen Anforderungen an den Verstärker (geringe Größe, Effizienz, Leistung) ihn nicht unbedingt billig machen würden und war auch ziemlich ratlos woher ich so einen bekommen könnte. Durch Zufall sprach ich mit einem Ingenieur aus der Uni über das Thema und der hatte noch einen Schaltplan in der Schublade welcher wie gemacht war für das Projekt. Also, ran an den Lötkolben!
Abbildung 3: Platinenlayout
Die Schaltung besteht im Prinzip aus einem Philips TDA8560Q Verstärker-IC der primär für den Einsatz in Autoradios entwickelt wurde und mit einer Eingangsspannung von 6,0 V bis 18,0 V (DC) betrieben werden kann. Sein maximaler Spitzeneingangsstrom liegt typischerweise bei ca. 7,5 A und er liefert bei einer Impedanz von 4 Ω 25 Watt Ausgangsleistung pro Kanal. Das sollte ausreichen.
Außerdem ist eine aktive Ton und Lautstärke Modulationseinheit (TDA1524) in die Schaltung integriert. Auch von Philips, auch für den Einsatz in Radios und Fernsehern konzipiert. Mit ihrer Hilfe lassen sich Lautstärke, Balance, Bässe und Höhen einstellen.
Die beiden Integrierten Schaltungen ermöglichen ein sehr kompaktes Design der Gesamtschaltung und garantieren außerdem eine akzeptable Audioqualität. Noch dazu sind sie sehr günstig über das Internet zu beziehen. Zu meinem Glück durfte ich die Platine und die Bestückung im Elektroniklabor der Hochschule anfertigen.
Abbildung 4: Der Verstärker
3.2 Masseschleifenisolator
Abbildung 5: Masseschleifenisolator
Bei ersten Tests, in denen ich den Verstärker einfach mit dem Kopfhörerausgang des Mainboards und seinem Audioeingang verband, waren starke Störgeräusche zu hören. Schnell war klar, dass diese von der angeschlossenen Festplatte und dem CPU Lüfter über die Masseschiene des Netzteils eingestreut wurden. Nach ein wenig Recherche im Internet fand ich die Lösung des Problems in einem so genannten Masseschleifenisolator (Ebay, 10€).
Zwischen Kopfhörerausgang und Verstärkereingang geschaltet sorgt das kleine Kästchen für eine galvanische Trennung zwischen den beiden Stromkreisen und so für ein definiertes, störungsfreies Massepotential.
3.3 Konfiguration
Zusammen mit dem Verstärker und den Boxen war damit der Audioteil des Projektes komplett. Da die Lautstärke des Radios später über den MPD Client gesteuert werden sollte, also softwareseitig, musste der Verstärker über die Potentiometer der Modulationseinheit auf feste Werte in Bass und Höhen, sowie der Lautstärke voreingestellt werden. Und zwar so, dass auch bei maximalem Eingangspegel möglichst keine Verzerrungen und Übersteuerungen (Clipping) auftreten. Dafür ist die LED des Verstärkers sehr hilfreich, sie quittiert nämlich auftretendes Clipping direkt mit hektischem Blinken. So muss man nur noch ein geeignetes Lied (viel Bass) einspielen und so lange an den Reglern drehen bis a) der Klang gefällt und b) die maximale Ausgangslautstärke eingestellt ist bei der die LED nicht mehr blinkt.
4 Software
Die gesamte verwendete Software basiert auf Linux und ist unter der GNU GPL frei verfügbar.
4.1 Der Unterbau
Samba Konfiguration:
[global]
netbios name = Odin
server string = Streamingclient
security = user
map to guest = bad user
guest account = nobody
null passwords = yes
[Musik]
path = /mnt/Musik
read only = no
guest ok = yes
browseable = yes
available = yes
netbios name = Odin
server string = Streamingclient
security = user
map to guest = bad user
guest account = nobody
null passwords = yes
[Musik]
path = /mnt/Musik
read only = no
guest ok = yes
browseable = yes
available = yes
Als Betriebssystem [OS] dient Ubuntu 12.04 Server in der 32-Bit Version. Die Festplatte wurde in zwei Bereiche unterteilt, einer fürs OS und der andere als Netzwerkspeicherort für Musik.
Um die Musikpartition auch für Windowsclients im Netzwerk verfügbar zu machen wurde ein klassischer Samba Server aufgesetzt. Er gibt in meiner Konfiguration den gesamten Ordner frei auf dem das Laufwerk, also die Musikpartition, eingebunden ist.
Um später das Webinterface im Heimnetzwerk zur Verfügung stellen zu können fehlt noch ein Webserver. Dieser wurde mit lighttpd umgesetzt und bietet gute Performance bei extrem niedrigem Ressourcenbedarf. Er ist besonders für leistungsschwache Systeme geeignet. Der Via Prozessor wäre aber sicher auch locker mit einem Apache Webserver zurechtgekommen. Zudem ist lighttpd sehr einfach zu konfigurieren.
Die meisten Webinterfaces benötigen zudem PHP. Die aktuelle Version bezieht man am besten gleich aus den Repositories der jeweiligen Distribution.
Ein echtes Problem unter Linux ist die Anbindung in ein WLAN. Es ist sehr ratsam sich an einen der unterstützten WLAN-Sticks, wie beispielsweise den AVM Fritz! WLAN USB Stick, zu halten da gerne mal schwer lösbare Probleme auftreten.
An dieser Stelle empfehle ich noch einmal ausdrücklich das Wiki der Ubuntuusers. Es half mir bisher alle aufgetretenen Probleme zu lösen. Hier einige nützliche Links zum Thema WLAN:
http://wiki.ubuntuusers.de/WLAN/Installation
http://wiki.ubuntuusers.de/WLAN/wpa_supplicant
Bindet man den Server über Kabel ins Netzwerk ein umgeht man jede Problematik, denn das funktioniert unter Linux (fast immer) einwandfrei. Kam bei mir allerdings nicht in Frage, da ich keinen Anschluss in der Küche habe.
4.2 MPD
Die Installation des Music Player Daemons gestaltet sich völlig unproblematisch. Unter Ubuntu kann er direkt aus den Repositories installiert werden.
Die Konfiguration findet über die Konfigurationsdatei statt. Hier wird das Musikverzeichnis, das Ausgabegerät und die Erreichbarkeit über das Netzwerk definiert. Wie man das macht ist im verlinkten Artikel viel besser erklärt als ich das an dieser Stelle könnte.
Wichtig ist, dass wir dem MPD Verzeichnisse für Musik und Playlisten definieren auf deren Basis er eine Datenbank anlegen kann. Nur so können wir hinterher über Clients Musik und Streams abspielen. Da meine Musikplatte im Ordner /mnt/Musik eingebunden ist wählte ich diesen als Musikordner. Den Playlistordner ließ ich unangetastet und somit auf Standardeinstellungen.
Durch diese Konfiguration ist es möglich über das Netzwerk Musik hinzuzufügen. Allerdings muss danach jedes Mal die Datenbank aktualisiert werden. Das geschieht aber komfortabel über das Webinterface
Noch eine Sache ist wichtig; wenn wir hinterher über das Webinterface die Lautstärke konfigurieren können möchten muss der Eintrag „mixer= software“ in der Konfigurationsdatei aktiv sein. Das heißt das vorgestellte „#“ muss entfernt werden.
4.2.1 Ausgabe
Ubuntu setzt bei der Standard-Installation auf die Advanced Linux Sound Architecture, kurz ALSA genannt. ALSA übernimmt die Ansteuerung der Soundkarten und stellt die eigentlichen Soundkarten-Treiber zur Verfügung. Diese Treiber sind bereits Teil des Kernels und müssen deshalb nicht extra installiert werden[1].
In meiner Konfiguration musste ich allerdings den entsprechenden Kanal erst einmal einschalten. Dieser war standardmäßig auf „mute“ gesetzt. Dies bewerkstelligt man recht komfortabel über den ebenfalls vorinstallierten ALSA Mixer.
Abbildung 6: Alsamixer
4.3 Webinterface
Es gibt eine Fülle von Webclients für MPD mit unterschiedlichsten Eigenschaften und Aufmachungen. Nach einigem Ausprobieren, Testen und Lesen entschied ich mich für den RelaxxPlayer von Dirk Hoeschen. Ein einfacher Webclient, sehr übersichtlich und intuitiv zu bedienen auf Ajax-Basis. Er ist unter der GPL v3 über Sourceforge verfügbar.
Abbildung 7: Relaxx Player Webinterface
Nachdem sichergestellt ist, dass unser Webserver sowie PHP in ihrer aktuellsten Version installiert sind und laufen, wird das heruntergeladene Archiv relaxx-070.tar.gz in das Verzeichnis /var/www entpackt. Nach einem Neustart des Webservers (Ubuntu: sudo service lighttpd restart) ist das Webinterface auch schon über den hostnamen mit einem beliebigen Browser erreichbar (http://hostname/index.php).
Ist die Seite aufgerufen muss der Client noch wissen wo er den zu steuernden MPD Dienst findet. Dies geschieht über den Button „Config“. Das Passwort im darauffolgenden Dialog bleibt standardmäßig leer und mit einem Klick auf „Login“ gelang man ins globale Konfigurationsmenü.
Dort wird als MPD Host die IP-Adresse des Servers eingetragen auf dem der MPD Dienst läuft. Der Standardport ist 6600 und das Passwort sollte in den meisten Fällen frei bleiben dürfen.
Um den Zugriff auf das Settings Menü zu beschränken kann zusätzlich noch ein Relaxx-Administratorlogin gesetzt werden.
Im Reiter „relaxx“ lassen sich rudimentäre Zugriffsrechte konfigurieren und man kann zwischen drei verschiedenen Skins und Sprachen wählen. Interessant ist außerdem der Button „update db“. Mit dessen Hilfe lässt sich schnell und einfach die MPD Datenbank auf den neusten Stand bringen wenn man beispielsweise neue Musik auf den Netzwerkspeicher geladen hat.
Der Rest des Webinterfaces erklärt sich eigentlich von selbst. Man kann die Datenbank durchsuchen, Playlisten anlegen und ihnen mit der rechten Maustaste Radio Streams hinzufügen. Die Funktionen werden in einer Readme Datei erklärt welche im heruntergeladenen relaxx-070-Archiv enthalten ist.
Die Adresse für den http-Radiostream von 1Live lautet übrigens
http://gffstream.ic.llnwd.net/stream/gffstream_stream_wdr_einslive_a
Die oft von Internetradios zur Verfügung gestellten .m3u Dateien lassen sich nicht direkt über das Webinterface einbinden. Am einfachsten ist es, diese herunterzuladen, mit dem Windows Texteditor zu öffnen und die Streamadressen herauszukopieren.
4.4 Apps
Natürlich gibt es zum Steuern von MPD Diensten auch diverse Apps fürs Smartphone. Selbst für mein altes Nokia Xpressmusic 5800 (qmobilempd). Der Funktionsumfang entspricht in den meisten Fällen denen des Webinterfaces und zumindest bei iOS und Android sind die Oberflächen sehr nutzerfreundlich und hübsch gestaltet. Die Konfiguration ist identisch zu der des Webinterfaces.
Die Apps sind ein komfortabler Weg ein MPD basiertes Internetradio zu steuern, denn gerade am Küchentisch habe ich selten einen Laptop stehen und für Smartphonebildschirme ist das Webinterface nicht geeignet.
Abbildung 8: MPDroid
Die Android App gibt’s im Playstore unter dem Namen MPDroid, das iOS Pendant schimpft sich MPoD. Mittlerweile gibt es sogar für Windows Phone 8 einen Client (MPDi), der kostet allerdings was.
5 Gehäuse
Der Prototyp unseres Radios verbrachte Monate in einer Pappschachtel auf dem Küchenschrank, bis ich mich dazu durchringen konnte endlich ein vernünftiges Gehäuse anzuschaffen. Es sollte der teuerste Einzelposten in der Bilanz werden: ca. 50€.
Nach langem Hin und Her entschied ich mich für das Lian Li PC-Q07. Es bot zum einen die Möglichkeit ein konventionelles PC-Netzteil unterzubringen und zum anderen genug Platz an der Front um die Potentiometer der Modulationseinheit nach außen zu führen. Die braucht man zwar strenggenommen gar nicht, geben dem Gehäuse aber mehr „Radiocharakter“. Zudem ist das Gehäuse noch komplett aus Aluminium was eine Bearbeitung vereinfacht.
Abbildung 9: Das fertige Gehäuse
Es gestaltete sich durchaus schwierig alle Komponenten in dem kleinen Gehäuse unterzubringen. Doch zuerst bohrte ich die Löcher für die Potentiometer in die Front und sägte ein kleines Loch in die Rückseite um den Lautsprecher-Klemmanschluss anbringen zu können. Das sollte ein leichtes Auf- und Abbauen gewährleisten.
Den Lautsprecherklemmanschluss fixierte ich, mangels passender Schrauben, mit Sekundenkleber am Gehäuse. die Potis drehte ich mit Muttern fest und setzte schicke Knöpfe drauf. Für die Halterung des Verstärkers im Gehäuse habe ich mir dann etwas ganz schlaues einfallen lassen:
Das Lian Li-Gehäuse bietet eine Aufhängung für 3,5-Zoll-Festplatten. Aus dem Gehäuse eines alten Diskettenlaufwerks bastelte ich mir eine Montageplatte für den Verstärker. Die Abmessungen des Gehäuses passten in die Festplattenaufhängung und ermöglichten so eine brauchbare Fixierung der Verstärkerplatine.
Aus Platzgründen (und weil mir das Ding viel zu laut war) musste auf den CPU-Lüfter verzichtet werden. Prinzipiell ist die CPU auf bis zu 70°C Betriebstemperatur ausgelegt. Der Netzteillüfter liegt ihrem passiven Kühlkörper genau gegenüber. Müsste also reichen dachte ich mir. Reicht auch. Selbst im Dauereinsatz wird die CPU nicht wärmer als 40°C. Alles im grünen Bereich.
Für die Kühlung des Verstärkers wurde ja schon im Vorfeld ein großer Passivkühler an dessen IC geschraubt. Seine Abwärme wird ebenfalls über den benachbarten Netzteillüfter abgeführt. Auch hier konnte selbst unter hoher Belastung keine Überhitzung festgestellt werden, zumal der Verstärker über einen Überhitzungsschutz verfügt.
6 Fazit
Ziel war es ein Gerät zu entwickeln um in der Küche komfortabel und akustisch brauchbar 1Live hören zu können. Das Ergebnis übertrifft diese Anforderungen in meinen Augen um einiges. Auch wenn das Budget mit dem Gehäuse und den schicken Potentiometerknöpfen dann doch etwas überzogen wurde.
Die Musikqualität stellt ein ordinäres Küchenradio locker in den Schatten und die mögliche Lautstärke reicht auch für die nächste WG-Party. Einzig eine Fernbedienung zum An- und Ausschalten fehlt noch, ist aber schon in Arbeit.
Ich hoffe ein paar Anregungen gegeben und vielleicht das Interesse zum Nachbauen geweckt zu haben. In jedem Fall, vielen Dank fürs lesen!
[1] Quelle: http://wiki.ubuntuusers.de/Soundsystem
Anhänge
Zuletzt bearbeitet: