Hogyan készítsünk Raspberry Pi alapú rádiót
A rádió talán „régi” technológiának hangzik, de pontosan ez a vonzereje: egyszerű, megbízható, és továbbra is rendkívül releváns mind a szórakoztató, mind az oktatási projektekben. Egy Raspberry Pi-vel modern, rugalmas rádiót hozhatsz létre – lehet internetes streaming rádió, helyi zenelejátszó, vagy akár (egy kiegészítő modullal) FM rádió is. Ez a cikk bemutatja, hogyan építhetsz praktikus módon egy Raspberry Pi alapú rádiót, a hardverbeállítástól a szoftverkonfigurációig.
-
1. Raspberry Pi alapú rádió koncepció
Általánosságban két fő megközelítés létezik:
1. Internetes rádió (streamelés)
A Raspberry Pi rádióadásokat játszik le az internetről Wi-Fi/Ethernet kapcsolaton keresztül. Ez a legegyszerűbb és leggyakoribb módszer, mivel nem igényel semmilyen speciális rádiófrekvenciás berendezést.
2. FM/AM rádió (opcionális eszközzel)
Tuner modult (pl. FM vevőt I2C/SPI-n keresztül) vagy szoftveresen definiált rádió (SDR) eszközt igényel. A konfiguráció összetettebb, és gyakran a használt eszköztől függ.
Ebben a cikkben a fő hangsúly az internetes rádión van, mivel ez a leginkább kezdőbarát és alkalmas arra, hogy rövid idő alatt lehessen zenét alkotni.
-
2. Szükséges felszerelés
Íme egy lista az ajánlott komponensekről:
– Raspberry Pi (Pi 3/4/Zero 2 W ajánlott)
– MicroSD minimum 8–16 GB
– Stabil tápegység (5V, áramerősség a Pi modell szerint)
– Internetkapcsolat (Wi-Fi vagy LAN-kábel)
– Hangkimenet:
– Aktív hangszórók 3.5 mm-es jack csatlakozón keresztül (a támogatott modelleken), vagy
– USB hangszóró/erősítő, vagy
– DAC audio HAT (opcionális, jobb minőség)
– Monitor és billentyűzet (a kezdeti beállításhoz) vagy SSH hozzáférés
– Projekt burkolat/doboz (opcionális, a tisztaság kedvéért)
Ha fizikai vezérlőkkel rendelkező rádiót szeretne, akkor a következőket adhatja hozzá:
– Nyomógomb, forgójeladó vagy OLED/LCD képernyő.
-
3. A Raspberry Pi operációs rendszer telepítése
1. Töltsd le és telepítsd a Raspberry Pi Imager alkalmazást a számítógépedre/laptopodra.
2. Helyezze be a microSD kártyát, majd flashelje a Raspberry Pi OS Lite-ot (asztali verzió nélkül) az erőforrás-hatékony használat érdekében, vagy az asztali verziót, ha grafikus felületet szeretne.
3. A kép írása előtt beállíthatja:
– Wi-Fi (SSID és jelszó)
– Felhasználónév és jelszó
– SSH aktiválás
4. Indítsd el a Raspberry Pi-t, és ellenőrizd, hogy működik-e az internet.
A rendszerbe való bejelentkezés után frissítse a csomagokat:
„Bash
sudo apt frissítés
sudo apt upgrade -y
""
-
4. Hang beállítása Raspberry Pi-n
Az észlelt audioeszközök ellenőrzése:
„Bash
aplay -l
""
Ha HDMI-n vagy jack-en keresztül használ hangot (a modelltől függően), kiválaszthatja az alapértelmezett kimenetet. A Raspberry Pi operációs rendszer egyes verziói automatikusan konfigurálják a hangbeállításokat, de a kimenetet a következőképpen tesztelheti:
„Bash
hangszóró-teszt -t wav -c 2
""
Ha USB hangkártyát vagy DAC HAT-ot használsz, az általában új eszközként jelenik meg. Győződj meg róla, hogy a kimenet megfelelő a rádió hallgatásához.
-
5. Az Internetes Rádiólejátszó (MPD + MPC) telepítése
Az egyik legstabilabb módszer az MPD (Music Player Daemon) használata hanganyagok lejátszására és az MPC vezérlőként való használata a terminálból.
Telepítse a csomagot:
„Bash
sudo apt install -y mpd mpc
""
Győződjön meg róla, hogy az MPD fut:
„Bash
sudo systemctl enable mpd
sudo systemctl indítsa el az mpd-t
""
Állapot ellenőrzése:
„Bash
systemctl állapot mpd
""
-
6. Rádióállomások listájának hozzáadása
Az MPD képes URL-streameket lejátszani. Rádióállomásokat adhatsz hozzá az MPD lejátszási listáidhoz.
Példa egy rádiófolyam hozzáadására:
„Bash
mpc hozzáadja a http://streamurl-radio-anda:8000/stream címet
""
Akkor játssz:
„Bash
mpc játék
""
A lista megtekintéséhez:
„Bash
mpc lejátszási lista
""
Kedvenc állomások lejátszási listájának létrehozása
Létrehozhatsz egy `.m3u` lejátszási lista fájlt:
1. Hozz létre egy lejátszási lista mappát (ha még nem létezik):
„Bash
mkdir -p ~/lejátszási listák
""
2. Fájl létrehozása:
„Bash
nano ~/lejátszási listák/rádió.m3u
""
3. Tölts ki néhány streaming URL-t, például:
""
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
""
Add hozzá őket az MPD-hez egyenként betöltéssel, vagy az MPD zene/lejátszási lista könyvtár beállításával. Gyors módszer: közvetlenül egy fájlból add hozzá őket (opcionális az MPD konfigurációjától függően), vagy másold a lejátszási listát az MPD lejátszási lista mappájába (általában `/var/lib/mpd/playlists/`).
-
7. MPD konfiguráció rádióhoz való alkalmasabbá tétele érdekében
MPD konfiguráció szerkesztése:
„Bash
sudo nano /etc/mpd.conf
""
Néhány fontos rész:
– Győződjön meg arról, hogy a hangkimenet megfelelő. Gyakori példák:
„`konf
hang kimenet {
írja be az „alsa” szót
név „ALSA kimenet”
mixer_type „szoftver”
}
""
– Beállíthatja a puffert a stabilabb streaming érdekében (opcionális, a hálózati viszonyoktól függően).
Ha kész, indítsd újra az MPD-t:
„Bash
sudo systemctl indítsa újra az mpd-t
""
-
8. A rádió automatikus bekapcsolása indításkor
Ahhoz, hogy a Raspberry Pi bekapcsolás után azonnal játssza a rádiót:
1. Hozz létre egy egyszerű szkriptet, például:
„Bash
nano ~/start-radio.sh
""
Tartalom:
„Bash
!/bin/bash
alvás 5
mpc tiszta
mpc hozzáadja a http://streamurl-radio-anda:8000/stream címet
mpc hangerő 70
mpc játék
""
Mentés, majd végrehajtási engedély megadása:
„Bash
chmod +x ~/start-radio.sh
""
2. Hozz létre egy systemd szolgáltatást:
„Bash
sudo nano /etc/systemd/system/radio.service
""
Tartalom:
„ez
[Egység]
Leírás=Rádió automatikus lejátszása
After=network-online.target mpd.service
Wants=network-online.target
[Szolgáltatás]
Felhasználó=pi
ExecStart=/home/pi/start-radio.sh
Újraindítás=hiba esetén
[Telepítés]
WantedBy = multi-user.target
""
Engedélyezés:
„Bash
sudo systemctl daemon-reload
sudo systemctl engedélyezze a rádió.szolgáltatást
sudo systemctl indítsa el a rádió.szolgáltatást
""
Megjegyzés: ha a felhasználónév nem `pi`, akkor módosítsa az elérési utat és a `User=` paramétert.
-
9. Vezérlők hozzáadása (opcionális)
Hogy igazi rádiónak tűnjön, fizikai vezérlőket is hozzáadhatsz:
– Következő/Előző gomb az állomások váltásához:
– `mpc következő`
– `mpc előző`
– Lejátszás/Leállítás gomb:
– `mpc váltás`
– `mpc stop`
– Forgójeladó a hangerő beállításához:
– `mpc hangerő +5`
– `mpc hangerő -5`
A gombok megvalósításához használhatod a Pythont (GPIO) és meghívhatod az `mpc` parancsot. Ez a kombináció nagyon népszerű, mert egyszerű és könnyen fejleszthető.
-
10. Fejlesztési tippek és hibaelhárítás
Néhány gyakori probléma és azok megoldása:
1. Nincs hang
– Győződjön meg arról, hogy a hangkimenet megfelelő (ALSA eszköz).
– Próbáld meg kicserélni a hangszórót/USB hangkártyát.
– Győződjön meg róla, hogy a hangerő nem 0: `mpc volume 80`
2. A streamelés szakaszos
– Ha lehetséges, használjon LAN-kapcsolatot.
– Késleltetés hozzáadása a rendszerindításkor történő lejátszás előtt (`sleep 5` vagy `sleep 10`).
– Válasszon alacsonyabb bitrátájú adatfolyamot.
3. Az MPD nem tudja lejátszani az URL-t
– Próbáljon meggyőződni arról, hogy az URL helyes, és ugyanarról a hálózatról megnyitható.
– Győződjön meg róla, hogy elérhetőek a támogató csomagok (általában elegendőek a legújabb Raspberry Pi operációs rendszeren).
4. Rádióbarátabb felületet szeretne?
– Telepítsen egy frontendet, például az ncmpcpp-t (terminál felhasználói felület), vagy hozzon létre egy egyszerű webes felhasználói felületet.
-
Záró
Egy Raspberry Pi alapú rádió építése egyszerre szórakoztató és kifizetődő projekt. Az MPD és az MPC kombinálásával egy stabil internetes rádiót hozhatsz létre, amely automatikusan elindul a rendszerindításkor, és könnyen bővíthető fizikai gombokkal, kis képernyővel és akár egyedi tokkal rendelkező eszközökkel is. Miután letisztult az alapverzió, tovább is léphetsz: hozzáadhatsz egy OLED képernyőt az állomások nevének megjelenítéséhez, létrehozhatsz egy előre beállított menüt, vagy akár egy tuner modult az FM rádióhoz.
Ha szeretnéd, folytathatom konkrétabb verziókkal: például egy használatra kész indonéz rádióállomások listájával (URL), egy Python kód példával egy GPIO kapcsolóhoz, vagy egy útmutatóval a DAC HAT használatához a sokkal jobb hangminőség érdekében.