es gibt im Internet 1000 Anleitungen für den Bau eines Internet-Radios. Hier kommt die 1001 Anleitung. Eigentlich ist der Aufbau eines WLAN-Radios einfach - aber die Tücke liegt im Detail; vor allem, wenn man von Linux keine Ahnung hat wie ich. Ich möchte meine Erfahrungen einfach an Leute weitergeben, die sich auch mal mit dem Raspberry Pi beschäftigen wollen.
1. Merkmale des WLAN-Radios:
- 4-stelliges LCD Display für die Anzeige von Sendernamen, Programminfos, Datum, Uhrzeit usw. - Einstellung von Lautstärke, Sender usw. über zwei Drehencoder - Soundausgabe über USB-Soundkarte - Abspielen von MP3-Dateien vom USB-Stick - WPA2-Verschlüsselung der WLAN-Verbindung - Verwendung der freien Software von Bob Rathbone (siehe private Webseite von Bob)
!!!
Fotos, Grafiken nur über die
Upload-Option des Forums, KEINE FREMD-LINKS auf externe Fotos.
!!! Keine
Komplett-Schaltbilder, keine Fotos, keine Grafiken, auf denen
Urheberrechte Anderer (auch WEB-Seiten oder Foren) liegen! Solche Uploads werden wegen der Rechtslage kommentarlos gelöscht!
Keine Fotos, auf denen Personen erkennbar sind, ohne deren schriftliche Zustimmung.
der RPi hat doch meines Wissens einen onboard Sound, wozu also die USB-Soundkarte?
Um den Bezug zum Forum herzustellen und dem Radio eine einmalige Note zu geben, würde ich als Endstufe eine nostalgische Röhre wie die DLL21 (kostet 15 Euro) verwenden, die als Eintakt-Stereoverstärker ca. 2 x 250mW liefert. Man benötigt dazu allerdings Übertrager mit möglichst 14kOhm Primärimpedanz, bei Röhrenstadt sah ich sowas. Die Röhre ist sehr sparsam, Heizung 1,4V 200mA.
Das in Kombination mit 2 sehr effizienten Lautsprechern (z.B. Monacor-Musikhorn, 101dB 1W/1m) liefert eine ordentliche Lautstärke.
ist das ein RaspPi 1 oder der seit einigen Tagen lieferbare RaspPi 2 mit 4 CPU Kernen? Der neue RaspPi 2 sollte mit einem RTLSDR Stick auch noch DAB/DAB+ und Analogradio (von MW bis UKW) können. Der RaspPi 1 ist dafür zu langsam. Ich habe hier im Forum ein Allwellenradio mit einem BananaPi und Odroid C1 aufgebaut.
Als Endstufe benutze ich zwei TDA2030. Das Gehäuse konstruiere ich aktuell im CAD, es wird mit einer Computergesteuerte Fräse hergestellt. Als Betriebssystem läuft Ubuntu mit einer selbstgestrickten Oberfläche und DAB+ Radiosoftware. Die Bedienung erfolgt über ein Touchscreen. Man könnte auch die Software für Encoder und LCD-Modul umgestalten.
Hermann die Soundkarte vom RaspPi1 kann man schlecht als solche bezeichnen. Die Quallität ist nicht sehr gut.
es ist ein RPI B+; mit dem on-board-Sound habe ich keine guten Erfahrungen gemacht; es waren viele Störgeräusche zu vernehmen; mit der USB-Soundkarte ist alles glasklar; mann sollte aber eine etwas bessere nehmen; meine ist relativ leise - kostete aber nur paar Euro. Später mehr darüber.
Zitat: Der neue RaspPi 2 sollte mit einem RTLSDR Stick auch noch DAB/DAB+ und Analogradio (von MW bis UKW) können. Der RaspPi 1 ist dafür zu langsam. Ich habe hier im Forum ein Allwellenradio mit einem BananaPi und Odroid C1 aufgebaut.
Als Neuling fange ich lieber mit kleineren Brötchen an; wie stolz war ich, dass ich Deutschlandfunk hören konnte.
- Raspberry Pi Model B+ (div. Lieferanten < 30 Euro) - 4-zeiliges LCD Display (Suchbegriff: TC2004A-05, ca. 13 Euro) - Drehencoder (2) mit Drucktaste (Suchbegriff: COM-09117-340, ca. 3 Euro) - USB-WLAN-Stick (Suchbegriff: LB-Link 150, ca. 9 Euro) - USB-Soundkarte (Suchbegriff: USB UA0078, ca. 7 Euro) - 3,5 mm Stecker, Stereo - Lautsprecher (2) - Potenziometer 100 kOhm - Flachbandkabel 40-polig - (Spannungsversorgung, Micro-SD-Karte, Patchkabel)
3. Schaltplan:
- Das Raspberry Pi Model (RPI) B+ besitzt 40 Anschlüsse; zählweise: oben links 1, oben rechts 2 usw. - Das 4-zeilige LCD Display besitzt meistens 16 Anschlüsse, die auf der Platine nummeriert sind. - Mit einem 100 kOhm-Potenziometer kann der Kontrast des Displays einwenig eingestellt wer-den.
RPI-..LCD-.......Encoder.......Encoder....... Poti- Pin....Pin...........Tuner.......Lautstärke.......Pin 2........2, 15.................................................B 6........1, 5, 16.....Masse.........Masse..............A 7..........................................Taster T, mute 8..........................................Pin A, leise 10........................................Pin B, laut 11......................Pin B, Up 12......................Pin A, Down 13......11 15......12 16......13 18......14 22......................Taster T, menu 24.......6 26.......4 ..........3.......................................................C ..........7 bis 10 frei
- Wenn alle Komponenten fertig verdrahtet sind, kann die Software aufgespielt und programmiert werden. - Der Rasperry Pi wird nicht mit einem Monitor, Maus oder Tastatur verbunden, sondern mittels eines Hilfsprogramms über einen PC ferngesteuert. - zunächst wird mit an einem PC die Micro-SD-Karte mit dem Betriebssystem "RASPBIAN Debian Wheezy" vorbereitet.
4. Betriebssystem vorbereiten auf Windows Rechner
a. Die Rohdaten (Raw Images) des Betriebssystems "RASPBIAN Debian Wheezy" (z.B.: 2014-12-24-wheezy-raspbian.zip) von der raspberrypi.org-Seite als ZIP-Datei runterladen b. Die Datei *-wheezy-raspbian.zip entpacken; sie liegt dann als *-wheezy-raspbian.img vor c. SD-Speicherkarte in den SD-Karten-Leser stecken und den zugewiesenen Laufwerksbuchsta-ben merken d. Die Datei Win32DiskImager.exe runterladen (Suchbegriffe: sourceforge, win32diskimager) und exe-Datei starten; der Disk-Manager wird installiert in einem Ordner ImageWriter e. Win32DiskImager.exe im Ordner ImageWriter starten und die Datei *-wheezy-raspbian.img im Image-File-Feld auswählen f. Laufwerksbuchstaben des SD-Karten-Lesers im Device-Feld auswählen g. Auf write klicken, das Ziellaufwerk bestätigen und den Schreibvorgang abwarten h. Den Win32DiskImager beenden und die Speicherkarte aus dem Karten-Leser entnehmen
5. Inbetriebnahme des Raspberry Pi ohne Tastatur, Maus und Monitor Der Raspberry Pi (RPI) soll über ein Netzwerk von einem PC aus programmiert werden
a. Den RPI mit einem Netzwerkkabel mit dem Router verbinden b. Die SD-Karte in den RPI stecken c. Ein Netzteil mit Micro USB Stecker an den RPI anschließen; der RPI fährt jetzt hoch
IP-Adresse des RPI ermitteln mit dem Programm Advanced IP Scanner
d. Programm unter advanced-ip-scanner.com/de/ herunterladen und installieren e. Programm starten; nach dem Klick auf den Scannen-Button werden nach einiger Zeit die IP-Adressen aller am Router angeschlossenen Geräte angezeigt; der RPI erscheint unter dem Hersteller Raspberry Pi Foundation; IP-Adresse merken
RPI fernsteuern mit dem Programm PuTTY
f. Programm PuTTY (Suchbegriffe: heise, putty) herunterladen und starten g. Unter Host-Name (or IP adress) die ermittelte IP Adresse des RPI eintragen und auf open klicken h. Es öffnet sich ein neues Fenster: login as:pi eingeben; Enter; password:rasperry eingeben i. Wenn alles richtig funktioniert, dann meldet sich der RPI mit: pi@rasberrypi ~$ j. Alls nächstes soll die WLAN-Verbindung eingerichtet werden
a. WLAN-Stick in die USB-Buchse stecken b. RPI starten und PuTTY Verbindung herstellen c. Hinter pi@rasberrypi ~$ lsusb eingeben; es erscheint: Bus 001 Device ..... Realtek Semiconductor ... WLAN Adapter. Der WLAN-Stick wurde vom RPI erkannt d. Hinter pi@rasberrypi ~$ ifconfig eingeben; es erscheint: Wlan0 Link encap: Ethernet und die Hardware- (MAC-) Adresse des WLAN-Adapters. Der WLAN-Stick wurde als Netzwerkschnittstelle erkannt
Verbindung zum Router (WPA2-Verschlüsselung) aufnehmen
e. Hinter pi@rasberrypi ~$ sudo ifdown wlan0 eingeben, damit Netzwerkschnittstelle deaktiviert wird f. Hinter pi@rasberrypi ~$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf eingeben; es öffnet sich der Editor Nano g. folgenden Zeilen sind vorhanden:
h. Speichern der Datei mit Strg+O, Enter i. Beenden des Editors mit Strg+X
j. IP-Adresse beziehen; die WLAN-Verbindung soll beim Systemstart automatisch aufgebaut werden. Hinter pi@raspberrypi ~$ sudo nano /etc/network/interfaces eingeben Im Editor muss die Datei um folgende Einträge ergänzt bzw. geändert werden:
auto lo
iface lo inet loopback iface eth0 inet dhcp
allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
k. Speichern der Datei mit Strg+O, Enter l. Beenden des Editors mit Strg+X
Verbindung testen
m. Hinter pi@raspberrypi ~$ sudo ifup wlan0 eingeben, damit Netzwerkschnittstelle wieder aktiviert wird n. Hinter pi@raspberrypi ~$ ifconfig wlan0 eingeben. Nach einiger Zeit sollte eine Verbindung zum WLAN-Router aufgebaut worden sein und die zugeteilte ID-Adresse sichtbar werden.
o. WLAN-IP-Adresse für PuTTY merken p. Netzwerkkabel entfernen q. Neustart: Spannungsversorgung kurz abklemmen; der RPI startet neu und die WLAN-Verbindung sollte aufgebaut werden. Über PuTTY mit WLAN-IP anmelden; Test mit: pi@raspberrypi ~$ ifconfig wlan0; MAC- und IP-Adresse des WLAN-Adapters werden angezeigt r. Internetverbindung mit Ping-Befehl testen: hinter pi@raspberrypi ~$ ping w ww.google.de eingeben. Wenn die Internetverbindung funktioniert, dann antwortet der Google-Server:
64 bytes from muc03s01-in-f31.1e100.net (173.194.35.159): icmp_req=4 ttl=56 time=49.8 ms
s. Mit der Tastenkombination STRG+C wird der Vorgang beendet
ich würde spätestens an dieser Stelle die Standardpasswörter im Raspberry ändern! In der Konfiguration kannst nicht nur Du auf das weltweite Internetradio zugreifen, sondern mit etwas Unglück auch der Rest der Welt auf dein Radio und die "Resourcen" des Raspberry kapern. Dazu brauch man nichtmal deine WPA(2)-Verschlüsslung knacken, das geht meist ganz bequem über den Router/Gateway. Das Passwort für die letzte Meile (letzen Zentimeter) ist ja bekannt, wenn es nicht geändert wird.
a. Zunächst System mit pi@raspberrypi ~ $ sudo apt-get update auf den neusten Stand bringen b. MP3-Player mpd und MP3-Steuerung mpc installieren: pi@raspberrypi ~ $ sudo apt-get install mpd mpc python-mpd Do you want to continue [Y/n]? mit y beantworten
8. Radio-Software installieren
a. Software mit pi@raspberrypi ~ $ $ wget ht tp://www.bobrathbone.com/raspberrypi/packages/radiod_3.14_armhf.deb herunterladen b. Software mit pi@raspberrypi ~ $ sudo dpkg -i radiod_3.14_armhf.deb installieren c. Bei Select version:4 wählen für Four line LCD with rotary encoders (rradio4.py) d. System mit pi@raspberrypi ~$ sudo reboot neu starten
9. USB-Sounkarte installieren
a. USB-Soundkarte in freie USB-Buchse stecken b. Bezeichnung der Soundkarte herausfinden: pi@raspberrypi ~$ alsamixer eingeben c. Mit F6-Taste USB-Soundkarte auswählen, z.B. C-Media USB Headphone Set d. Dann merken, was auf dem Bildschirm unter Item angezeigt wird: Item: Headphone [dB gain: ...] e. USB-Soundkarte aktivieren; dazu Datei alsa-base.conf öffnen: pi@raspberrypi ~$ sudo nano /etc/modprobe.d/alsa-base.conf öffnen in der Zeile options snd-usb-audio index=-2 den index auf 0 setzen:
options snd-usb-audio index=0
f. Speichern der Datei mit Strg+O, Enter g. Beenden des Editors mit Strg+X h. pi@raspberrypi ~$ sudo nano /etc/mpd.conf öffnen:
# An example of an ALSA output: mixer_control "Headphone" # optional ändern, wie unter Punkt 9d angegeben (Item: Headphone) (ziemlich weit unten in der Datei);
i. Speichern der Datei mit Strg+O, Enter j. Beenden des Editors mit Strg+X
10. Senderliste (playlist) erweitern
a. Die Software installiert schon einige Sender; sie sind in verschiedene Playlists aufgenommen, die im Pfad /var/lib/mpd/playlists/ abgelegt sind b. Playlists bearbeiten: mit pi@raspberrypi ~$ cd /var/lib/mpd/playlists/ in den Playlist-Ordner wechseln c. Mit pi@raspberrypi /var/lib/mpd/playlists $ dir werden die Playlists angezeigt; sie haben die Dateiendung *.pls d. Mit pi@raspberrypi ~$ sudo nano German_Stations.pls wir eine Playlist geöffnet, die drei Sender aus Deutschland umfasst; der Aufbau einer Playlist wird dadurch deutlich; ein neuer Sender kann einfach nach dem vorgegebenen Schema hinzugefügt werden; wichtig ist, dass der Wert NumberOfEntries=3 angepasst wird e. Beispiel für den Sender Deutschlandfunk (DLF): am PC auf die Seite ht tp://www.deutschlandradio.de/radiohoeren-auf-deutschlandradio-de.219.de.html gehen; unter Deutschlandfunk live mit der rechten Maustaste auf MP3 (128 kBit/s) das Ziel speichern (Datei dlf.m3u) f. Datei dlf.m3u mit einem Editor öffnen; es liegen jetzt zwei http://... Adressen vor; die hintere Adresse kann gelöscht werden, so dass nur noch die Adresse ht tp://stream.dradio.de/7/249/142684/v1/gnl.akacast.akamaistream.net/dradio_mp3_dlf_m vorliegt; diese Adresse muss als neuer Sender in die Playlist (German_Stations.pls) eingetragen werden g. pi@raspberrypi ~$ sudo nano German_Stations.pls [enter]
NumberOfEntries=4 ... Title4=DLF File4=http://stream.dradio.de/7/249/142684/v1/gnl.akacast.akamaistream.net/dradio_mp3_dlf_m Length4=-1 h. Speichern der Datei mit Strg+O, Enter i. Beenden des Editors mit Strg+X
j. So können nun nach dem gezeigten Schema weitere Sender aufgenommen werden; im Internet finden sich umfangreiche Listen mit Stream-Adressen
11. Zeitzone anpassen
a. Standardgemäß wird im Display die GMT-Zeit angezeigt; die Zeitzone soll auf Berlin umgestellt werden b. pi@raspberrypi ~ $ sudo dpkg-reconfigure tzdata eingeben und durch das Menü klicken: Europa / Berlin
12. Literatur
Bob Rathbone hat auf seiner privaten Homepage eine 100-seitige ausführliche englischsprachliche Dokumentation vorgelegt: (Suchbegriff: Raspberry%20PI%20Radio.pdf)
So, fertig ist der Baubericht. Ich werde ihn laufend korrigieren.
a. Zunächst System mit pi@raspberrypi ~ $ sudo apt-get update auf den neusten Stand bringen
Hallo Thomas,
das System wird damit nicht auf den neusten Stand gebracht. Der Befehl apt-get update liest nur die Paketlisten neu ein. Um das System auf den neusten Stand zu bringen fehlt noch ein apt-get dist-upgrade bzw. apt-get upgrade.
man kann es sich natürlich noch einfacher machen, und installiert einfach OpenElec http:// openelec.tv/ auf seinem Raspberry Pi. Damit habe ich nicht nur Internetradio, sondern auch einen Mediaplayer für Filme und Videostreams. Die Installation beschränkt sich auf das Schreiben des Images auf die SD-Karte. http:// openelec.tv/ und natürlich dem Basteln eines schönen Gehäuses für den RPi.