Cumu fà una radio basata nantu à Raspberry Pi
A radio pò sembrà una tecnulugia "vecchia", ma hè precisamente questu u so appellu: simplice, affidabile, è sempre assai pertinente per i prughjetti di divertimentu è educativi. Cù un Raspberry Pi, pudete creà una radio muderna è flessibile - pò esse una radio in streaming internet, un lettore di musica lucale, o ancu (cù un modulu supplementu) una radio FM. Questu articulu spiega cumu custruisce una radio basata annantu à Raspberry Pi in modu praticu, da a cunfigurazione di l'hardware à a cunfigurazione di u software.
-
1. Cuncettu di Radio basatu annantu à Raspberry Pi
In generale, ci sò dui approcci principali:
1. Radio Internet (Streaming)
U Raspberry Pi trasmette trasmissioni radio da Internet via Wi-Fi/Ethernet. Questu hè u metudu u più faciule è u più cumunu, postu chì ùn richiede micca equipaggiamenti RF speciali.
2. Radio FM/AM (cù un dispositivu opzionale)
Richiede un modulu sintonizzatore (per esempiu, un ricevitore FM via I2C/SPI) o un dispositivu Software Defined Radio (SDR). A cunfigurazione hè più cumplessa è dipende spessu da u dispositivu utilizatu.
In questu articulu, l'attenzione principale hè nantu à a Radio Internet perchè hè a più adatta per i principianti è adatta per creà in pocu tempu.
-
2. Attrezzatura necessaria
Eccu una lista di cumpunenti cunsigliati:
– Raspberry Pi (Pi 3/4/Zero 2 W cunsigliatu)
– MicroSD minimu 8–16 GB
– Alimentazione stabile (5V, corrente secondu u mudellu Pi)
– Cunnessione Internet (Wi-Fi o cavu LAN)
– Uscita audio:
– Altoparlanti attivi via jack di 3.5 mm (nantu à i mudelli supportati), o
– Altoparlante/amplificatore USB, o
– DAC audio HAT (opzionale, qualità megliu)
– Monitor è tastiera (per a cunfigurazione iniziale) o accessu SSH
– Scatola/involucru di u prugettu (opzionale, per a pulizia)
Sè vo vulete una radio cù cuntrolli fisichi, pudete aghjunghje:
– Pulsante, encoder rotativu, o schermu OLED/LCD.
-
3. Installazione di u Sistema Operativu Raspberry Pi
1. Scaricate è installate Raspberry Pi Imager nant'à u vostru PC/laptop.
2. Inserite a microSD, dopu flashate Raspberry Pi OS Lite (senza desktop) per un usu efficiente di e risorse, o a versione Desktop sè vulete una interfaccia grafica.
3. Prima di scrive l'imagine, pudete definisce:
– Wi-Fi (SSID è password)
– Nome d'utilizatore è password
– Attivazione SSH
4. Avvia u Raspberry Pi è assicurati chì l'internet funziona.
Dopu avè accede à u sistema, aghjurnate i pacchetti:
"' bash
sudo apt update
sudo apt upgrade -y
""
-
4. Configurazione di l'audio nantu à Raspberry Pi
Verificate i dispositivi audio rilevati:
"' bash
ghjucà -l
""
Sè vo aduprate l'audio via HDMI o una presa (secondu u vostru mudellu), pudete selezziunà l'uscita predefinita. Alcune versioni di Raspberry Pi OS cunfigureranu automaticamente i paràmetri audio, ma pudete pruvà l'uscita cusì:
"' bash
prova di l'altoparlante -t wav -c 2
""
Sè vo aduprate una carta di sonu USB o un DAC HAT, di solitu apparirà cum'è un novu dispusitivu. Assicuratevi chì a vostra surtita sia curretta per sente a radio.
-
5. Installazione di u lettore radio Internet (MPD + MPC)
Unu di i modi più stabili hè di utilizà MPD (Music Player Daemon) per ghjucà l'audio è MPC cum'è un controller da u terminal.
Installate u pacchettu:
"' bash
sudo apt install -y mpd mpc
""
Assicuratevi chì MPD sia in esecuzione:
"' bash
sudo systemctl attiva mpd
sudo systemctl principià mpd
""
Verificate u statutu:
"' bash
statutu di u sistema mpd
""
-
6. Aghjunghje una lista di stazioni radio
MPD pò ghjucà flussi URL. Pudete aghjunghje stazioni radio à e playlist MPD.
Esempiu di aghjunghje un flussu radio:
"' bash
mpc aghjunghje http://streamurl-radio-anda:8000/stream
""
Dopu ghjucate:
"' bash
ghjocu mpc
""
Per vede a lista:
"' bash
playlist mpc
""
Crea una playlist di stazione preferita
Pudete creà un schedariu di playlist `.m3u`:
1. Crea una cartella di playlist (s'ella ùn esiste micca):
"' bash
mkdir -p ~/liste di riproduzione
""
2. Crea un schedariu:
"' bash
nano ~/playlists/radio.m3u
""
3. Inserite alcuni URL di streaming, per esempiu:
""
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
""
Aghjunghjiteli à MPD caricenduli individualmente o cunfigurendu u vostru cartulare di musica/playlist MPD. Modu rapidu: aghjunghjiteli direttamente da un schedariu (opzionale secondu a vostra cunfigurazione MPD), o cupiate a playlist in u vostru cartulare di playlist MPD (di solitu `/var/lib/mpd/playlists/`).
-
7. Cunfigurazione MPD per rende la più adatta per a radio
Mudificà a cunfigurazione MPD:
"' bash
sudo nano /etc/mpd.conf
""
Alcune parti impurtanti:
– Assicuratevi chì l'output audio sia currettu. Esempi cumuni:
"`conf
uscita_audio {
scrivite "alsa"
nome "Output ALSA"
tipu_mixer "software"
}
""
– Pudete cunfigurà u buffer per rende u streaming più stabile (opzionale, secondu e cundizioni di a rete).
Una volta finitu, riavviate MPD:
"' bash
sudo systemctl restart mpd
""
-
8. Fate chì a radio si accenda automaticamente à l'avvio
Per fà chì u Raspberry Pi riproduca a radio subitu dopu l'accensione:
1. Crea un script simplice, per esempiu:
"' bash
nano ~/start-radio.sh
""
Cuntenutu:
"' bash
!/bin/bash
dorme 5
mpc chjaru
mpc aghjunghje http://streamurl-radio-anda:8000/stream
mpc vulume 70
ghjocu mpc
""
Salvà è dopu dà u permessu d'esecuzione:
"' bash
chmod +x ~/start-radio.sh
""
2. Crea un serviziu systemd:
"' bash
sudo nano /etc/systemd/system/radio.service
""
Cuntenutu:
"'ini
[Unità]
Descrizzione = Riproduzione automatica di a radio
Dopu=rete-in-linea.target mpd.service
Vuleria=rete-in-linea.target
[Service]
Utilizatore=pi
ExecStart=/home/pi/start-radio.sh
Riavvià = in casu di fallimentu
[Installa]
WantedBy = multi-usuario.target
""
Attivà:
"' bash
sudo systemctl daemon-recarga
sudo systemctl attivate u serviziu radio
sudo systemctl principià radio.service
""
Nota: se u nome d'utilizatore ùn hè micca `pi`, aghjustate u percorsu è `User=`.
-
9. Aghjunghje cuntrolli (opzionale)
Per fà chì si senti cum'è una vera radio, pudete aghjunghje cuntrolli fisichi:
– Buttone Seguente/Precedente per cambià e stazioni:
– `mpc next`
– `mpc prev`
– Buttone Play/Stop:
– `mpc toggle`
– `mpc stop`
– Codificatore rotativu per u vulume:
– `volume mpc +5`
– `volume mpc -5`
Per implementà i buttoni, pudete aduprà Python (GPIO) è chjamà u cumandamentu `mpc`. Sta cumbinazione hè assai pupulare perchè hè simplice è faciule da sviluppà.
-
10. Cunsiglii di sviluppu è risoluzione di prublemi
Alcuni prublemi cumuni è e so suluzioni:
1. Nisun sonu
– Assicuratevi chì l'output audio sia currettu (dispositivu ALSA).
– Pruvate à cambià l'altoparlante / a carta di sonu USB.
– Assicuratevi chì u vulume ùn sia micca 0: `mpc volume 80`
2. U streaming hè intermittente
– Aduprate una cunnessione LAN se pussibule.
– Aghjunghje un ritardu prima di ghjucà à l'avvio (`sleep 5` o `sleep 10`).
– Selezziunate un flussu di bitrate più bassu.
3. MPD ùn pò micca ghjucà l'URL
– Pruvate à assicurà vi chì l'URL sia curretta è chì pò esse aperta da a listessa rete.
– Assicuratevi chì i pacchetti di supportu sianu dispunibili (di solitu sufficienti nantu à l'ultimu sistema operativu Raspberry Pi).
4. Vulete una interfaccia più "radiofonica"
– Installate un frontend cum'è ncmpcpp (interfaccia di terminale), o create una semplice interfaccia web.
-
Penutup
Custruisce una radio basata annantu à Raspberry Pi hè un prughjettu à tempu divertente è gratificante. Cumbinendu MPD è MPC, pudete creà una radio internet stabile chì si avvia automaticamente à l'avviu, è hè facilmente espansibile per include dispositivi cù buttoni fisichi, un picculu schermu, è ancu una custodia persunalizata. Una volta chì avete a versione basica, pudete fà un passu in più: aghjunghje un schermu OLED per visualizà i nomi di e stazioni, creà un menu preimpostatu, o ancu aghjunghje un modulu sintonizzatore per a radio FM.
Sè vo vulete, possu cuntinuà cù versioni più specifiche: per esempiu una lista di stazioni radio indonesiane pronte à l'usu (URL), un esempiu di codice Python per un switch GPIO, o una guida per aduprà un DAC HAT per una qualità di sonu assai megliu.