Jak zbudować radio na bazie Raspberry Pi
Radio może brzmieć jak „stara” technologia, ale właśnie na tym polega jego atrakcyjność: jest proste, niezawodne i wciąż niezwykle przydatne zarówno w projektach rozrywkowych, jak i edukacyjnych. Z Raspberry Pi możesz stworzyć nowoczesne, elastyczne radio – może to być radio strumieniowe z internetu, lokalny odtwarzacz muzyki, a nawet (z dodatkowym modułem) radio FM. W tym artykule opisano, jak w praktyce zbudować radio oparte na Raspberry Pi, od konfiguracji sprzętowej po programową.
Do
1. Koncepcja radia opartego na Raspberry Pi
Ogólnie rzecz biorąc, istnieją dwa główne podejścia:
1. Radio internetowe (strumieniowanie)
Raspberry Pi odtwarza audycje radiowe z internetu przez Wi-Fi/Ethernet. Jest to najłatwiejsza i najpopularniejsza metoda, ponieważ nie wymaga specjalnego sprzętu RF.
2. Radio FM/AM (z opcjonalnym urządzeniem)
Wymaga modułu tunera (np. odbiornika FM podłączonego przez I2C/SPI) lub urządzenia SDR (Software Defined Radio). Konfiguracja jest bardziej złożona i często zależy od używanego urządzenia.
W tym artykule skupiamy się głównie na radiu internetowym, ponieważ jest to najbardziej przyjazne dla początkujących i odpowiednie do tworzenia audycji w krótkim czasie.
Do
2. Wymagany sprzęt
Oto lista zalecanych komponentów:
– Raspberry Pi (zalecane Pi 3/4/Zero 2 W)
– Karta MicroSD o pojemności co najmniej 8–16 GB
– Stabilne zasilanie (5V, prąd zgodny z modelem Pi)
– Połączenie internetowe (Wi-Fi lub kabel LAN)
– Wyjście audio:
– Głośniki aktywne przez gniazdo 3.5 mm (w obsługiwanych modelach) lub
– głośnik/wzmacniacz USB lub
– DAC audio HAT (opcjonalny, lepsza jakość)
– Monitor i klawiatura (do początkowej konfiguracji) lub dostęp SSH
– Projekt obudowy/skrzynki (opcjonalnie, dla porządku)
Jeśli chcesz radio z fizycznymi elementami sterującymi, możesz dodać:
– Przycisk, enkoder obrotowy lub ekran OLED/LCD.
Do
3. Instalowanie systemu operacyjnego Raspberry Pi
1. Pobierz i zainstaluj Raspberry Pi Imager na swoim komputerze/laptopie.
2. Włóż kartę microSD, a następnie zainstaluj system operacyjny Raspberry Pi OS Lite (bez pulpitu), aby oszczędzać zasoby, lub wersję na pulpit, jeśli wolisz interfejs graficzny.
3. Przed zapisaniem obrazu możesz ustawić:
– Wi-Fi (SSID i hasło)
– Nazwa użytkownika i hasło
– Aktywacja SSH
4. Uruchom Raspberry Pi i upewnij się, że połączenie z Internetem działa.
Po zalogowaniu się do systemu należy dokonać aktualizacji pakietów:
„bash”
sudo apt update
sudo apt upgrade -y
„„
Do
4. Konfigurowanie dźwięku na Raspberry Pi
Sprawdź wykryte urządzenia audio:
„bash”
grać -l
„„
Jeśli korzystasz z dźwięku przez HDMI lub gniazdo (w zależności od modelu), możesz wybrać domyślne wyjście. Niektóre wersje systemu operacyjnego Raspberry Pi automatycznie konfigurują ustawienia audio, ale możesz przetestować wyjście, wykonując następujące czynności:
„bash”
test głośnika -t wav -c 2
„„
Jeśli używasz karty dźwiękowej USB lub DAC HAT, zazwyczaj pojawi się ona jako nowe urządzenie. Upewnij się, że wyjście jest prawidłowe, aby słyszeć radio.
Do
5. Instalowanie odtwarzacza radia internetowego (MPD + MPC)
Jedną z najstabilniejszych metod jest użycie MPD (Music Player Daemon) do odtwarzania dźwięku i MPC jako kontrolera z poziomu terminala.
Zainstaluj pakiet:
„bash”
sudo apt install -y mpd mpc
„„
Upewnij się, że MPD jest uruchomione:
„bash”
sudo systemctl enable mpd
sudo systemctl start mpd
„„
Sprawdź status:
„bash”
status systemctl mpd
„„
Do
6. Dodawanie listy stacji radiowych
MPD może odtwarzać strumienie URL. Możesz dodawać stacje radiowe do playlist MPD.
Przykład dodania jednego strumienia radiowego:
„bash”
mpc dodaj http://streamurl-radio-anda:8000/stream
„„
Następnie odtwórz:
„bash”
gra mpc
„„
Aby wyświetlić listę:
„bash”
lista odtwarzania mpc
„„
Utwórz ulubioną playlistę stacji
Możesz utworzyć plik listy odtwarzania `.m3u`:
1. Utwórz folder z listą odtwarzania (jeśli nie istnieje):
„bash”
mkdir -p ~/playlists
„„
2. Utwórz plik:
„bash”
nano ~/playlists/radio.m3u
„„
3. Wpisz adresy URL transmisji strumieniowej, na przykład:
„„
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
„„
Dodaj je do MPD, wczytując je pojedynczo lub konfigurując katalog z muzyką/listami odtwarzania MPD. Szybki sposób: dodaj je bezpośrednio z pliku (opcjonalnie, w zależności od konfiguracji MPD) lub skopiuj listę odtwarzania do folderu z listami odtwarzania MPD (zazwyczaj `/var/lib/mpd/playlists/`).
Do
7. Konfiguracja MPD w celu lepszego dostosowania do radia
Edytuj konfigurację MPD:
„bash”
sudo nano /etc/mpd.conf
„„
Kilka ważnych części:
– Upewnij się, że wyjście audio jest poprawne. Typowe przykłady:
„konf
wyjście audio {
wpisz „alsa”
nazwa „Wyjście ALSA”
mikser_typ „oprogramowanie”
}
„„
– Możesz ustawić bufor, aby zwiększyć stabilność przesyłania strumieniowego (opcjonalnie, w zależności od warunków sieciowych).
Po wykonaniu tej czynności należy ponownie uruchomić MPD:
„bash”
sudo systemctl restart mpd
„„
Do
8. Ustaw automatyczne włączanie radia podczas rozruchu
Aby Raspberry Pi odtwarzało radio natychmiast po włączeniu:
1. Utwórz prosty skrypt, na przykład:
„bash”
nano ~/start-radio.sh
„„
Isi:
„bash”
!/bin/bash
spać 5
mpc czysty
mpc dodaj http://streamurl-radio-anda:8000/stream
objętość mpc 70
gra mpc
„„
Zapisz, a następnie nadaj uprawnienia do wykonywania:
„bash”
chmod +x ~/start-radio.sh
„„
2. Utwórz usługę systemd:
„bash”
sudo nano /etc/systemd/system/radio.service
„„
Isi:
„ini
[Jednostka]
Opis=Autoodtwarzanie radia
After=network-online.target mpd.service
Chce=sieć-online.cel
[Usługa]
Użytkownik=pi
ExecStart=/home/pi/start-radio.sh
Ponowne uruchomienie=w przypadku awarii
[Zainstalować]
WantedBy = multi-user.target
„„
Włączać:
„bash”
sudo systemctl daemon-reload
sudo systemctl enable radio.service
sudo systemctl start radio.service
„„
Uwaga: jeśli nazwa użytkownika nie jest `pi`, dostosuj ścieżkę i `User=`.
Do
9. Dodawanie elementów sterujących (opcjonalnie)
Aby uzyskać wrażenie korzystania z prawdziwego radia, możesz dodać fizyczne elementy sterujące:
– Przycisk Dalej/Poprzedni umożliwiający zmianę stacji:
– `mpc next`
– `mpc prev`
– Przycisk Odtwórz/Zatrzymaj:
– `przełącznik mpc`
– `mpc stop`
– Enkoder obrotowy do regulacji głośności:
– `objętość mpc +5`
– `objętość mpc -5`
Aby zaimplementować przyciski, można użyć Pythona (GPIO) i wywołać polecenie `mpc`. Ta kombinacja jest bardzo popularna, ponieważ jest prosta i łatwa w opracowaniu.
Do
10. Wskazówki dotyczące rozwoju i rozwiązywania problemów
Niektóre typowe problemy i ich rozwiązania:
1. Brak dźwięku
– Sprawdź, czy wyjście audio jest prawidłowe (urządzenie ALSA).
– Spróbuj zmienić głośnik/kartę dźwiękową USB.
– Upewnij się, że głośność nie jest równa 0: `mpc volume 80`
2. Przesyłanie strumieniowe jest przerywane
– Jeśli to możliwe, korzystaj z połączenia LAN.
– Dodaj opóźnienie przed odtwarzaniem przy rozruchu (`sleep 5` lub `sleep 10`).
– Wybierz strumień o niższej przepływności.
3. MPD nie może odtworzyć adresu URL
– Sprawdź, czy adres URL jest poprawny i można go otworzyć z tej samej sieci.
– Upewnij się, że pakiety wsparcia są dostępne (zwykle wystarczające w przypadku najnowszego systemu operacyjnego Raspberry Pi).
4. Chcesz bardziej „radiowego” interfejsu
– Zainstaluj interfejs użytkownika, np. ncmpcpp (interfejs użytkownika terminala) lub utwórz prosty interfejs użytkownika w przeglądarce internetowej.
Do
Zamknięcie
Budowa radia opartego na Raspberry Pi to zarówno przyjemny, jak i satysfakcjonujący projekt. Łącząc MPD i MPC, można stworzyć stabilne radio internetowe, które uruchamia się automatycznie po uruchomieniu i można je łatwo rozbudować o urządzenia z fizycznymi przyciskami, małym ekranem, a nawet o niestandardową obudowę. Po opanowaniu wersji podstawowej można pójść o krok dalej: dodać ekran OLED do wyświetlania nazw stacji, utworzyć menu ustawień wstępnych, a nawet dodać moduł tunera FM.
Jeśli chcesz, mogę podać bardziej szczegółowe wersje: na przykład listę gotowych do użycia indonezyjskich stacji radiowych (adres URL), przykład kodu Pythona dla przełącznika GPIO lub przewodnik po korzystaniu z modułu DAC HAT, który zapewnia znacznie lepszą jakość dźwięku.