Wifi (WLAN) Röhrenradio

Bastei Röhrenradio

Vor kurzem bekam ich ein altes Röhrenradio vom Typ Bastei vom Funkwerk Dresden um 1956/1957 geschenkt. Die MW- und UKW-Tuner funktionieren noch einwandfrei, auch Beleuchtung und die Röhren sind in Ordnung.

Allerdings hatte ich ein ungutes Gefühl mit den alten Kondensatoren, den 220 Volt Stromversorgung (zum Basteln ein bisschen viel für Informatiker) und leider empfängt man per UKW in Dresden fast nur schlimme Sender (ausgenommen Deutschlandfunk und Coloradio) – es lag also nahe, dem Radio eine IP Adresse zu verpassen und mir meine Lieblingssender in den alten Kasten zu holen. Auch Streams von Live-Podcasts z.B. von Xenim kann man dann wunderbar stillvoll am Radio hören.

Um nichts an dem alten Innenleben zu beschädigen, ließ ich alles so wie es ist, lötete einfach nur die beiden Kabel des alten Lautsprechers an eine neue Endstufe. Genau wie beim Projekt „Lazio“ setzte ich hierbei auf den „Music Player Daemon„. Aufgrund der Einfachheit und Rechenpower für sehr wenig Geld (rund 39 Euro) entschied ich mich für das Mini-ARM-Board „Raspberry Pi„. Ich installierte darauf das auf Debian Linux basierende Betriebssystem Raspbian.

Wifi Röhrenradio

Mehr Fotos

Das Gehäuse, welches auf den Bilder zu sehen ist, ist der Pibow von Pimoroni. Zu beziehen direkt aus UK oder in Deutschland z.B. bei EXP Tech. Als USB Wifi-Adapter kommt der Edimax EW-7811UN (auf Amazon) zum Einsatz – dieser zieht nur sehr wenig Strom, wird sofort vom Raspberry Pi erkannt und ich habe nie Empfangsprobleme – für 10 Euro eine klare Empfehlung!

Wifi Röhrenradio

Raspberry Pi (z.B. von Pollin) € 38,95
Gehäuse* für den Raspberry Pi (z.B. von Pollin) + 04,95
Edimax EW-7811UN (z.B. von Amazon) + 09,80
TPA3112D1 (kostenloses Sample von TI) + Beschaltung + 00,00
Meine Investition = 53,70 Euro
SD Karte** 16 GB Class 10 (z.B. von Amazon) + 10,31
Schaltnetzteil** / Handy-Ladegerät 5V 1A (z.B. von Pollin) + 03,95
Schaltnetzteil** 12V 1,5A (z.B. von Pollin) + 09,95
Gesamtsumme = 77,91 Euro

* = Das Pibow Gehäuse auf den Fotos ist mit 18,90 deutlich teuerer, allerdings reicht für diese Zwecks natürlich das von Teko für rund 5 Euro.
** = war bei mir schon vorhanden und gehört eigentlich zum „Standard“ – daher extra aufgeführt.

Mir persönlich ist die Audio-Qualität des Audio-Ausgangs auf dem Raspberry Pi Board viel zu verrauscht, ich höre auch gerne Mal klassische Musik, da fällt das sehr schnell auf. Somit war für mich klar, dass ich eine externe USB Soundkarte einsetze – die kann man für 2 bis 3 Euro auf eBay neu kaufen. Wichtig ist auch ein USB-Verlängerungskabel, damit die Soundkarte nicht direkt neben dem WLAN-Dongle steckt – ansonsten hört man ein leichtes Knacken, da die Soundkarte gestört wird. Soundkarten wie z.B. iMic von Griffin haben bereits ein längeres Kabel – diese verwende ich bei diesem Projekt. Die iMic-Soundkarte ist mit zur Zeit ca. 25 EUR vergleichsweise teuer, in meinem Test klangen die 2-Euro-USB-Soundkarten auch schon sehr gut – diese kann man also ohne Bedenken verwenden!

Falls ihr es erstmal mit der internen Soundkarte versuchen wollt, installiert auf jeden Fall die aktuelle Firmware, sonst kommt es bei jedem Play/Pause zu einem hässlichen Knacken im Lautsprecher. Das Aktualisieren geht recht einfach mit Hilfe von rpi-update:

sudo apt-get install rpi-update
sudo rpi-update
sudo reboot

