Toto internetové rádio a MP3 přehrávač používá Dotyková obrazovka 3,5 HDMI LCD pro práci. Původní projekt byl publikován společností Adafruit a používá MPC, MPD a Pygame.

Komponenty internetového rádia a mp3 přehrávač na raspberry pi 3

Instalace internetového rádia a mp3 přehrávače na raspberry pi 3

  • Stáhněte si raspbian, vypalte obrázek na microSD 8GB nebo více. Musíte také vědět, jak se připojit přes SSH k raspberry pi. Připojte klávesnici a myš
  • Připojte LCD obrazovku k raspberry pi.
  • Otevřete okno terminálu a zadejte

sudo raspi-config

  • proveďte počáteční nastavení pro čas a jazyk zadávání
  • Jít do Extra možnosti a povolit VNC, SSH a nastavit rozlišení na 640x480
  • Restartujte raspberry pi
  • Obrázek obsahuje pro projekt nepotřebné programy, které zabírají místo, které je potřeba k ukládání hudby, takže odebereme Wolfram a Libreoffice, pomocí myši na Pi a vybereme přidat / odebrat nebo přes SSH

sudo apt-get purge wolfram-engine libreoffice* -y

sudo apt-get clean

sudo apt-get autoremove

aktualizace sudo apt-get

upgrade sudo apt-get

  • Po aktualizaci jste připraveni nainstalovat potřebné. Nyní nainstalujte ovladače LCD.

git klon https://github.com/goodtft/LCD-show.git

chmod -R 755 LCD-show

sudo ./MPI3508_600_400-show

  • Rozlišení používané s Pi rádiem je 640x480, takže musíte změnit config.txt

sudo nano /boot/config.txt

  • a změňte rozlišení v dolní části souboru na 640 x 480. Uložit, ukončit a restartovat (restartovat).
  • V tomto okamžiku by se měl Pi zavést na plochu a dotykovou obrazovku. Nyní nainstalujte soubory Pi-radio.

sudo apt-get install mpc mpd

git klon https://github.com/granpino/Pi-Radio-mp3-.git

chmod -R 755 Pi-Radio-mp3-

cd Pi-Radio-mp3-

sudo ./install.sh

  • Instalační soubor vytvoří potřebné playlisty pro mp3 a internetová rádia. Na ploše maliny by měla být ikona. Chcete-li otevřít Pi-radio, poklepejte na zástupce rádia. Chcete-li změnit plochu jedním kliknutím, přejděte na správce souborů, klikněte na upravit a vyberte vlastnosti úplně dole. Vyberte „otevřít soubory jedním kliknutím“.
  • Rozhodl jsem se spustit aplikaci z plochy, protože chci na stejném Pi spouštět další aplikace, které používají obrazovku LCD. Zahrnul jsem několik ukázkových souborů mp3 a rádiových stanic pro vaše testování. Chcete-li do seznamu skladeb přidat další rozhlasové stanice, přejděte na http://www.radiosure.com/stations/ a zkopírujte odkazy do svého M3U.

mpc uložit seznam skladeb

  • nebo upravte soubor

sudo nano ~/var/lib/mpd/playlists/playlist

  • přidat soubory mp3, přesunout je do složky hudby

