Wie man ein Raspberry Pi-basiertes Radio baut
Radio mag zwar altmodisch klingen, aber genau darin liegt sein Reiz: Es ist einfach, zuverlässig und nach wie vor relevant für Unterhaltungs- und Bildungsprojekte. Mit einem Raspberry Pi lässt sich ein modernes, flexibles Radio bauen – als Internetradio, lokaler Musikplayer oder (mit einem zusätzlichen Modul) sogar als UKW-Radio. Dieser Artikel beschreibt den praktischen Aufbau eines Raspberry-Pi-basierten Radios, von der Hardwareeinrichtung bis zur Softwarekonfiguration.
-
1. Raspberry Pi-basiertes Funkkonzept
Im Allgemeinen gibt es zwei Hauptansätze:
1. Internetradio (Streaming)
Der Raspberry Pi spielt Radiosendungen aus dem Internet über WLAN/Ethernet ab. Dies ist die einfachste und gebräuchlichste Methode, da keine spezielle HF-Ausrüstung benötigt wird.
2. FM/AM-Radio (mit optionalem Gerät)
Es wird ein Tunermodul (z. B. ein FM-Empfänger über I2C/SPI) oder ein Software Defined Radio (SDR)-Gerät benötigt. Die Konfiguration ist komplexer und hängt oft vom verwendeten Gerät ab.
In diesem Artikel liegt der Schwerpunkt auf Internetradio, da es am einsteigerfreundlichsten ist und sich am besten für die schnelle Erstellung von Inhalten eignet.
-
2. Erforderliche Ausrüstung
Hier ist eine Liste der empfohlenen Komponenten:
– Raspberry Pi (Pi 3/4/Zero 2 W empfohlen)
– MicroSD-Karte mit mindestens 8–16 GB
– Stabile Stromversorgung (5V, Stromstärke je nach Pi-Modell)
– Internetverbindung (WLAN oder LAN-Kabel)
– Audioausgabe:
– Aktivlautsprecher über 3.5-mm-Klinkenbuchse (bei unterstützten Modellen) oder
– USB-Lautsprecher/Verstärker, oder
– DAC Audio HAT (optional, bessere Qualität)
– Monitor und Tastatur (für die Ersteinrichtung) oder SSH-Zugriff
– Projektgehäuse/Box (optional, für eine ordentliche Optik)
Wenn Sie ein Radio mit physischen Bedienelementen wünschen, können Sie Folgendes hinzufügen:
– Druckknopf, Drehgeber oder OLED/LCD-Bildschirm.
-
3. Installation des Raspberry Pi-Betriebssystems
1. Laden Sie Raspberry Pi Imager herunter und installieren Sie es auf Ihrem PC/Laptop.
2. Legen Sie die microSD-Karte ein und flashen Sie dann Raspberry Pi OS Lite (ohne Desktop) für eine ressourcenschonende Nutzung oder die Desktop-Version, wenn Sie eine grafische Benutzeroberfläche wünschen.
3. Vor dem Schreiben des Bildes können Sie Folgendes einstellen:
– WLAN (SSID & Passwort)
– Benutzername und Passwort
– SSH-Aktivierung
4. Starten Sie den Raspberry Pi und vergewissern Sie sich, dass die Internetverbindung funktioniert.
Nach dem Einloggen ins System aktualisieren Sie die Pakete:
„Bash
sudo apt aktualisieren
sudo apt upgrade -y
“`
-
4. Audio auf dem Raspberry Pi einrichten
Überprüfen Sie die erkannten Audiogeräte:
„Bash
aplay -l
“`
Wenn Sie Audio über HDMI oder eine Klinkenbuchse (modellabhängig) ausgeben, können Sie den Standardausgang auswählen. Einige Versionen von Raspberry Pi OS konfigurieren die Audioeinstellungen automatisch, Sie können die Ausgabe aber auch wie folgt testen:
„Bash
speaker-test -t wav -c 2
“`
Wenn Sie eine USB-Soundkarte oder einen DAC-HAT verwenden, wird dieser normalerweise als neues Gerät erkannt. Stellen Sie sicher, dass Ihre Ausgabe korrekt ist, damit Sie Radio hören können.
-
5. Installation des Internetradio-Players (MPD + MPC)
Eine der stabilsten Methoden ist die Verwendung von MPD (Music Player Daemon) zum Abspielen von Audio und MPC als Controller vom Terminal aus.
Installieren Sie das Paket:
„Bash
sudo apt install -y mpd mpc
“`
Stellen Sie sicher, dass MPD ausgeführt wird:
„Bash
sudo systemctl enable mpd
sudo systemctl start mpd
“`
Status prüfen:
„Bash
systemctl status mpd
“`
-
6. Hinzufügen einer Liste von Radiosendern
MPD kann URL-Streams abspielen. Sie können Radiosender zu MPD-Wiedergabelisten hinzufügen.
Beispiel für das Hinzufügen eines Radiostreams:
„Bash
mpc add http://streamurl-radio-anda:8000/stream
“`
Dann spiele:
„Bash
MPC-Spiel
“`
Um die Liste anzuzeigen:
„Bash
MPC-Playlist
“`
Lieblingssender-Playlist erstellen
Sie können eine `.m3u`-Playlist-Datei erstellen:
1. Erstellen Sie einen Playlist-Ordner (falls noch keiner existiert):
„Bash
mkdir -p ~/playlists
“`
2. Erstellen Sie eine Datei:
„Bash
nano ~/playlists/radio.m3u
“`
3. Geben Sie einige Streaming-URLs ein, zum Beispiel:
“`
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
“`
Fügen Sie die Titel zu MPD hinzu, indem Sie sie einzeln laden oder Ihr MPD-Musik-/Playlist-Verzeichnis einrichten. Schnell geht es so: Fügen Sie sie direkt aus einer Datei hinzu (optional, abhängig von Ihrer MPD-Konfiguration) oder kopieren Sie die Playlist in Ihren MPD-Playlist-Ordner (normalerweise `/var/lib/mpd/playlists/`).
-
7. MPD-Konfiguration zur besseren Eignung für den Funkbetrieb
MPD-Konfiguration bearbeiten:
„Bash
sudo nano /etc/mpd.conf
“`
Einige wichtige Punkte:
– Stellen Sie sicher, dass die Audioausgabe korrekt ist. Häufige Beispiele:
“`conf
Audioausgang {
Typ „alsa“
Name „ALSA-Ausgabe“
Mixer-Typ „Software“
}
“`
– Sie können den Puffer einstellen, um das Streaming stabiler zu machen (optional, abhängig von den Netzwerkbedingungen).
Nach Abschluss der Arbeiten MPD neu starten:
„Bash
sudo systemctl restart mpd
“`
-
8. Radio beim Hochfahren automatisch einschalten lassen
Damit der Raspberry Pi beim Einschalten sofort Radio abspielt:
1. Erstellen Sie ein einfaches Skript, zum Beispiel:
„Bash
nano ~/start-radio.sh
“`
Isi:
„Bash
!/bin/bash
Schlaf 5
mpc clear
mpc add http://streamurl-radio-anda:8000/stream
MPC-Volumen 70
MPC-Spiel
“`
Speichern und anschließend die Ausführungsberechtigung erteilen:
„Bash
chmod +x ~/start-radio.sh
“`
2. Erstellen Sie einen systemd-Dienst:
„Bash
sudo nano /etc/systemd/system/radio.service
“`
Isi:
„`ini
[Einheit]
Beschreibung=Radio-Autoplay
Nach=network-online.target mpd.service
Wants=network-online.target
[Bedienung]
Benutzer=pi
ExecStart=/home/pi/start-radio.sh
Neustart=bei Fehler
[Installieren]
WantedBy = multiuser.target
“`
Aktivieren:
„Bash
sudo systemctl daemon-reload
sudo systemctl enable radio.service
sudo systemctl start radio.service
“`
Hinweis: Falls der Benutzername nicht `pi` lautet, passen Sie den Pfad und `User=` an.
-
9. Hinzufügen von Steuerelementen (optional)
Damit es sich wie ein echtes Radio anfühlt, können Sie physische Bedienelemente hinzufügen:
– Weiter/Zurück-Taste zum Wechseln der Sender:
– `mpc next`
– `mpc prev`
– Wiedergabe-/Stopp-Taste:
– `mpc toggle`
– `mpc stop`
– Drehgeber für die Lautstärkeregelung:
– `mpc Lautstärke +5`
– `mpc volume -5`
Zur Implementierung der Schaltflächen können Sie Python (GPIO) verwenden und den Befehl `mpc` aufrufen. Diese Kombination ist sehr beliebt, da sie einfach und leicht zu entwickeln ist.
-
10. Entwicklungstipps und Fehlerbehebung
Häufige Probleme und ihre Lösungen:
1. Kein Ton
– Stellen Sie sicher, dass die Audioausgabe korrekt ist (ALSA-Gerät).
– Versuchen Sie, den Lautsprecher/die USB-Soundkarte auszutauschen.
– Stellen Sie sicher, dass die Lautstärke nicht 0 ist: `mpc volume 80`
2. Das Streaming ist zeitweise unterbrochen.
– Nutzen Sie nach Möglichkeit eine LAN-Verbindung.
– Füge eine Verzögerung vor dem Abspielen beim Systemstart hinzu (`sleep 5` oder `sleep 10`).
– Wählen Sie einen Stream mit niedrigerer Bitrate.
3. MPD kann URLs nicht abspielen.
– Stellen Sie sicher, dass die URL korrekt ist und aus demselben Netzwerk geöffnet werden kann.
– Stellen Sie sicher, dass die Support-Pakete verfügbar sind (in der Regel ausreichend beim neuesten Raspberry Pi OS).
4. Wünschen Sie sich eine eher „radioähnliche“ Schnittstelle?
– Installieren Sie ein Frontend wie ncmpcpp (Terminal-UI) oder erstellen Sie eine einfache Web-UI.
-
Penutup
Der Bau eines Radios auf Raspberry-Pi-Basis ist ein unterhaltsames und lohnendes Projekt. Durch die Kombination von MPD und MPC lässt sich ein stabiles Internetradio erstellen, das beim Hochfahren automatisch startet und sich problemlos um Geräte mit physischen Tasten, einem kleinen Bildschirm und sogar einem individuellen Gehäuse erweitern lässt. Sobald die Basisversion steht, können Sie sie weiterentwickeln: Fügen Sie ein OLED-Display zur Anzeige von Sendernamen hinzu, erstellen Sie ein Menü mit voreingestellten Sendern oder integrieren Sie sogar ein Tunermodul für UKW-Radio.
Wenn Sie möchten, kann ich mit spezifischeren Versionen fortfahren: zum Beispiel mit einer Liste sofort einsatzbereiter indonesischer Radiosender (URL), einem Python-Codebeispiel für einen GPIO-Schalter oder einer Anleitung zur Verwendung eines DAC HAT für eine deutlich bessere Klangqualität.