Wenn euch die Qualität so zusagt, braucht ihr nichts weiter konfigurieren. Wenn ihr eine USB-Soundkarte verwenden wollt, muss man noch folgende Zeile in /etc/modprobe.d/alsa-base.conf auskommentieren – somit wird die USB Soundkarte als Standard-Output verwendet:

# Keep snd-usb-audio from beeing loaded as first soundcard
#options snd-usb-audio index=-2

Je nach Lautsprecher kann es sein, dass das Signal der USB-Karte vollkommen ausreicht und nicht extra verstärkt werden muss. Wenn ihr direkt den Audioausgang des Raspberry Pis nutzt, benötigt ihr aber auf jeden Fall eine zusätzliche Verstärkung, da das Signal nicht besonders stark ist. Obwohl die meine USB-Soundkarte schon ein recht starkes Signal lieferte, verwendete ich die Endstufe TPA3112D1 um das Signal zu verstärken. Ich bin mit dem Ergebnis sehr zufrieden. Natürlich kann man auch erstmal die Soundkarte direkt an den Lautsprecher anschließen und hören, ob es schon reicht – das Ausgangssignal ist von Soundchip zu Soundchip verschieden.

Mein Radio besitzt nur einen Lautsprecher – somit müssen die Stereo-Signale der Radiostreams noch in Mono gewandelt werden. Ich habe mir für Mono-Downmix in Software entschieden – einfach die beiden R/L-Kabel „zusammenklemmen“ wird nicht empfohlen (Signale können sich gegenseitig auslöschen und die Audioqualität leidet darunter). MPD kann man recht einfach so konfigurieren, dass immer mono ausgegeben wird:

sudo nano /etc/mpd.conf

Die Datei folgendermaßen abändern:

audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"
        format          "44100:16:1"
        mixer_device    "default"
        mixer_control   "PCM"
        mixer_index     "0"
}

Der Standardwert von 44100:16:2 muss in 44100:16:1 (das bedeutet 44100 Hz Abtastrate, 16 Bit Genauigkeit, 1 Kanal) geändert werden.

Im Folgenden möchte ich eine ganz kleine Einführung in mpd geben. Mehr Informationen findet man hier.

Installation von mpd unter Raspbian

sudo apt-get install mpd mpc

Beispiel: Fritz vom RBB in die Playlist aufnehmen:

mpc add http://rbb.ic.llnwd.net/stream/rbb_fritz_mp3_m_a

Beispiel: Live Podcasts aus der Metaebene (Tim Pritlove) in Playlist aufnehmen:

mpc add http://streams.xenim.de/metaebene.mp3

Ich habe noch mehr Streaming-URLs im Wiki zusammengestellt.

Grundsätzlich kann man die Konsolenapplikation mpc dazu verwenden, mpd zu steuern und z.B. in unserem Fall den Radiosender auszuwählen. Ich verwende zusätzlich auch die native Mac-App Theremin, um das Radio sehr komfortabel zu steuern. Für andere Plattformen gibt es ebenfalls sehr viele Clients für mpd – eine sehr ausführliche Übersicht hier.

Mittels mpc kann man den Radiostream Nummer 1 folgendermaßen auswählen:

mpc play 1

Nun müsste Musik aus dem Lautsprecher erklingen. 🙂

Eine weitere Idee, die auf der Hand lag: Ich möchte mit dem Röhrenradio auch meine Musik aus iTunes und vom iPhone hören – somit habe ich auch noch Airplay Support nachgerüstet – das geht sehr einfach, indem man shairport installiert.

Installation von shairport unter Raspbian

sudo apt-get update
sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils
perl -MCPAN -e 'install Net::SDP'

sudo git clone https://github.com/albertz/shairport.git
cd shairport
sudo make
sudo make install

sudo cp shairport.init.sample /etc/init.d/shairport
cd /etc/init.d
sudo chmod a+x shairport
sudo update-rc.d shairport defaults

Beim nächsten Systemstart wird shairport nun automatisch gestartet.
Bei Bedarf noch die Variable NAME in der Datei /etc/init.d/shairport ändern. Der Standardwert ist „shairport“, ich habe ihn entsprechend in „Bastei“ geändert. Dieser Name wird dann z.B. in iTunes oder auf dem iPhone angezeigt.

Um shairport direkt zu starten, folgende Zeile in der Konsole ausführen:

sudo /etc/init.d/shairport start

Nun sollte das Radio als Airplay-Device in iTunes und auf dem iPhone/iPad/iPod erscheinen.