Budík webového rádia na Raspberry
Edit: nová verzia je k dispozícii tu.
Aby som sa trochu viac ponoril do angličtiny a získal kompetenciu v ústnom porozumení, rád by som sa ráno zobudil s americkými rádiami. Len tu stojí rádiobudík pracujúci s webovými rádiami v priemere okolo 150 €. Navrhujem, aby ste to urobili za cenu malinového pi. Potrebný materiál:
- Raspberry Pi
- Dvojica reproduktorov na pripojenie k Raspberry.
- (Voliteľné) Smartfón so systémom Android
Sommaire
Predpoklady pre systém Rpi
Dobrý čas
Ak chcete zobraziť čas vášho Rpi, zadajte príkaz
1
|
date
|
Ak čas nie je správny, je isté, že zóna nie je správne nastavená. Potom zadajte
1
|
sudo dpkg–reconfigure tzdata
|
potom vyberte „Európa / Paríž“.
webový server
Webový server na distribúciu aplikácie napísanej v HTML5 a PHP.
1
|
sudo apt–get install apache2 php5 libapache2–mod–php5
|
Ak chcete skontrolovať, či je inštalácia v poriadku, prejdite na adresu Rpi pomocou nášho preferovaného prehliadača. Pre mňa to bude IE6. Webový server Apache by vám mal ukázať predvolenú indexovú stránku, ako je to na nasledujúcom obrázku.
Ladenie zvuku
V predvolenom nastavení na Rpi vychádza zvuk cez rozhranie HDMI. Ak chcete reprodukovať zvuk cez analógový výstup, aby ste mohli použiť reproduktory, zadajte nasledujúci príkaz
1
|
sudo amixer cset numid=3 <n>
|
Alebo je výstupné číslo. 0 = auto, 1 = analógové, 2 = hdmi.
Ak chcete vynútiť analógový výstup, napíšeme
1
|
sudo amixer cset numid=3 1
|
Jednoduchý zvukový test na overenie.
1
|
speaker–test
|
Mali by ste počuť syčanie.
Pomocou príkazu môžete upraviť výstupnú hlasitosť Rpi
1
|
alsamixer
|
Štandardne sa Rpi zosilňuje na 50 %. Príkaz alsamixer vám ponúka ponuku nastavenia pomocou kláves „šípka nahor“ a šípka nadol „na klávesnici.
Mediálny prehrávač
Aplikácia je založená na open-source prehrávači s názvom MPlayer. MPlayer je multimediálny prehrávač pre linux. Podporuje väčšinu formátov a zvláda aj audio streamy nachádzajúce sa na nete, čo nás v našom prípade zaujíma.
1
|
sudo apt–get install mplayer
|
mplayer je program príkazového riadka piloštandardným vstupom.
Ak to chcete otestovať, pripojte pár reproduktorov k Rpi a spustite nasledujúci príkaz
1
|
mplayer –playlist http://provisioning.streamtheworld.com/pls/KDNDFM.pls
|
Aktualizujú sa privilégiá Apache
Myšlienkou je teda pilotento program cez webové rozhranie. Len je tu problém. Na nunuxe má každý program na spustenie vlastného používateľa. Toto z bezpečnostných dôvodov. Je normálne, že používateľ webového servera Apache (www-data) nemôže vykonávať systémové príkazy. Tento používateľ preto nemá právo spustiť program MPlayer. Používateľovi www-data povolíme vykonávať určité systémové príkazy potrebné pre program. Na tento účel používame sudo. Sudo umožňuje správcovi systému udeliť určitým používateľom (alebo skupinám používateľov) možnosť spustiť príkaz ako správca alebo ako iný používateľ. Dá sa jemne nakonfigurovať na autorizáciu alebo odmietnutie vykonávania privilegovaných úloh. Vďaka nemu dáme nášmu používateľovi www-data tieto špecifické práva:
- Spustite MPlayer
- Zistite, či je spustený MPlayer
- Zastavte MPlayer
Aby sme to dosiahli, upravíme súbor sudoer pomocou príkazu
1
|
sudo visudo
|
Na koniec súboru pridajte nasledujúci riadok
1
|
www–data ALL=NOPASSWD:/usr/bin/mplayer* ,/usr/bin/pgrep mplayer ,/usr/bin/killall mplayer
|
Inštalácia aplikácie Piclodio na Rpi
Pomenoval som aplikáciu Piclodio Rádiobudík Rapsberry Pi. Kód je dostupný na GitHub tu.
Najnovšiu verziu archívu získavame priamo na Rpi
1
|
wget https://github.com/Sispheor/Piclodio/archive/master.zip
|
Extrahujeme
1
|
unzip master.zip
|
Priečinok umiestnime do adresára apache
1
|
sudo mv Piclodio–master/ /var/www/piclodio
|
Používateľovi apache (www-data) dávame práva na tento adresár
1
|
sudo chown –R www–data:www–data /var/www/piclodio
|
Aplikácia je nainštalovaná.
Použitie
Aplikáciu môžete používať prostredníctvom ľubovoľného prehliadača na termináli vo vašej lokálnej sieti. Stačí prejsť na IP adresu Rpi a pridať názov priečinka piclodio na koniec adresy URL takto
1
|
http://192.168.0.20/piclodio
|
Aplikácia je vzhľadom na rozhranie skôr určená pre mobilné terminály typu smartfón, no rovnako dobre funguje aj na PC prehliadači.
Kde nájdem adresy URL webových rádií?
Odporúčam stránku http://tunein.com alebo http://www.radio.fr. Keď nájdete webové rádio, stačí získať adresu URL, ktorá generuje zvukový stream, a vložiť ho do Piclodia.
V prehliadači Chrome:
- kliknite pravým tlačidlom myši na stránku
- Skontrolujte prvok
- Karta „Sieť“.
- Nájdite skript, ktorý prenáša najviac údajov (ten s najväčšou žltou čiarou)
- Skopírujte „URL žiadosti“ v Piclodio
Aplikácia Piclodio pre Android
Nie je skvelé prechádzať cez prehliadač na smartfóne zakaždým, keď si chcete zmeniť budík alebo len spustiť rádio. Musíte spustiť prehliadač a potom zadať adresu URL maliny alebo ju nájsť vo svojich obľúbených. Je to skrátka príliš dlhé. Tak som vytvoril malú Android aplikáciu, ktorá jednoducho zobrazí webovú stránku Rpi.
Kód je dostupný na GitHub tu, takže bradatí puristi si môžu overiť, že som nevedomky neumiestnil zadné dvierka, ktoré ich dáta predávajú priamo na Ebay.
V opačnom prípade si môžete stiahnuť apk tu. Pri spustení vás program len požiada o adresu URL piklodio na Rpi.