Ein WLAN-Radio mit RaspberryPi und Touchdisplay selbstgebaut

wlan-radio-banner

Eins vorweg: Du solltest ein bisschen Grundwissen mitbringen, was den RaspberryPi und Linuxsysteme angeht. Ich erkläre hier nicht alles.

Schon länger wollte ich ein WLAN-Radio haben. Durch unsere innenliegende Küche, den damit miserablen UKW-Empfang und „die Hits der 70er, 80er, 90er und das Beste von Heute“ wurde der Wunsch noch akuter. Wenn nicht mal Bayern 1 für die Bundesliga-Konferenz reingeht, ist das schon bitter. WLAN-Radios von den gängigen Herstellern sind aber recht teuer und unflexibel in der Bedienung: Ab 80€ aufwärts ist mir schlicht viel zu viel Geld für „nur“ ein Radio.

Also habe ich mich für die Selbstbauvariante mit einem RaspberryPi entschieden. Hier gibt es eine Vielzahl von Lösungen mit Bedienung durch LCD-Displays und manuellen Knöpfen, sowie ein paar Schöne mit Touchdisplay. Letzteren Weg habe ich gewählt.

Material

Vorüberlegungen

Ich habe verschiedene Lösungen ausprobiert, darunter das RPi Tron Radio und den Raspbian Tron Radio lema67 Mod. Teilweise hat das auch funktioniert, Problem war aber die unterschiedliche Displaygröße (2,8 vs. 3,2 Zoll) sowie eine unfertige Konfiguration des Touchdisplays, die ich selbst nicht wirklich verstanden geschweige denn hinbekommen habe.

Also war mein Weg nach einigem (!) Probieren die Kombination aus dem vorbereiteten Raspbian Image von Watterott für 8-Bit SPI Version 2015-05-24 und der newTRON-Radio Oberfläche. Der große Vorteil von newTRON ist die Skalierbarkeit: dank Python und SVG-Grafiken passt sich die Darstellung automatisch an die jeweils verwendete Displaygröße an.

Die Einrichtung – Schritt für Schritt

  1. Raspbian Image herunterladen, entzippen und mit dd auf die Speicherkarte bringen
    ~# dd if=raspbian_wheezy_armhf_fbtft_02.2015.img of=/dev/sdX oflag=direct bs=1M
  2. Zweite Partition mounten und in /etc/network/interfaces WLAN SSID und Passwort hinterlegen:
    auto wlan0
    iface wlan0 inet dhcp
    wpa-ssid "Wlanname"
    wpa-psk "Wlan Passwort"
  3. Das Installerscript aus dem Forenbeitrag (ganz unten am ersten Beitrag) herunterladen und in /home/pi/ ablegen. Für den Download musst du dich im Forum registrieren, was eh eine gute Idee ist, wenn du dich für RaspberryPi Themen interessierst!
  4. Touchdisplay am RaspberryPi aufstecken, Speicherkarte einlegen und den Pi starten. Das Gerät startet und auf dem Display erscheinen die üblichen Zeilen eines bootenden Linux. Nach einer Weile fängt der WLAN-Stick an zu blinken und des Pi lässt sich pingen.
  5. Du loggst dich via SSH mit user „pi“ und „raspberry“ als Passwort auf dem RaspberryPi ein und aktualisierst die Paketliste: sudo apt-get update
    Wichtig: Auf keinen Fall das System aktualisieren! (upgrade oder dist-upgrade). Das installiert eine Version von python-pygame die mit der Firmware des Pi nicht klarkommt. Das newTRON Radio startet dann nicht!
  6. Wenn die Paketliste aktualisiert ist startest du die Installation von newTRON:
    sh ./newtron-radio-setup.sh
    Das dauerte eine Weile, hol dir mal nen Kaffee. Sobald die Installation abgeschlossen ist, fügst du in die Datei /etc/rc.local noch die Zeile /usr/local/bin/newtron-radio vor exit 0 ein. Sonst sollte in der Datei nichts stehen!
  7. Im Anschluss startest du den RaspberryPi neu. Wenn alles geklappt hat, sollte das System direkt nach dem Booten newTRON starten und anfangen Musik abzuspielen. Natürlich nur falls du Boxen oder testweise Kopfhörer angeschlossen hast. ;)

