Budzik radiowy na Raspberry
Edycja: nowa wersja dostępna tutaj.
Aby trochę bardziej zagłębić się w angielski i zdobyć kompetencje w zakresie rozumienia ustnego, chciałbym obudzić się rano z amerykańskimi radiami. Tylko tutaj radiobudzik współpracujący z radiami internetowymi kosztuje średnio około 150 €. Proponuję zrobić to za cenę malinowego pi. Niezbędny materiał:
- Malinowa Pi
- Para głośników do podłączenia do Raspberry.
- (Opcjonalnie) Smartfon z Androidem
streszczenie
Wymagania wstępne dotyczące systemu Rpi
Dobry czas
Aby wyświetlić czas twojego Rpi, wpisz polecenie
1
|
date
|
Jeśli godzina nie jest poprawna, to z pewnością strefa nie jest prawidłowo wyregulowana. Następnie wpisz
1
|
sudo dpkg–reconfigure tzdata
|
następnie wybierz „Europa/Paryż”.
Serwer sieci Web
Serwer WWW do dystrybucji aplikacji napisanych w HTML5 i PHP.
1
|
sudo apt–get install apache2 php5 libapache2–mod–php5
|
Aby sprawdzić, czy instalacja jest w porządku, przejdź do adresu Rpi z naszą preferowaną przeglądarką. U mnie będzie to IE6. Serwer WWW Apache powinien pokazywać domyślną stronę indeksu, taką jak na poniższym obrazku.
Strojenie dźwięku
Domyślnie w Rpi dźwięk wychodzi przez interfejs HDMI. Aby wyprowadzić dźwięk przez wyjście analogowe w celu użycia głośników, wpisz następujące polecenie
1
|
sudo amixer cset numid=3 <n>
|
Lub to numer wyjścia. 0 = auto, 1 = analogowe, 2 = hdmi.
Aby wymusić wyjście analogowe, wpiszemy
1
|
sudo amixer cset numid=3 1
|
Prosty test dźwiękowy do weryfikacji.
1
|
speaker–test
|
Powinieneś usłyszeć skwierczenie.
Możesz dostosować głośność wyjściową Rpi za pomocą polecenia
1
|
alsamixer
|
Domyślnie Rpi wzmacnia się do 50%. Polecenie alsamixer oferuje menu regulacji za pomocą klawiszy „strzałka w górę” i strzałka w dół ”na klawiaturze.
Odtwarzacz multimedialny
Aplikacja oparta jest na odtwarzaczu o otwartym kodzie źródłowym o nazwie MPlayer. MPlayer to odtwarzacz multimedialny dla Linuksa. Obsługuje większość formatów, a także obsługuje strumienie audio znalezione w sieci, co jest dla nas interesujące w naszym przypadku.
1
|
sudo apt–get install mplayer
|
mplayer to program wiersza poleceń piloprzez standardowe wejście.
Aby to przetestować, podłącz parę głośników do Rpi i uruchom następujące polecenie
1
|
mplayer –playlist http://provisioning.streamtheworld.com/pls/KDNDFM.pls
|
Aktualizuję uprawnienia Apache
Chodzi więc o to, aby piloter tego programu przez interfejs sieciowy. Tylko jest problem. W nunux każdy program ma własnego użytkownika do uruchomienia. To ze względów bezpieczeństwa. To normalne, że użytkownik serwera WWW Apache (www-data) nie może wykonywać poleceń systemowych. Dlatego ten użytkownik nie ma prawa do uruchomienia programu MPlayer. Upoważniamy użytkownika www-data do wykonywania określonych poleceń systemowych niezbędnych dla programu. Do tego używamy sudo. Sudo umożliwia administratorowi systemu przyznanie określonym użytkownikom (lub grupom użytkowników) możliwości uruchamiania polecenia jako administrator lub jako inny użytkownik. Można go precyzyjnie skonfigurować, aby autoryzować lub odmawiać wykonywania uprzywilejowanych zadań. Dzięki temu nadamy naszemu użytkownikowi www-dane następujące szczególne uprawnienia:
- Uruchom MPlayera
- Dowiedz się, czy MPlayer jest uruchomiony
- Zatrzymaj MPlayera
Aby to zrobić, edytujemy plik sudoer za pomocą polecenia
1
|
sudo visudo
|
Dodaj następujący wiersz na końcu pliku
1
|
www–data ALL=NOPASSWD:/usr/bin/mplayer* ,/usr/bin/pgrep mplayer ,/usr/bin/killall mplayer
|
Instalacja aplikacji Piclodio na Rpi
Nazwałem aplikację Piclodio od Radiobudzik Rapsberry Pi. Kod jest dostępny na GitHub tutaj.
Najnowszą wersję archiwum pobieramy bezpośrednio na Rpi
1
|
wget https://github.com/Sispheor/Piclodio/archive/master.zip
|
Wydobywamy
1
|
unzip master.zip
|
Umieszczamy folder w katalogu Apache
1
|
sudo mv Piclodio–master/ /var/www/piclodio
|
Dajemy prawa użytkownikowi Apache (www-data) w tym katalogu
1
|
sudo chown –R www–data:www–data /var/www/piclodio
|
Aplikacja jest zainstalowana.
Stosowanie
Możesz korzystać z aplikacji za pośrednictwem dowolnej przeglądarki na terminalu w Twojej sieci lokalnej. Po prostu przejdź do adresu IP Rpi i dodaj nazwę folderu piclodio na końcu adresu URL w ten sposób
1
|
http://192.168.0.20/piclodio
|
Aplikacja ze względu na swój interfejs jest bardziej przeznaczona na terminale mobilne typu smartphone, ale równie dobrze działa na przeglądarce PC.
Gdzie mogę znaleźć adresy URL radia internetowego?
Polecam stronę http://tunein.com lub http://www.radio.fr. Po znalezieniu radia internetowego wystarczy pobrać adres URL, który generuje strumień audio, aby umieścić go w Piclodio.
W Chrome:
- kliknij prawym przyciskiem myszy na stronie
- Sprawdź element
- Zakładka „Sieć”
- Znajdź skrypt, który przesyła najwięcej danych (ten z największym żółtym odsłoniętym)
- Skopiuj „Request URL” w Piclodio
Aplikacja Piclodio na Androida
Nie jest fajnie przeglądać przeglądarkę na smartfonie za każdym razem, gdy chcesz zmienić budzik lub po prostu włączyć radio. Musisz uruchomić przeglądarkę, a następnie wpisać adres URL maliny lub przejść i znaleźć ją w swoich ulubionych. Krótko mówiąc, to za długo. Zrobiłem więc małą aplikację na Androida, która po prostu wyświetli stronę internetową Rpi.
Kod jest dostępny na GitHub tutaj, więc brodaci puryści mogą sprawdzić, czy nieświadomie nie umieściłem tylnych drzwi, które sprzedają ich dane bezpośrednio w serwisie eBay.
W przeciwnym razie możesz pobrać apk tutaj. Podczas uruchamiania program poprosi Cię o podanie adresu URL piclodio na Rpi.