sudo ls -1 /home/pi/Music/*.mp3 > /var/lib/mpd/playlists/mp3.m3u

V tomto projektu proměníme vaše Raspberry Pi ve výkonnou FM rozhlasovou stanici! Má dostatečný dosah, aby pokryl váš domov, domácí venkovní divadlo, baseballové hřiště na střední škole nebo dokonce přehlídku motocyklů.

Pro projekt budete potřebovat program PiFM, který výrazně zlepší možnosti vašeho Pi, a také kus drátu určité délky. Jinými slovy, k ovládání Raspberry Pi potřebujete naprosté minimum komponent – ​​SD kartu, napájecí zdroj, samotnou desku. Raspberry Pi (koupit na AliExpress)- No, přidejte jeden kus drátu. Výsledkem by mělo být nejchladnější zařízení Pi z malého počtu komponent.

Program PiFM původně vytvořili Oliver Mattos a Oskar Weigl, poté jej přepracoval Ryan Grassel. Chtěl bych vyjádřit zvláštní poděkování celé komunitě PiFM za poskytnuté rady. MAKE Lab se podílel na projektu - scénář pirátské rádio.py, který umožňuje přehrávat hudební soubory bez použití příkazového řádku a také zajišťuje jejich automatické zpracování a správu. Scénář vytvořil Wynter Woods, stážista MAKE Labs. Zdrojový kód lze nalézt.

POZNÁMKA: Vysílací frekvence Raspberry Pi se pohybuje mezi 1 MHz a 250 MHz a může se překrývat s vládními pásmy. Doporučujeme omezit vaše vysílání na standardní FM pásmo 87,5 MHz - 108,0 MHz (viz krok 3) a vždy vybrat frekvenci, která se ještě nepoužívá, aby se zabránilo překrývání frekvencí s licencovanými vysílacími společnostmi.

Krok #1: Vytvořte anténu

  • Vše, co potřebujete k výrobě antény, je kus drátu. Chcete-li to provést, musíte připojit 75 cm drát na kolík 4 (To vám umožní správně vytvořit půlvlnnou dipólovou anténu na 100 MHz, v oblasti středního FM). Použili jsme 40 cm pevný drát 12 AWG (2,053 mm), protože jednotka začala chátrat, pokud byl drát delší.
  • Odřízněte a odizolujte samičí spojovací vodič. Připájejte jej k jednomu konci vaší antény a izolujte pájenou oblast pomocí smršťovací bužírky.
  • Kolem spoje naneste trochu zahřívacího lepidla a nasuňte jej přes kolík GPIO 4 vašeho Raspberry Pi. Lepidlo zpevní strukturu vaší antény, takže bude lépe stát vzpřímeně.
  • POZNÁMKA: Pokud máte Raspberry Pi Starter Kit a spěcháte, můžete použít samec konektor zapojený do rozšiřující desky Cobbler! (Oba jsou součástí dodávky). Bude to fungovat, ale dosah se změní téměř o polovinu ve srovnání se 40cm pevným měděným drátem 12 AWG (2,053 mm).

Krok #2: Stáhněte si obrázek disku na SD kartu a přidejte hudbu

  • Pro úsporu času při konfiguraci systému vytvořil MAKE Labs obraz disku. Stáhněte si jej odtud (Pokročilí uživatelé, kteří potřebují pouze zdroj poznámku pod čarou ke stažení naleznete ve třetím odstavci tohoto dokumentu).
  • Původní kód PiFM ukázal působivé výsledky. Obraz MAKE provede rozdělení mapy a vytvoří na ní systémový oddíl a část pro data. Umožňuje také automaticky připojit datový oddíl. Obrázek využívá část originálního kódu a umožňuje přehrávání MP3, FLAC a dalších formátů. Skript se spustí při spuštění pirátské rádio. py, takže vaše hudba bude vysílána okamžitě po načtení rádiového vysílače. Ve finále nám to ušetří spoustu času. Nemůžete však jen tak pokračovat a kopírovat soubory na SD kartu; karta musí být připravena k práci.
  • Stáhněte si obrázek na SD kartu. Pokud nevíte, jak to udělat, neznepokojujte se, vše je velmi jednoduché. V systému Windows můžete použít Win32DiskImager nebo návod k práci příkazový řádek(1), pokud používáte počítač OSX. Předpokládám že uživatelé Linuxu lépe obeznámeni s příkazovým řádkem.
  • Pro uživatele OSX a Linuxu stačí otevřít sekci PirateRadio a začít. Uživatelé Windows by se měli řídit našimi pokyny pro připojení vašeho Pi přes SSH pomocí WinSCP.
  • Chcete-li přidat hudbu, jednoduše zkopírujte složku interpreta nebo alba do kořenového adresáře „Pirate Radio“ na SD kartě. Vaše hudební soubory budou umístěny v těchto složkách, takže nemusíte ukládat všechnu hudbu do hlavního adresáře.

Krok č. 3: Upravte konfigurační soubor

V souboru můžete nastavit požadovanou frekvenci pro vysílání pirátské rádio. config. Otevřete soubor v textový editor. Měli byste vidět následující:

Frekvence = 108,2 shuffle = True repeat_all = True

  • Nastavte frekvenci pro stanici, kterou chcete vysílat v rádiu. Standardní frekvence FM se obvykle pohybují od 87,5 MHz do 108,0 MHz (108,2 byla nejvyšší frekvence, kterou naše testovací rádio mohlo dosáhnout, bez překrývání s jinými stanicemi).
  • Nastavte možnost náhodného přehrávání na True nebo False, chcete-li je přehrávat v abecedním pořadí.
  • Pokud chcete, aby se seznam skladeb přehrával ve smyčce, nastavte parametr repeat_all na hodnotu True.

Krok #4: Spusťte!

Nalaďte si FM rádio na požadovanou frekvenci a spusťte Raspberry Pi. Spuštění mikropočítače trvá asi 15 sekund. Poté byste měli hudbu slyšet nahlas a jasně.

Krok #5: Jak funguje program PiFM


  • Výňatek z PiFM wiki: "Program využívá hardware Raspberry Pi; to znamená generování širokopásmových synchronizačních signálů na pinech GPIO pro výkonné FM rádio. To znamená, že stačí připojit Raspberry Pi kouskem drátu (asi 20 cm long) vložte do GPIO pin 4 a spusťte programový kód“.
  • Frekvenční modulace se „provádí úpravou frekvence pomocí zlomkového děliče“. Například pro získání cílové frekvence 100 MHz se signál změní mezi 100,025 MHz a 99,975 MHz, což má za následek zvukový signál.
  • V programový kód v Pythonu je výchozí frekvence 87,9 FM s zakázaným přehráváním náhodných souborů a opakováním seznamu hudby. Program vyhledá na SD kartě hudební soubory a vytvoří seznam na základě nastavených možností config soubor. Dále je každý soubor, v závislosti na jeho typu, přenesen do dekodéru. Poté je každý soubor překódován do mono formátu srozumitelného pro PiFM. To vám umožní přehrávat nejen soubory WAV, ale také soubory MP3, FLAC, M4A, AAC nebo WMA.

Krok #6: Konečná fáze

Když bydlíte ve velkém městě a máte i jednoduchý rozhlasový přijímač, můžete poslouchat několik desítek rozhlasových stanic v pásmu VHF ve velmi dobré kvalitě. Zdálo by se, že je to docela dost...

Bezdrátové rozhlasové stanice však mají několik nevýhod. Zaprvé jde v některých oblastech o nejistý příjem signálu, zadruhé i přes zdánlivou rozmanitost není vždy snadné najít rádio, které by plně odpovídalo hudebnímu vkusu. Navíc - otravná reklama a dost omezený repertoár většiny stanic.

Není divu, že nyní mnoho uživatelů dává přednost poslechu rozhlasových stanic vysílaných na World Wide Web. V současné době již počet internetových rádií přesáhl 10 000. Prostřednictvím internetu můžete poslouchat programy stanic, které se nacházejí téměř v jakékoli zemi světa a vysílají na většině různé jazyky. Ale zapnout počítač kvůli poslechu rádia je mírně řečeno nepohodlné. Nějak známější a pohodlnější - otočil knoflíkem - naladil stanici ...

A tak si vyrobím přijímač internetového rádia. Tato myšlenka mě napadla, když jsem se rozhodoval, jaký projekt použít mikropočítač Raspberry Pi model B, který byl po zakoupení mnohem výkonnějšího Raspberry Pi 2 bez práce.

Na Raspberry Pi existuje mnoho projektů internetových rádií. Nejlepší, co jsem našel, je Pi Radio. Autor - Bob Rathbone- na tomto projektu pracuje více než 2 roky. Za zmínku stojí zejména otevřenost a dostupnost všech informací a také velmi podrobný popis metod konfigurace hardwaru a softwaru.

Právě tento vývoj jsem se rozhodl zopakovat. Samozřejmě jsem jen slepě nekopíroval design, ale přistoupil jsem k procesu kreativně a přidal něco svého.

A co je Pi Radio. Jedná se o internetový přijímač, který umožňuje poslech on-line rozhlasových stanic, navíc umí přehrávat hudební soubory z flash disku popř. síťový disk v domácí síť. Program obsahuje mnoho různých servisních funkcí - časovač, budík, RSS zprávy, podcasty...

Připojení k internetu může být buď kabelové, nebo WiFi. Základem přijímače je oblíbený mikropočítač Raspberry Pi a lze použít jakýkoli model: B, B+, 2 nebo Zero.

Bob Rathbone vyvinul několik možností obvodů a softwaru. Ovládání je možné jak pomocí kodéru, tak pomocí tlačítek, zobrazujících informace na 2- nebo 4řádkovém znakovém LCD displeji. Přijímač můžete ovládat dálkovým ovladačem.

Displej lze připojit buď přímo k I/O portům Raspberry Pi, nebo pomocí desky založené na PCF8574 přes sběrnici I2C. Autor počítal s možností použití dalších dvou typů displejů – AdaFruit LCD s rozhraním I2C a PiFace CAD s rozhraním SPI.

Zopakoval jsem možnost s přímým připojením dvouřádkového displeje k I/O portům a ovládání kodéru. Výsledky mě naprosto uspokojily, takže když vyvstala potřeba dalšího přijímače, udělal jsem druhou verzi, vše stejné, ale ovládání tlačítky. V následujícím textu popíšu přesně tyto dvě modifikace.

Podotýkám, že jsem nejprve zkoušel připojit displej přes I2C sběrnici pomocí desky PCF8574. Strávil jsem spoustu času nastavením, ale nakonec jsem musel tuto možnost opustit. Software docela složité a objemné, evidentně autor prostě nemá sílu a schopnost důkladně otestovat všechny možnosti svého rádia.

Program neustále zavěšoval, zejména při odesílání příkazu z dálkového ovladače. Je těžké přijít na to, co se tady děje. Možnosti s přímým připojením displeje k Raspberry Pi ale fungují stabilně. Proto v tomto přijímači nedoporučuji používat sběrnici I2C nebo SPI.

Autor se podle mě až příliš věnoval všemožným pomocným funkcím na úkor těch hlavních. Přeci jen schopnosti LCD indikátoru jsou velmi omezené a čtení na něm například zpráv není příliš pohodlné. Používání přijímače jako budíku je velmi riskantní, pokud z nějakého důvodu nebude internet, nebude ani rádio. A elektřina může být v noci odpojena...

Obecně však vše fungovalo, přijímač lze použít.

Ve skutečnosti je rádiovým přijímačem deska Raspberry Pi, k jejíž I/O portům je připojen displej a 2 kodéry. Pomocí jednoho z nich se vybere stanice, pomocí druhého se nastaví hlasitost. Použitý displej je nejběžnější, založený na řadiči HD44780 pro 2 řádky po 16 znacích. Místo kodérů lze pro navigaci použít 5 tlačítek.

Pro milovníky kvalitního zvuku je možné místo AUDIO použít výstup Raspberry Pi externí USB zvuková karta.

Přijímač samozřejmě potřebuje napájení. Na výběr je mnoho možností – postačí jakýkoli stabilizovaný zdroj na 5 voltů s proudem alespoň 1,5 A. Mějte na paměti, že nabíječka telefonu nebude fungovat, potřebujete stabilizovaný zdroj, napětí pod zátěží by nemělo klesnou pod 4,8 V a bez zvýšení zátěže nad 5,2 V.

No a hudbu je potřeba nějak poslouchat, tzn. nutný stereo zesilovač nebo aktivní reproduktory. Existuje také spousta možností pro každý vkus (fáma) a peněženku.

Rozhodl jsem se, že pro tento projekt vytěžím maximum ze svého radioamatérského odpadu. Obsahoval vynikající síťový transformátor pro požadovaný proud a napětí, mikroobvod spínacího stabilizátoru LM2576-ADJ a mikroobvod dobrého a poměrně výkonného stereo basového zesilovače LM1876.

Autor navrhuje zapnout a vypnout přijímač jednoduše vypínačem. Ačkoli to Raspberry Pi nepoškodí, za nešťastných okolností může poškodit Raspberry Pi. souborový systém na SD kartě. Proto jsem se rozhodl doplnit zařízení o obvod pro správné vypnutí systému a vypnutí napájení. Navíc autor stanovil takový režim - musíte stisknout a podržet tlačítko "Menu" po dobu 3 sekund, poté počkat dalších 30 sekund a vypnout napájení. Souhlas - je to velmi nepohodlné.

Výsledkem je toto schéma. Toto je moje první verze s ovládáním kodéru. Moje doplňky jsou zvýrazněny modře.

Ladění a hlasitost se ovládají pomocí kodérů s tlačítky SA1, SB1 a SA2, SB2, resp. Tlačítko SB1 - vstup do "Menu", SB2 - režim "Mute". Kodéry musí vydávat sekvenci impulzů posunutou o 90 stupňů. Použil jsem typ ES110501S-HA2 5 pin. Pod tímto označením byly uvedeny v ceníku obchodu.

Tranzistory VT3 ... VT7 a rezistory R11 ... R23 jsou převodníky logické úrovně 3,3 - 5 V pro indikátor. Tyto položky jsou volitelné. Jak ukázala praxe, 5voltový indikátor pracuje normálně s logickými úrovněmi 3,3 V. Pokud však nastanou problémy, lze převodník úrovně namontovat na malou desku přímo na indikátor. Ještě lepší je použít indikátor napájený 3,3 V, ale takových indikátorů je poměrně málo a stojí výrazně více.

DA1 je přijímač dálkového ovládání pro TV, na výstupu má tranzistor podle obvodu se společným emitorem a zatěžovací odpor cca 30 KΩ v obvodu kolektoru, takže problém s přizpůsobením úrovně není. HL2 - indikátor aktivity dálkového ovládání.

To je vlastně celý přijímač a část obvodu zvýrazněná modře vlevo je napájecí obvod. Použil jsem běžný transformátorový zdroj. Ve vypnutém stavu jsou všechny obvody bez napětí, žádné pohotovostní režimy. Po stisknutí tlačítka SB4 je transformátor napájen. Upozorňuji - tlačítko je bezzápadkové a musí být určeno pro spínání 220 V. C4, C5, L1, L2 - síťový filtr rušení, hodnocení L1, L2 není kritické.

Z výstupu stabilizátoru je přiváděno napětí 5 V do microUSB konektoru Raspberry Pi a do PIC ovladač DD1. Na pinu 7 (GP0) regulátoru je nastavena vysoká logická úroveň, otevře se tranzistor VT1, aktivuje se relé K1 a svými kontakty zablokuje tlačítko napájení.

Na pinu 3 (GP4) ovladače je nastavena nulová úroveň, slouží ke zkratování ULF vstupu při bootování a vypínání systému. Faktem je, že proces aktivace zvukové karty USB je doprovázen nepříjemnými, spíše hlasitými zvuky. Pokud hodláte využít vestavěný AUDIO výstup Raspberry Pi, lze relé K2 vynechat, výstup GP4 ovladače v tomto případě není nikde zapojen.

Po připojení napájení bliká LED HL1 asi 50 sekund, což znamená, že se systém spouští. Po této době je přijímač připraven k provozu, na pinu 3 je nastavena vysoká logická úroveň (GP4), vstup ULF je odblokován, HL1 trvale svítí. Pro HL1 a HL2 jsem použil jednu dvoubarevnou LED se společnou katodou.

Pro vypnutí přijímače je potřeba krátce stisknout tlačítko SB3. V tomto případě je výstup ovladače 5 (GP2) nastaven na nízkou logickou úroveň, simulující stisknutí tlačítka SB1 "Menu". Po 3 sekundách se systém začne zavírat, vstup ULF je zablokován, HL1 opět bliká, což signalizuje uzavření. Přibližně po 40 sekundách se systém uzavře, pin 7 (GP0) se vynuluje, relé K1 se vypne a systém je bez napětí.

Regulátor lze použít jako PIC12F629 nebo PIC12F675 as mírnou úpravou programu libovolný PIC.

Napětí na sekundárních vinutích transformátoru jsou poněkud velká, ale vycházel jsem z dostupnosti. Musel jsem použít spínací regulátor napětí na 5 V. Je sestaven na LM2576-ADJ, zařazený podle typického obvodu. Hodnota odporu R1 se vypočítá podle Ohmova zákona na základě jmenovitého proudu a napětí činnosti relé. L2, C3 - přídavný filtr impulsního šumu. Hodnota L1 se volí na základě vstupního napětí a provozního proudu podle doporučení uvedených v datovém listu na LM2576. Hodnota L2 není kritická.

Jediným know-how obvodu je zenerova dioda VD3 typ D815B se stabilizačním napětím 6,8 V. Nepodílí se na činnosti stabilizátoru, je instalována pro ochranu zátěže před přepětím v případě poruchy stabilizátoru . Souhlasíte - pokud místo 5 V přivedete do obvodu 24 V, důsledky budou velmi smutné.

Zde je potřeba použít starou zenerovu diodu v kovovém pouzdře s maticí, osazenou na desce bez chladiče. Pokud z nějakého důvodu stoupne napětí na výstupu stabilizátoru nad 7 V, poteče zenerovou diodou velký proud, který přepálí pojistku v obvodu vinutí transformátoru.

No, pokud je místo pojistky instalován hřebík, zenerova dioda se přehřeje, krystal v ní se roztaví a zkratuje výstup. Raspberry Pi bude uloženo. Pokud použijete nízkoproudovou zenerovu diodu ve skleněném pouzdře, při přetížení jednoduše exploduje a nechrání zátěž.

Nízkofrekvenční zesilovač nemá žádné vlastnosti, je sestaven podle typického obvodu na LM1876. Prvky C9...C12 a R12...R17 - ovládání tónu pro 2 pevné polohy Classic a Rock. V prvním případě frekvenční odezva lineární, ve druhém - se provádí nárůst spodní a horní frekvence. Pokud použijete pákový přepínač SA1 pro tři polohy, pak ve střední poloze, kdy jsou všechny kontakty rozepnuté, budou stoupat pouze nízké frekvence. Ovladač tónu je nasazen na pinech SA1.

Normálně sepnuté kontakty relé K2 zkratují vstup zesilovače během bootování a vypínání systému. Schéma ukazuje zapojení relé s vinutím 24 V, ale lze použít i pro 12 nebo 5 V, podle použitého zdroje. Jak jsem již psal, toto relé je potřeba pouze pro USB zvukovou kartu a kvalitní akustiku.

Pomocí ladicího rezistoru R4 je zesílení vyrovnáno napříč kanály (stereo vyvážení). Pro on-line nastavení není nutné tento odpor vydávat. Zisk ULF je určen poměrem hodnot rezistoru R8 / (R3 + R4) a R9 / R7.

Zesilovač je napájen samostatným vinutím transformátoru. Pokud použijete společné napájení pro analogovou i digitální část přijímače, bude obtížnější se zbavit rušení vytvářeného Raspberry Pi – všelijakých „hoverflies“ a „housle“. Analogová a digitální "zem" by měla být připojena pouze v jednom bodě - na vstupním konektoru VLF. Ještě lépe, použijte samostatný externí zesilovač LF nebo aktivní reproduktory.

Schéma druhé verze přijímače s ovládáním pomocí tlačítek je následující.

Režim "Mute" se aktivuje současným stisknutím tlačítek "Volume Up" a "Volume Down". Rezistory R27-R31 jsou potřeba pouze pro nejstarší modely Raspberry Pi model B rev.1. Pro rev. Modely 2 a B+, 2 a Zero není nutné instalovat.

Spínaný zdroj 5 V, 2 A. Rezistory R26, R27 omezují náběhový proud při zapnutí sítě a fungují také jako pojistky. Diody VD2 - VD4 se používají pro přizpůsobení úrovním 5-3,3 V. Relé K1 s vinutím 5 V. Pokud takové relé nelze zakoupit se dvěma páry kontaktů, můžete zapnout dvě relé paralelně s jedním párem v každém . V tomto případě může být nutné použít více výkonný tranzistor VT1. Místo ULF jsem použil aktivní reproduktory napájené 5 V (USB). Připojují se k AUDIO výstupu Raspberry Pi. Zbývající prvky obvodu jsou podobné variantě s kodéry.

Výkresy všech desek vkládám do Sprint Layout pouze proto, aby se daly "vzít jako základ". Odkaz na konci stránky. Nedoporučuji opakovat 1:1, rozměry a konfiguraci desek určuje především pouzdro.

Firmware PIC pro dvě možnosti přijímače se liší, pro možnost s kodéry se jedná o soubor piсrdo_enc.hex, pro možnost s tlačítky - piсrdo_but.hex. Firmware je vhodný pro PIC12F629 i PIC12F675. V archivu s firmwarem je také soubor se zdrojovým textem programu. Délku prodlevy pro zapnutí a vypnutí přijímače lze v případě potřeby jednoduše změnit.

Kde koupit příslušenství? Raspberry Pi je stále (konec roku 2015) levnější na objednávku v Číně, na Aliexpress se jeho cena v závislosti na modelu pohybuje v rozmezí 30...40 USD. Na stejném místě si v případě potřeby můžete vyzvednout napájecí zdroj a USB zvukovou kartu za velmi příznivou cenu.

Použijte USB zvuková karta má smysl pouze v případě, že je dostatečně dobrá akustika. Pokud vaše reproduktory stojí méně než 50 USD, je vestavěný AUDIO výstup Raspberry Pi v pořádku. Výběr reproduktorů je v každém ruském obchodě s elektronikou poměrně velký. Hi-End zvuk od internetových rádií samozřejmě nečekejte, ale výškové reproduktory o velikosti tenisového míčku nejsou tou nejlepší volbou.

Pokud potřebujete podporu pro ruský jazyk, je lepší zakoupit indikátor v Rusku. Přednost by měla být dána modelům s tmavými znaky na světlém pozadí. Oblíbené indikátory s bílými znaky a modrým podsvícením vypadají hezky, ale jsou hodně „setrvačné“. Bude těžké sledovat běžeckou linii.

Pokud váš indikátor zobrazuje místo ruských písmen hieroglyfy, nevadí, lze jej použít v tomto přijímači. V latince se zobrazí pouze ruský text. Také je lepší koupit kodéry v maloobchodě, alespoň bude známá značka, což znamená, že si můžete ujasnit parametry z datasheetu.

Máte-li dotazy, před jejich položením si pozorně přečtěte všechny části popisu a přečtěte si také dokumentaci od autora Pi Radio

Jak víte, dokonalost nemá žádné hranice. I na domácí přenosná akustika, jehož uživatelské publikum zahrnuje pouze jednu osobu. Velmi náročný a někdy až maniakálně tvrdohlavý člověk. Od vydání prvního příspěvku o Pi-Sonos uplynulo téměř 5 měsíců. Během této doby se software uvnitř této akustiky dokázal dvakrát dramaticky změnit. Důvody změn byly užitečné rady habravchan a jejich vlastní UX.

Pi-Sonos je domácí kompaktní reproduktor inspirovaný Sonos Play 1. Účelem tohoto reproduktoru bylo především přehrávání hudby z internetových rádií. Při jeho vytváření kladu do popředí minimalismus a pohodlí: zapojte jej do elektrické zásuvky a poté ovládejte hudbu ze smartphonu/počítače/tabletu kdekoli v domě.


O čem je tento článek

Především o vytrvalosti a zvědavosti na cestě k ideálu. Pod střihem, uživatelské jméno , nebude ani řešení nějakého globálního problému, ani popis nové unikátní technologie. Článek přináší pouze srovnání oblíbených mediálních center pro Raspberry Pi, odhaluje jejich výhody a nevýhody a také moji osobní vizi optimálního frameworku pro přijímač internetového rádia. Ve skutečnosti jsem při práci na vlastním softwaru pro reproduktor jen částečně zopakoval cestu tvůrců Volumio, jednoduše jsem od nuly implementoval jen jednu z jeho funkcí (čti: „vynalezl další kolo“).
Navzdory tomu, že se článek dotýká tématu vývoje softwaru, není v něm žádný kód, protože účelem článku je popsat myšlenku a funkčnost, nikoli proces její implementace. Pokud je téma kódu pro habravchany zajímavé, pokusím se zvládnout samostatný článek popisující proces vývoje.


Zpočátku bylo OSMC měkkou náplní akustiky, ale moudří lidé v komentářích upozornili na skutečnost, že Kodi (aka OSMC) je příliš odvážný jako „mozek“ pro internetové rádio. Je příliš chytrý a velký, pouze pro audio projekty je Volumio vhodnější. Vlastně to tak dopadlo. Volumio je lehčí, webový a má pokročilejší a snadno vyvíjetelné API. Není také potřeba, aby ze zadní strany vyčníval HDMI kabel, protože Volumio je plně přizpůsobitelné v jakémkoli prohlížeči.

Volumio však také ukázalo pár důležitých nedostatků, které mě přiměly k dalšímu výzkumu. Tím je zaprvé doba načítání a zadruhé absence automatického přehrávání. Po prostudování oficiální dokumentace (z níž můžete pochopit, že Volumio je doplněk pro mpd ( Hudební přehrávač Daemon)), rozhodl jsem se, že je čas napsat svůj vlastní obal js s názvem RPi-Radio, který by tyto problémy vyřešil. Jeho serverová část běží na Node.js a klientská část (GUI) využívající React.js je hotová už od OSMC, jen ji bylo potřeba trochu doladit. Na obrazovce smartphonu to v tuto chvíli vypadá takto:


Níže je tabulka, která jasně ukazuje nevýhody a výhody každého z rámců.
Kritérium OSMC Volumio Rádio RPi
Doba načítání 35 sec 45 sec 20 sec
Automatické přehrávání při spuštění Ne* Ne* Ano
Počet klepnutí na hlavní obrazovce „nativního“ GUI na smartphonu pro výběr rozhlasové stanice ze seznamu oblíbených** Svitek 5+1 4 1
Vyžaduje monitor, klávesnici a myš*** Ano Ne Ne
Webové ovládání částečný kompletní částečný
Úprava seznamu stanic tak-tak normy tak-tak
Snadné počáteční nastavení tak-tak Skvělý průměrný
Integrace s mým GUI pro ovládání smartphonu s berlemi s berlemi z krabice
Pohodlí při každodenním používání ☆☆ ☆☆☆
* ve skutečnosti ano, ale musíte udělat berličku a vložit ji do automatického načítání Raspbian; v případě OSMC je berlička napsána v pythonu a v případě Volumio v js nebo bash. V obou případech to ale stále nefunguje tak, jak bychom si přáli.
** pro OSMC a Volumio je to velmi důležité parametry, protože všechny tyto tapas-scrolly je nutné provést pokaždé, když sloupec zapnete. U RPi-Radio tento parametr, byť minimální, stále není tak důležitý, jelikož reproduktor po zapnutí sám začne hrát.
*** význam fyzické spojení monitor, klávesnici a myš k samotnému Raspberry Pi, tzn. ty případy, kdy není možné vyjít s vestavěným webovým rozhraním nebo ssh připojením.

Pod tímto spoilerem se skrývá podrobné vysvětlení každého ze srovnávacích bodů.

Doba načítání 20 sekund je podle mého názoru minimum, kterého lze dosáhnout, aniž byste se pro tento projekt ponořili do divočiny Raspbian optimalizace. Tak dlouho trvá „malině“ načíst OS a spustit službu mpd. Pravděpodobně lze tento výsledek zlepšit, pokud bude microSDHC nahrazeno microSDXC s vyšší rychlostí čtení / zápisu (pokud to bude možné, zkontroluji). Kupodivu Volumio, předstírá, že je lehké a svižné, se načítá déle než OSMC monster harvester. 45 sekund čekání je za hranicí komfortního ovládání a to byl hlavní důvod odchodu z Volumio.

Automatické přehrávání je součástí mpd hned po vybalení, pro jeho aktivaci jsem nemusel nic dělat - praktické! I když se ve Volumiu jedná o obal pro mpd, byla tato funkce potlačena ve prospěch příjemného uvítacího zvuku. Jak jsem již psal, můžete vytvořit skript a dát jej do automatického načítání. U OSMC je situace podobná.

V OSMC se většina uživatelské interakce odehrává přes monitor: je zde krásné rozhraní, možnost sledovat videa, obrázky, číst zprávy a sledovat počasí – spoustu věcí, které můj sloupek nikdy v životě neudělá.

Webová správa OSMC je ale velmi omezená a seznam oblíbených stanic si v pluginu Radio ani nenastavíte na dálku – pouze přes monitor. Volumio to má naopak, vše je pouze přes webové rozhraní. Nejpohodlnější je upravovat seznam stanic v prohlížeči na stolním počítači / notebooku, ale pokud chcete, můžete i na chytrém telefonu. S RPi-Radio můžete prostřednictvím webového rozhraní pouze vybrat stanici a upravit zvuk. Seznam stanic a vlastně všechno ostatní se musí dělat přes konzoli přes ssh. Seznam stanic je nejobtížnější: pokud OSMC a Volumio mají vlastní rozsáhlé knihovny internetových rádií, pak jsem v RPi-Radio musel ručně zadat adresy svých oblíbených stanic ve formátu JSON. Nepohodlné, ale jen jednou (nebo několikrát) za život.

Z počáteční nastavení nejhorší ze všeho na OSMC. Nejprve je třeba k „malině“ připojit monitor a nakonfigurovat plugin Radio, poté je také potřeba nakonfigurovat zvukový výstup na externí IQAudio DAC (ten na desce Suptronics X400) přes konzoli nebo přes ssh. RPi-Radio má stejné nastavení DAC, ale alespoň vše ostatní se provádí také přes ssh. Lídrem v této nominaci je samozřejmě Volumio – pro výstup zvuku přes externí DAC stačí vybrat příslušnou položku z rozevíracího seznamu v nabídce nastavení. Existuje dokonce srovnání na oficiálních stránkách Suptronics (http://www.suptronics.com/xseries/x400.html)

GUI v RPi-Radio je jednoduchá webová stránka implementovaná v React.js. Serverová část, která je zodpovědná za interakci mezi klientským GUI a mpd, běží na Node.js a je to jednoduchý HTTP a WebSocket server založený na balíku Socket.io + http + express. Běží na Raspbianu jako služba při spuštění systému hned po spuštění služby mpd a ke správě mpd používá modul mpc-js. Klientské GUI je přístupné jakémukoli prohlížeči v mé domácí síti jednoduše pomocí ip nebo názvu hostitele "maliny". Perfektní.


Zdroje RPi-Radio zveřejněné na

Všestrannost mini PC nezná mezí, jak už bylo mnohokrát řečeno. K vytvoření unikátních projektů stačí základní znalosti v oblasti programování a volný den. Ale ne každý má čas navíc, ale já chci něco dělat vlastníma rukama. Připravili jsme proto krátký článek o tom, jak poslouchat rádio na Raspberry pomocí internetu nebo plug-inů.

Internetové rádio na Raspberry Pi

K vytvoření rádiové stanice pomocí této metody potřebujeme model gadgetu vybavený příslušným modulem. Pro větší pohodlí můžete použít starší modifikace s vestavěným modulem Wi-Fi, který vám umožní opustit spoustu dalších drátů. Poté začneme vyrábět internetový rozhlasový přijímač s Raspberry Pi podle následujících pokynů:

  1. K desce připojíme audio zařízení, ze kterého se bude přehrávat hudba. Volitelně si můžete vybrat pouzdro a malou obrazovku pro gadget.
  2. Napíšeme příkaz "sudo_apt-get_install_mplayer", který na mini-PC nainstaluje přehrávač, který umí přehrávat nejběžnější formáty zvukových souborů, včetně rozhlasového vysílání.
  3. Nainstalujte do chytrého telefonu nebo tabletu s operačním systémem aplikace pro Android, schopný provádět příkazy na Raspberry bez připojení klávesnice. V našem případě se jedná o Raspi SSH. Kromě toho můžete k gadgetu připájet jednotlivá tlačítka a psát příslušné příkazy pro zapnutí a zastavení přehrávání rozhlasových stanic.
  4. Napíšeme příkaz pro zapnutí rádia "mplayer_-playlist_http://přímý odkaz na rádiovou stanici". V tomto případě stojí za to věnovat pozornost tomu, že bude přehrávána pouze registrovaná rozhlasová stanice. Chcete-li přepnout na jiný, budete muset příkaz zadat znovu. Oficiální odkazy lze nalézt na příslušných webových stránkách a uložit je na vhodném místě pro rychlou navigaci.
  5. Chcete-li po poslechu rádio vypnout, zadejte příkaz „killall_mplayer“, který ukončí aplikaci s minimálním rizikem poškození gadgetu, a poté odpojte mini-PC od zdroje napájení.

Pro poslech internetového rádia na Raspberry si navíc můžete nainstalovat „OS“ s podporou příslušných aplikací nebo použít firmware s hotovými utilitami (k dispozici na Github). Nyní se podíváme na funkce používání Raspberry s RTL-SDR přijímačem.

Chcete-li odpojit svůj mini PC od trvalého připojení k internetu, můžete si v jakémkoli dostupném internetovém obchodě zakoupit malý přijímač SDR pro Raspberry Pi a displej (PiTFT) s úhlopříčkou 2,8 palce nebo více. Poté postupujte podle pokynů:

  • Připojení a nastavení displeje. Chcete-li to provést, stáhněte si obrázek s veškerým potřebným softwarem (přímý odkaz adafruit-download.s3.amazonaws.com/2015-02-16-raspbian-pitft28r_150312.zip) a flashujte s ním paměťovou kartu gadgetu. Pokud je OS na Raspberry již nainstalován a nechcete přijít o důležitá data, můžete nastavení provést ručně (pouze pro pokročilé uživatele).
  • Stáhněte si knihovny na Raspberry Pi RTL-SDR (na Githubu můžete najít hotový archiv se vším, co potřebujete, nebo si každou knihovnu ručně předepsat, což se důrazně nedoporučuje).
  • Nainstalujte modul wrapper pro Python. K tomu napíšeme příkaz „sudo_pip_install_pyrtlsdr“ a počkáme na dokončení instalace na paměťovou kartu.
  • Nainstalujte si aplikaci FreqShow, která v budoucnu zajistí sledování příjmu signálu a možnost poslechu rádia. Chcete-li to provést, napište příkaz "cd_~ Odstavec git_clone_https://github.com/adafruit/FreqShow.git Odstavec cd_FreqShow".
  • Aplikaci spustíme příkazem „sudo_python_freqshow.py“ a počkáme na dokončení načítání všech funkcí.
  • K přehrávání rádiového signálu používáme program rtl_fm pomocí příkazu "rtl_fm_-f_104.7M (může být jakákoli frekvence) -M_wbfm_-s 200000_-r_48000_-_|_aplay_-r_48k_-f_S16_LE". Tato metoda umožňuje poslouchat nejen frekvence oficiálních rozhlasových stanic, ale také zachytit případné signály procházející záchytnou zónou rádiového modulu.

Kromě toho můžete na Raspberry Gqrx použít moduly SDR, které zajistí lepší zvuk. Když však tyto moduly fungují, je mnohem obtížnější zachytit požadovaný signál a nakonfigurovat jej stabilní práci na mini PC, protože jsou v komunitě uživatelů Raspberry méně běžné.

To je vše užitečné informace o používání internetu a SDR na Raspberry k poslechu rádia končí. Vychutnejte si čistý zvuk svých oblíbených rozhlasových stanic v kompaktním balení a ohromte své přátele silou malého gadgetu.