Hoe maak je een radio op basis van een Raspberry Pi?
Radio klinkt misschien als een "oude" technologie, maar dat is juist de aantrekkingskracht ervan: eenvoudig, betrouwbaar en nog steeds zeer relevant voor zowel entertainment als educatieve projecten. Met een Raspberry Pi kun je een moderne, flexibele radio maken – het kan een internetstreamingradio zijn, een lokale muziekspeler of zelfs (met een extra module) een FM-radio. Dit artikel beschrijft hoe je op een praktische manier een radio bouwt met een Raspberry Pi, van de hardware-installatie tot de softwareconfiguratie.
-
1. Radioconcept gebaseerd op Raspberry Pi
Over het algemeen zijn er twee belangrijke benaderingen:
1. Internetradio (streaming)
De Raspberry Pi kan radio-uitzendingen van internet afspelen via wifi/ethernet. Dit is de eenvoudigste en meest gebruikte methode, omdat er geen speciale RF-apparatuur voor nodig is.
2. FM/AM-radio (met optioneel apparaat)
Vereist een tunermodule (bijv. een FM-ontvanger via I2C/SPI) of een Software Defined Radio (SDR)-apparaat. De configuratie is complexer en hangt vaak af van het gebruikte apparaat.
In dit artikel ligt de nadruk op internetradio, omdat dit de meest beginnersvriendelijke optie is en zich goed leent voor het opzetten ervan in korte tijd.
-
2. Benodigde apparatuur
Hieronder vindt u een lijst met aanbevolen componenten:
– Raspberry Pi (Pi 3/4/Zero 2W aanbevolen)
– MicroSD-kaart van minimaal 8–16 GB
– Stabiele voeding (5V, stroomsterkte afhankelijk van het Pi-model)
– Internetverbinding (Wi-Fi of LAN-kabel)
– Audio-uitvoer:
– Actieve luidsprekers via 3.5 mm jack (op ondersteunde modellen), of
– USB-luidspreker/versterker, of
– DAC-audio-HAT (optioneel, betere kwaliteit)
– Monitor en toetsenbord (voor de eerste installatie) of SSH-toegang
– Projectbehuizing/doos (optioneel, voor een nette afwerking)
Als je een radio met fysieke bedieningsknoppen wilt, kun je het volgende toevoegen:
– Drukknop, draaiknop of OLED/LCD-scherm.
-
3. Het Raspberry Pi-besturingssysteem installeren
1. Download en installeer Raspberry Pi Imager op je pc/laptop.
2. Plaats de microSD-kaart en flash vervolgens Raspberry Pi OS Lite (zonder desktopomgeving) voor een efficiënt gebruik van systeembronnen, of de desktopversie als u een grafische interface wilt.
3. Voordat je de afbeelding schrijft, kun je het volgende instellen:
– Wi-Fi (SSID en wachtwoord)
– Gebruikersnaam en wachtwoord
– SSH-activering
4. Start de Raspberry Pi op en controleer of de internetverbinding werkt.
Na het inloggen op het systeem kunt u de pakketten bijwerken:
"bash"
sudo apt update
sudo apt upgrade -y
''
-
4. Audio instellen op de Raspberry Pi
Controleer de gedetecteerde audioapparaten:
"bash"
aplay -l
''
Als je audio gebruikt via HDMI of een jack-aansluiting (afhankelijk van het model), kun je de standaarduitvoer selecteren. Sommige versies van Raspberry Pi OS configureren de audio-instellingen automatisch, maar je kunt de uitvoer testen door:
"bash"
speaker-test -t wav -c 2
''
Als je een USB-geluidskaart of DAC HAT gebruikt, wordt deze meestal als een nieuw apparaat herkend. Zorg ervoor dat de uitvoer correct is om de radio te kunnen horen.
-
5. Internetradiospeler (MPD + MPC) installeren
Een van de meest stabiele manieren is om MPD (Music Player Daemon) te gebruiken om audio af te spelen en MPC als controller vanaf de terminal.
Installeer het pakket:
"bash"
sudo apt install -y mpd mpc
''
Zorg ervoor dat MPD actief is:
"bash"
sudo systemctl enable mpd
sudo systemctl start mpd
''
Status controleren:
"bash"
systemctl status mpd
''
-
6. Een lijst met radiostations toevoegen
MPD kan URL-streams afspelen. Je kunt radiostations toevoegen aan MPD-afspeellijsten.
Voorbeeld van het toevoegen van één radiostream:
"bash"
mpc add http://streamurl-radio-anda:8000/stream
''
Speel vervolgens:
"bash"
mpc play
''
Om de lijst te bekijken:
"bash"
mpc-afspeellijst
''
Maak een afspeellijst met je favoriete stations
Je kunt een afspeellijstbestand met de extensie `.m3u` maken:
1. Maak een map voor afspeellijsten aan (als deze nog niet bestaat):
"bash"
mkdir -p ~/playlists
''
2. Maak een bestand aan:
"bash"
nano ~/playlists/radio.m3u
''
3. Vul enkele streaming-URL's in, bijvoorbeeld:
''
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
''
Voeg ze toe aan MPD door ze afzonderlijk te laden of door je MPD-muziek-/afspeellijstmap in te stellen. Snelle manier: voeg ze direct toe vanuit een bestand (optioneel, afhankelijk van je MPD-configuratie), of kopieer de afspeellijst naar je MPD-afspeellijstmap (meestal `/var/lib/mpd/playlists/`).
-
7. MPD-configuratie om het beter geschikt te maken voor radio
MPD-configuratie bewerken:
"bash"
sudo nano /etc/mpd.conf
''
Enkele belangrijke onderdelen:
– Zorg ervoor dat de audio-uitvoer correct is. Veelvoorkomende voorbeelden:
“`conf
Audio uitgang {
typ “alsa”
naam “ALSA-uitvoer”
mixer_type “software”
}
''
– Je kunt de buffer instellen om het streamen stabieler te maken (optioneel, afhankelijk van de netwerkcondities).
Zodra dit is gedaan, start u MPD opnieuw op:
"bash"
sudo systemctl restart mpd
''
-
8. Zorg ervoor dat de radio automatisch inschakelt bij het opstarten.
Om de Raspberry Pi direct na het inschakelen de radio te laten afspelen:
1. Maak een eenvoudig script, bijvoorbeeld:
"bash"
nano ~/start-radio.sh
''
Isi:
"bash"
!/bin/bash
slaap 5
mpc wissen
mpc add http://streamurl-radio-anda:8000/stream
mpc volume 70
mpc play
''
Sla het bestand op en geef vervolgens uitvoerrechten:
"bash"
chmod +x ~/start-radio.sh
''
2. Maak een systemd-service aan:
"bash"
sudo nano /etc/systemd/system/radio.service
''
Isi:
“Ini
[Eenheid]
Beschrijving=Automatisch afspelen op de radio
Na=network-online.target mpd.service
Wants=netwerk-online.target
[Service]
Gebruiker=pi
ExecStart=/home/pi/start-radio.sh
Herstarten=bij-falen
[Installeren]
WantedBy = multi-user.target
''
Inschakelen:
"bash"
sudo systemctl daemon-reload
sudo systemctl enable radio.service
sudo systemctl start radio.service
''
Let op: als de gebruikersnaam niet `pi` is, pas dan het pad en `User=` aan.
-
9. Bedieningselementen toevoegen (optioneel)
Om het als een echte radio te laten aanvoelen, kun je fysieke bedieningsknoppen toevoegen:
– Knop Volgende/Vorige om van zender te wisselen:
– `mpc next`
– `mpc prev`
– Afspeel-/stopknop:
– `mpc toggle`
– `mpc stop`
– Draaiknop voor volumeregeling:
– `mpc volume +5`
– `mpc volume -5`
Om de knoppen te implementeren, kun je Python (GPIO) gebruiken en de `mpc`-opdracht aanroepen. Deze combinatie is erg populair omdat het eenvoudig en makkelijk te ontwikkelen is.
-
10. Ontwikkeltips en probleemoplossing
Enkele veelvoorkomende problemen en hun oplossingen:
1. Geen geluid
– Zorg ervoor dat de audio-uitvoer correct is (ALSA-apparaat).
– Probeer een andere luidspreker/USB-geluidskaart te gebruiken.
– Zorg ervoor dat het volume niet op 0 staat: `mpc volume 80`
2. De streaming is onderbroken.
– Gebruik indien mogelijk een LAN-verbinding.
– Voeg een vertraging toe vóór het afspelen bij het opstarten (`sleep 5` of `sleep 10`).
– Selecteer een stream met een lagere bitrate.
3. MPD kan de URL niet afspelen.
– Probeer te controleren of de URL correct is en vanaf hetzelfde netwerk kan worden geopend.
– Zorg ervoor dat de ondersteuningspakketten beschikbaar zijn (meestal voldoende op de nieuwste Raspberry Pi OS).
4. Wil je een interface die meer op die van een radio lijkt?
– Installeer een frontend zoals ncmpcpp (terminal-UI) of maak een eenvoudige web-UI.
-
Sluitend
Het bouwen van een radio op basis van een Raspberry Pi is een leuk en lonend project. Door MPD en MPC te combineren, kun je een stabiele internetradio creëren die automatisch start bij het opstarten van de Raspberry Pi en die eenvoudig uit te breiden is met apparaten met fysieke knoppen, een klein scherm en zelfs een aangepaste behuizing. Zodra je de basisversie hebt, kun je het verder uitbreiden: voeg een OLED-scherm toe om zendernamen weer te geven, maak een voorkeursmenu of voeg zelfs een tunermodule toe voor FM-radio.
Als je wilt, kan ik verdergaan met meer specifieke versies: bijvoorbeeld een lijst met kant-en-klare Indonesische radiostations (URL), een Python-codevoorbeeld voor een GPIO-schakelaar, of een handleiding voor het gebruik van een DAC HAT voor een veel betere geluidskwaliteit.