Für mich steht noch der Bau eines passenden Gehäuses auf dem Plan. Ich möchte das aus Holz sägen und kleine Aktivboxen einbauen, die über USB mit Strom versorgt werden.

30 Gedanken zu „Ein WLAN-Radio mit RaspberryPi und Touchdisplay selbstgebaut“

  1. Wenn es um den Empfang von Bayern 1 geht, wäre es eventuell auch interessant, einen USB-DAB+-Empfänger wie den RealTek RTL2832U Chip in Betracht zu sehen. Oft kann man mit dem DAB+-Empfang sehr gute Ergebnisse erzielen und verschwendet dabei keine kostbare Bandbreite.

    1. Ne, Bayern 1 ist das geringste Problem. Dafür könnte ich Notfalls auch eine Antennenverlängerung auf den Balkon basteln.
      Mir gehts mehr um SomaFM, DI.fm oder die Webstreams von Rockantenne.

      1. Nette Ableitung, aber dazu zu raten das system nicht upzudaten find ich nicht gut. Sicherheit sollte auch bei einem noch so unbedeutenden gerät wie dein radio garantiert werden. Immerhin ist das teil ja mit dem Internet verbunden und somit prinzipiell von außen angreifbar.

        Eine bessere Lösung wäre es das system upzudaten und anschließend eine ältere Version von pygame zu installieren. (Downgrade oder selber kompilieren)

    2. Hast du einen DAB+ Stick am Raspberry zum Laufen gebracht? Würde mich interessieren, bisher hab ich noch nichts gefunden…

  2. Vielen Dank, genau so eine Anleitung habe ich schon lange gesucht! Bis auf das Display habe ich alle Teile da. Noch ein paar Fragen:
    – Kann dieses Radio auch .mp3-Dateien von einem USB-Stick abspielen? Idealerweise per Ordnernavigation aufrufbar.
    – Verwendest du den originale RPi-Audioausgang? Wie ist die Klangqualität?
    – Kann man einen Speicher anschließen, den man dann über’s Netzwerk befüllen kann?

    1. Das Radio läuft ja mit MPD (Music Player Daemon) und kann somit alles abspielen: MP3, Ogg, MP4…
      Hilfreich für deine anderen Fragen dürfte dieser Blogpost sein: https://kaffeeringe.de/703/fernsteuerte-musik-per-mpd-und-android/
      Ich werde das aber selbst noch testen.

      Für die Audioausgabe verwende ich den Klinkenausgang. Für meine Zwecke reicht das, selbst mit den 5€-Schrottboxen die ich hier noch rumliegen hatte klingt das ganz passabel. Für den Zweck einer Hifi-Anlage würde ich aber den HDMI-Port verwenden. Digital ist besser. :)

      Lass was hören, wenn du dein Radio fertig hast!

      1. Mach ich. Zuerst mal habe ich jetzt das Display bestellt, das wird noch dauern, bis das kommt.
        Kann man das Ding auch über eine Fernbedienung steuern? Ich hab noch so eine X10 herumliegen. Gehäuse steht jetzt auch bereit…

        1. Für Infrarot wirst du einen externen Empfänger zu brauchen. Es gibt aber auch Android Apps für die remote Steuerung von MPD. Da bist du dann von Sichtkontakt unabhängig.

          1. Die X10 ist eine Funk(!)-Fernbedienung, für die ich auch ein Dongle habe. Nachteil: Die ist für Medion-PCs, wie ich auch einen im Wohnzimmer stehen habe. Bediene ich auf der die Pfeiltasten, dann scrollt der Rechner im Wohnzimmer auf und ab. Aber damit muss man leben ;)
            Das Display ist immer noch nicht gekommen. Ich würde so gerne damit anfangen, das Ding zu bauen…

  3. Was lange währt, wird endlich… irgendwann fertig. Das Display aus der oben genannten Auktion ging zweimal auf dem Postweg verloren, ich habe jetzt ein anderes bestellt und heute bekommen. Ein angepasstes Raspbian (vom Displayhersteller) ist drauf, ebenso die oben genannten Anpassungen. Jetzt geht es ans Feintuning, Displaykalibration, Oberfläche anpassen und so weiter. Danke für die Anleitung!

    1. Hi,
      darf ich fragen welche Display du bestellt hast?
      Ich will mir auch so ein Radio bauen und hab extra auf den Chip XPT2046 geachtet, nur kann ich das Radio nicht starten, weil das Display auf die befehle ts_calibrate nicht reagiert.

  4. Erst mal viele Dank für die super Anleitung, hab heute mein Display bekommen und gleich mal alles zusammen gesteckt.
    Und dann Spannung an den Pi und gespanntes warten ……
    Und es funktioniert !!!
    Jetzt steht nur noch der bau eines Gehäuses an.

    Ich hab da nur noch ein Problem und zwar das ich NDR 2 nicht zum laufen bring, habs schon als NDR2.m3u versucht oder auch „mit mpc add http://www.ndr.de/resources/metadaten/audio/m3u/ndr2.m3u

  5. Ein nettes Projekt! Ich hab es ausprobiert und bin soweit zufrieden. Als Monitor hab ich den Waveshare 3,5″ 480×320 genommen. Trotz Bildschirmkalibrierung liegt die Maus immer zu weit links vom gedrückten Punkt im Fenstermodus oder im Vollbild. Ich wollte mir noch ein paar schwedische Sender hinzufügen und hab die auch in die Playliste eingetragen wie die anderen. Wenn ich die Sender suche tauchen sie in der Liste nicht auf. Gibt es hier noch etwas zu ergänzen im newtron-radio.py?

    1. Auch wenn du die Probleme gelöst hast:
      Stream-Playlisten sollten nach /var/lib/mpd/playlists kopiert werden, damit das Radio sie erkennt.

  6. Ich habe die Probleme gelöst. Die neuen Radiostationen wurden im mpd-Verzeichnis /etc/mpd.conf eingefügt. Die genaue Bezeichnung ergibt sich wenn man mit vlc den offiziellen link als Netzwerkstream öffnet und dann unter Werkzeuge/Medieninformation Ort die genau Bezeichnung findet um den Stream bei mpd.conf einzufügen. Die Bildschirmproblematik habe ich umgangen indem ich remote desktop software auf raspberry pi und mein Handy aufgespielt habe.
    Nun bediene ich komfortabel mein Wlan Raspberry Pi vom Handy aus.
    Dazu bräuchte ich eigentlich kein Display mehr.

  7. Habt ihr ein Verstärker verbaut?
    Ich würde gerne 2 deckenlautsprecher verbauen.

    Ich wollte erst ein Buschjager Radio verbauen die Alternative mit dem Pi ist natürlich um einiges besser.

    1. Hi,

      klar – das ganze ist vom Betriebssystem deines Rechners unabhängig.
      Aber ein paar Linux-Grundkenntnisse sind bestimmt hilfreich. Vielleicht solltest du erst einmal mit dem Pi rumspielen und ausprobieren, bevor du dich an das Radio-Projekt wagst.

  8. Hallo zusammen,

    ich finde das die anleitung echt super mal ganz von der idee abgesehen.
    mein papa wird sich bald über ein neues radio freuen können, denn das medion radio wird ersetzt.
    Beim schreiben ergibt sich noch folgende frage: Kann ich irgendwie ein CD Laufwerk einbinden ?
    Mein papa ist schon recht alt, aber mit dem 3,5 zoll display sollten die knöpfe mind wenn nichr besser erkennbar sein.
    Ein cd laufwerk wäre deswegen interessant, weil es nicht zu komplex werden darf ( er ist über 70 u nicht IT affin) oder könnte man einen button „CDs“ hinterlegen? dann würde ich die über das lan bereitstellen wollen.

    1. Ich würde die CDs als MP3 auf die Speicherkarte oder einen zusätzlichen Stick packen. Über Playlisten und Ordner sollte sich das auch ganz einfach wie ein Onlineradio abspielen lassen, ganz ohne „CD“-Button.

  9. Aber es sollte doch nicht zu schwer sein ein CD-Player zu integrieren?
    Wäre doch Super wenn man ein CD-Laufwerk per USB anschließt und Audio-CD’s hören würde
    Man hat ja nicht Lust alle CD zu rippen

  10. Erstmal danke für die Anleitung.
    Hab noch nen Raspberry Pi in der ersten Version liegen, geht der auch?
    Oder ein Pi 3 ?

    1. Meines Wissens macht das keinen Unterschied, welchen Pi du nutzt. Vorteil beim 3er ist halt, dass du keinen extra WLAN-Stick brauchst.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *