Cum să faci o radio bazată pe Raspberry Pi
Radioul poate suna ca o tehnologie „veche”, dar tocmai acesta este atractivitatea sa: simplu, fiabil și încă extrem de relevant atât pentru proiectele de divertisment, cât și pentru cele educaționale. Cu un Raspberry Pi, puteți crea un radio modern și flexibil - poate fi un radio de streaming pe internet, un player muzical local sau chiar (cu un modul suplimentar) un radio FM. Acest articol prezintă cum să construiți un radio bazat pe Raspberry Pi într-un mod practic, de la configurarea hardware-ului până la configurarea software-ului.
-
1. Conceptul de radio bazat pe Raspberry Pi
În general, există două abordări principale:
1. Radio pe internet (streaming)
Raspberry Pi redă emisii radio de pe internet prin Wi-Fi/Ethernet. Aceasta este cea mai ușoară și mai comună metodă, deoarece nu necesită niciun echipament RF special.
2. Radio FM/AM (cu dispozitiv opțional)
Necesită un modul tuner (de exemplu, un receptor FM prin I2C/SPI) sau un dispozitiv radio definit prin software (SDR). Configurarea este mai complexă și depinde adesea de dispozitivul utilizat.
În acest articol, accentul principal se pune pe radioul pe internet, deoarece este cel mai ușor de utilizat pentru începători și potrivit pentru crearea de conținut într-un timp scurt.
-
2. Echipament necesar
Iată o listă de componente recomandate:
– Raspberry Pi (se recomandă Pi 3/4/Zero 2 W)
– MicroSD minim 8–16 GB
– Sursă de alimentare stabilă (5V, curent conform modelului Pi)
– Conexiune la internet (Wi-Fi sau cablu LAN)
– Ieșire audio:
– Difuzoare active prin mufă de 3.5 mm (pe modelele compatibile) sau
– difuzor/amplificator USB sau
– DAC audio HAT (opțional, calitate mai bună)
– Monitor și tastatură (pentru configurare inițială) sau acces SSH
– Carcasă/cutie proiect (opțional, pentru curățenie)
Dacă doriți un radio cu comenzi fizice, puteți adăuga:
– Buton de acționare, encoder rotativ sau ecran OLED/LCD.
-
3. Instalarea sistemului de operare Raspberry Pi
1. Descărcați și instalați Raspberry Pi Imager pe PC/laptop.
2. Introduceți cardul microSD, apoi instalați Raspberry Pi OS Lite (fără desktop) pentru o utilizare eficientă a resurselor sau versiunea Desktop dacă doriți o interfață grafică.
3. Înainte de a scrie imaginea, puteți seta:
– Wi-Fi (SSID și parolă)
– Nume de utilizator și parolă
– Activare SSH
4. Porniți Raspberry Pi și asigurați-vă că funcționează internetul.
După ce vă conectați la sistem, actualizați pachetele:
„`bash
sudo apt update
sudo apt upgrade -y
„`
-
4. Configurarea sunetului pe Raspberry Pi
Verificați dispozitivele audio detectate:
„`bash
aplay -l
„`
Dacă utilizați sunet prin HDMI sau o mufă (în funcție de model), puteți selecta ieșirea implicită. Unele versiuni de Raspberry Pi OS configurează automat sunetul, dar puteți testa ieșirea astfel:
„`bash
test-difuzor -t wav -c 2
„`
Dacă folosești o placă de sunet USB sau un DAC HAT, acesta va apărea de obicei ca un dispozitiv nou. Asigură-te că ieșirea este corectă pentru a auzi radioul.
-
5. Instalarea playerului radio pe internet (MPD + MPC)
Una dintre cele mai stabile metode este utilizarea MPD (Music Player Daemon) pentru a reda audio și MPC ca un controller din terminal.
Instalați pachetul:
„`bash
sudo apt install -y mpd mpc
„`
Asigurați-vă că MPD rulează:
„`bash
sudo systemctl activează mpd
sudo systemctl pornire mpd
„`
Verificați starea:
„`bash
starea systemctl mpd
„`
-
6. Adăugarea unei liste de posturi de radio
MPD poate reda fluxuri URL. Puteți adăuga posturi de radio la playlist-urile MPD.
Exemplu de adăugare a unui flux radio:
„`bash
mpc adaugă http://streamurl-radio-anda:8000/stream
„`
Apoi joacă:
„`bash
redare mpc
„`
Pentru a vizualiza lista:
„`bash
listă de redare MPC
„`
Creați o listă de redare a posturilor preferate
Puteți crea un fișier de listă de redare `.m3u`:
1. Creați un folder pentru lista de redare (dacă nu există deja):
„`bash
mkdir -p ~/liste de redare
„`
2. Creați un fișier:
„`bash
nano ~/liste de redare/radio.m3u
„`
3. Completați câteva adrese URL de streaming, de exemplu:
„`
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
„`
Adăugați-le în MPD încărcându-le individual sau configurând directorul de muzică/listă de redare MPD. Metodă rapidă: adăugați-le direct dintr-un fișier (opțional, în funcție de configurația MPD) sau copiați lista de redare în folderul listei de redare MPD (de obicei `/var/lib/mpd/playlists/`).
-
7. Configurația MPD pentru a o face mai potrivită pentru radio
Editați configurația MPD:
„`bash
sudo nano /etc/mpd.conf
„`
Câteva părți importante:
– Asigurați-vă că ieșirea audio este corectă. Exemple comune:
„`conf
iesire audio {
tastează „alsa”
nume „Ieșire ALSA”
„software” de tip mixer
}
„`
– Puteți seta buffer-ul pentru a face streaming-ul mai stabil (opțional, în funcție de condițiile rețelei).
După ce ați terminat, reporniți MPD:
„`bash
sudo systemctl restart mpd
„`
-
8. Pornirea automată a radioului la pornire
Pentru ca Raspberry Pi să redea radioul imediat după pornire:
1. Creați un script simplu, de exemplu:
„`bash
nano ~/start-radio.sh
„`
Isi:
„`bash
!/bin/bash
Dormi 5
mpc clar
mpc adaugă http://streamurl-radio-anda:8000/stream
volumul mpc 70
redare mpc
„`
Salvează apoi acordă permisiunea de execuție:
„`bash
chmod +x ~/start-radio.sh
„`
2. Creați un serviciu systemd:
„`bash
sudo nano /etc/systemd/system/radio.service
„`
Isi:
„`ini
[Unitate]
Descriere = Redare automată radio
După=network-online.target mpd.service
Dorințe=rețea-online.target
[Serviciu]
Utilizator=pi
ExecStart=/home/pi/start-radio.sh
Restart=la eșec
[Instalare]
WantedBy = multi-user.target
„`
Permite:
„`bash
sudo systemctl daemon-reload
sudo systemctl activează radio.service
sudo systemctl pornește radio.service
„`
Notă: dacă numele de utilizator nu este `pi`, ajustați calea și `User=`.
-
9. Adăugarea de controale (opțional)
Pentru a-l face să se simtă ca un radio adevărat, puteți adăuga comenzi fizice:
– Butonul Următor/Anterior pentru schimbarea posturilor:
– `mpc next`
– `mpc prev`
– Buton Redare/Oprire:
– `mpc comutator`
– `mpc stop`
– Encoder rotativ pentru volum:
– `volum mpc +5`
– `volum mpc -5`
Pentru a implementa butoanele, puteți utiliza Python (GPIO) și apela comanda `mpc`. Această combinație este foarte populară deoarece este simplă și ușor de dezvoltat.
-
10. Sfaturi de dezvoltare și depanare
Câteva probleme comune și soluțiile lor:
1. Niciun sunet
– Asigurați-vă că ieșirea audio este corectă (dispozitiv ALSA).
– Încercați să schimbați difuzorul/placa de sunet USB.
– Asigurați-vă că volumul nu este 0: `mpc volume 80`
2. Streaming-ul este intermitent
– Folosiți o conexiune LAN, dacă este posibil.
– Adăugați o întârziere înainte de redare la pornire (`sleep 5` sau `sleep 10`).
– Selectați un flux cu rată de biți mai mică.
3. MPD nu poate reda URL-ul
– Încercați să vă asigurați că adresa URL este corectă și poate fi deschisă din aceeași rețea.
– Asigurați-vă că pachetele de asistență sunt disponibile (de obicei suficiente pe cel mai recent sistem de operare Raspberry Pi).
4. Vrei o interfață mai „radio”
– Instalați un frontend precum ncmpcpp (interfață de utilizator pentru terminal) sau creați o interfață de utilizator web simplă.
-
Închidere
Construirea unui radio bazat pe Raspberry Pi este un proiect atât distractiv, cât și plin de satisfacții. Combinând MPD și MPC, puteți crea un radio de internet stabil care pornește automat la pornire și este ușor de extins pentru a include dispozitive cu butoane fizice, un ecran mic și chiar o carcasă personalizată. După ce ați stăpânit versiunea de bază, puteți merge mai departe: adăugați un ecran OLED pentru a afișa numele posturilor, creați un meniu presetat sau chiar adăugați un modul tuner pentru radio FM.
Dacă doriți, pot continua cu versiuni mai specifice: de exemplu o listă de posturi de radio indoneziene gata de utilizare (URL), un exemplu de cod Python pentru un comutator GPIO sau un ghid pentru utilizarea unui DAC HAT pentru o calitate a sunetului mult mai bună.