Obsah:

Hrajte Bluetooth na Sonose pomocou Raspberry Pi: 25 krokov
Hrajte Bluetooth na Sonose pomocou Raspberry Pi: 25 krokov

Video: Hrajte Bluetooth na Sonose pomocou Raspberry Pi: 25 krokov

Video: Hrajte Bluetooth na Sonose pomocou Raspberry Pi: 25 krokov
Video: Настя и Арбуз с вымышленной историей для детей. 2024, Júl
Anonim
Image
Image
Hrajte Bluetooth na Sonose pomocou Raspberry Pi
Hrajte Bluetooth na Sonose pomocou Raspberry Pi

Predtým som napísal návod, ktorý popisuje, ako pridať do systému Sonos pomocný alebo analógový vstup pomocou Raspberry Pi. Čitateľ sa pýta, či by bolo možné streamovať bluetooth zvuk z jeho telefónu do Sonosu. To sa dá ľahko dosiahnuť pomocou bluetooth donglu zapojeného do radu drahších Sonos Play: 5 alebo Sonos CONNECT; Stratíte však vernosť premeny bluetooth (digitálneho) na analógový, potom späť na digitálny a ak vlastníte iba jeden z lacnejších reproduktorov Sonos, potom to nie je možné. Tento návod popisuje, ako nastaviť Raspberry Pi na streamovanie zvuku bluetooth do akéhokoľvek reproduktora Sonos.

POZNÁMKA: Majte na pamäti, že budeme prenášať zvuk bluetooth na Raspberry Pi a prevádzať ho na stream mp3 pred odoslaním do Sonosu, takže bude niekoľko sekúnd meškať. Ak to používate na sledovanie videa, zvuk bude synchronizovaný.

Krok 1:

Čo budete potrebovať:

Raspberry PI 3 Model B (k dispozícii je novší a rýchlejší model B+, ale zostal som pri bežnom modeli B, pretože som čítal o niektorých problémoch so zamykaním B+ a tiež rádia WiFi a bluetooth rádia B+ majú okolo seba kovové tienenie sú kompatibilné s FCC, keď sú nainštalované do iného zariadenia, ale chcel som maximálny dosah bluetooth a obával som sa, že to môže brániť tienenie)

Stolný alebo prenosný počítač s čítačkou kariet microSD

Monitor alebo televízor so vstupom HDMI (len pre počiatočné nastavenie)

Klávesnica a myš USB alebo bluetooth (iba pre počiatočné nastavenie)

Plastové puzdro Raspberry Pi (Na tento účel používam plastové puzdro na maximalizáciu dosahu bluetooth)

Flash pamäťová karta Kingston 8 GB microSDHC triedy 4

Napájanie 5V

Krok 2:

Obrázok
Obrázok
Obrázok
Obrázok

Prejdite na svojom bežnom počítači na stránku https://www.raspberrypi.org/downloads/raspbian/ a stiahnite si „RASPBIAN STRETCH WITH DESKTOP“.

Choďte tiež na https://etcher.io/ a stiahnite si Etcher a nainštalujte ho.

POZNÁMKA: V mojom predchádzajúcom návode som popísal, ako stiahnuť NOOBS na inštaláciu Raspbian; táto metóda je však o niečo rýchlejšia. V každom prípade je to v poriadku.

Krok 3:

Obrázok
Obrázok
Obrázok
Obrázok

Spustite aplikáciu Etcher a kliknite na položku Vybrať obrázok a vyhľadajte súbor zip. Kliknite na položku Vybrať disk, prejdite na kartu microSD a potom kliknite na položku Flash!

Krok 4:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

POZNÁMKA: Niektoré z týchto ďalších krokov sú podobné mojim predchádzajúcim pokynom, takže pokračujte, ak už máte nastavené heslo root, statickú IP adresu a VNC.

Vložte kartu microSD do otvoru pre kartu SD na spodnej strane Raspberry Pi. Pripojte kábel HDMI z Raspberry Pi k monitoru alebo televízoru. Pripojte USB klávesnicu, myš a nakoniec napájací kábel Micro USB. Po zavedení sa zobrazí pracovná plocha Raspbian. Prevedie vás niekoľkými nastaveniami, ale odporúčam NIE kontrolovať aktualizácie. Kliknite na položku Preskočiť. Pri pokuse o spárovanie bluetooth po inštalácii všetkých aktualizácií sa mi stále zobrazovala chyba „blueman.bluez.errors. DBusFailedError: Protocol not available“, takže som musel začať odznova.

TIP: Ak nechcete vojenský čas, kliknite pravým tlačidlom myši na hodiny a vyberte položku Nastavenia digitálnych hodín a zmeňte formát hodín z %R na %r

Krok 5:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Ďalej povolíme vstavaný server VNC. To robí veci oveľa jednoduchšími, pretože môžete jednoducho kopírovať a vkladať príkazy pomocou VNC, namiesto ich zadávania. Vyberte ponuku GUI> Predvoľby> Konfigurácia Raspberry Pi> Rozhrania. Kliknite na položku Povolené vedľa položky VNC a potom na tlačidlo OK. Po niekoľkých sekundách sa na paneli úloh zobrazí ikona VNC. Kliknite na ňu a potom na ikonu ponuky vpravo hore (rámček s 3 vodorovnými čiarami) a potom na položku Možnosti. V možnostiach zabezpečenia nastavte Šifrovanie na „Preferovať vypnuté“a Autentifikácia ako „heslo VNC“, potom kliknite na Použiť. Zobrazí sa okno s heslom. Do každého poľa zadajte heslo „malina“(bez úvodzoviek) a kliknite na tlačidlo OK.

Krok 6:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Predtým, ako pôjdeme ďalej, musíme priradiť statickú adresu IP. Ak je adresa IP vášho Pi náhodne priradená serverom DHCP vášho smerovača, adresa IP sa môže neskôr zmeniť a nebudete sa môcť pripojiť prostredníctvom VNC (alebo Sonos). Pravým tlačidlom myši kliknite na ikonu sieťových pripojení na paneli úloh (malá ikona šípky nahor a nadol) a zvoľte „Nastavenia bezdrôtovej a káblovej siete“. ĽAVO kliknite na pravé horné pole a zvoľte „eth0“, ak chcete nakonfigurovať ethernetové pripojenie, alebo „wlan0“pre bezdrôtové pripojenie. Odporúčam priradiť statickú IP iba jednému alebo druhému. Mal som problém, keď som prvýkrát nastavil svoj Pi, kde som obidvom pripojeniam priradil rovnakú statickú IP adresu a bezdrôtové pripojenie môjho Pi bolo zablokované a nemohol som správne fungovať, takže som musel začať úplne od začiatku inštalácie operačného systému. V každom prípade zadajte do poľa IP adresa požadovanú adresu IP a do poľa Router a DNS servery zadajte adresu IP smerovača. Kliknite na položku Použiť a zavrieť.

POZNÁMKA: Priradenie statickej adresy IP pomocou funkcie rezervácie adresy IP DHCP vášho smerovača, ak ju má, môže byť jednoduchšie. Možno budete potrebovať MAC adresu Pi alebo sa môže zobraziť v zozname pripojených zariadení na stránke správcu smerovača. Ak potrebujete adresu MAC, zadajte v okne terminálu príkaz „ifconfig eth0“pre ethernet alebo „ifconfig wlan0“pre WiFi. Je zaujímavé, že MAC adresa WiFi sa zobrazí na riadku, ktorý začína na „éter“

Krok 7:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Ďalej musíme nastaviť predvolené rozlíšenie obrazovky. Môže sa to zdať hlúpe, pretože sme už pripojení k monitoru, ale neskôr, keď sa pripojíte prostredníctvom VNC bez pripojeného monitora (bezhlavý, ako sa hovorí), sa vráti späť k predvolenému rozlíšeniu Pi 640 x 480, čo je veľmi malá obrazovka. pracovať s! Vyberte ponuku GUI> Predvoľby> Konfigurácia Raspberry Pi> Nastaviť rozlíšenie. Nastavte ho na 1 280 x 720 alebo vyšší a reštartujte počítač kliknutím na tlačidlo OK a Áno.

Krok 8:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Možno budete chcieť zmeniť názov svojho Pi, najmä ak máte vo svojej sieti viac ako jeden. Premenoval som ten svoj na „BluetoothPi“, aby bol ľahko identifikovateľný. Po jeho premenovaní vás požiada o reštart.

Krok 9:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

V tomto mieste možno budete chcieť začať používať VNC na ovládanie Pi. Znova otvorte ovládací panel VNC na ploche Raspbian a v časti „Pripojenie“vyhľadajte adresu IP. Nainštalujte a spustite prehliadač VNC na svojom bežnom počítači a pomocou tejto adresy IP sa pripojte a ako heslo zadajte „malina“(bez úvodzoviek). Použil som TightVNC pre Windows. Potom, čo ste sa pripojili, môžete uložiť pripojenie VNC zariadenia Pi ako skratku na plochu, aby ste sa v budúcnosti mohli rýchlo pripojiť a obísť prihlasovaciu obrazovku. V rámci skratky dostanete upozornenie na uloženie hesla. Ak chcete skopírovať a prilepiť do okna terminálu Pi, vyberte alebo zvýraznite text alebo príkazy na svojom bežnom počítači, stlačte Ctrl-C (doslova súčasne stlačte klávesy Ctrl a C na klávesnici) alebo kliknite pravým tlačidlom myši a zvoľte „Kopírovať “, potom aktivujte okno prehliadača VNC Pi a kliknite pravým tlačidlom myši do okna terminálu priamo na kurzor a zvoľte Prilepiť.

Krok 10:

Obrázok
Obrázok
Obrázok
Obrázok

Ďalej nainštalujeme dva programy, Darkice a Icecast2. Darkice bude kódovať náš zdroj zvuku bluetooth do streamu mp3 a Icecast2 ho bude poskytovať Sonosu ako stream Shoutcast. Skopírujte a prilepte každý z týchto riadkov do okna terminálu jeden po druhom, za ktorým bude vždy nasledovať kláves Enter:

wget

mv darkice_1.0.1-999 ~ mp3+1_armhf.deb? raw = true darkice_1.0.1-999 ~ mp3+1_armhf.deb

sudo apt-get install libmp3lame0 libtwolame0

sudo dpkg -i darkice_1.0.1-999 ~ mp3+1_armhf.deb

Krok 11:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Teraz nainštalujte Icecast2. Zadajte „sudo apt-get install icecast2“a potom vstúpte. Po inštalácii sa zobrazí okno s otázkou, či chcete nakonfigurovať Icecast2. Stlačením klávesu so šípkou doľava a zadaním vyberte možnosť Áno. Na druhej obrazovke stlačte kláves so šípkou nadol a Enter, aby ste vybrali OK a použili predvolený názov hostiteľa „localhost“. Na ďalších troch obrazovkách stlačte šípku nadol a zadajte kľúč, čím vyjadríte súhlas s používaním hesla „hackme“ako predvoleného zdroja, hesla a hesla správy. Aj keď súhlasíme so všetkými predvolenými nastaveniami, tieto kroky je potrebné vykonať, aby sa aktivoval server Icecast2.

sudo apt-get install icecast2

Krok 12:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Ďalej musíme spustiť správcu súborov GUI ako užívateľ root. Ak to chcete urobiť, vyberte ponuku GUI> Spustiť. Zadajte „sudo pcmanfm“a stlačte kláves Enter. Tým sa otvorí správca súborov (ekvivalent prieskumníka súborov pre nás používateľov systému Windows) do domovského adresára (/home/pi) a uvidíte zostávajúci inštalačný súbor darkice, ktorý sme predtým stiahli. Pravým tlačidlom myši kliknite na prázdne miesto, vyberte položku Vytvoriť nový a potom položku Prázdny súbor. Pomenujte ho „darkice.cfg“a kliknite na tlačidlo OK. Potom kliknite pravým tlačidlom myši na novovytvorený súbor a zvoľte ho otvorenie pomocou programu Leafpad (ekvivalent programu Poznámkový blok systému Windows). Skopírujte nižšie uvedené riadky, vložte ich do Leafpadu a potom kliknite na položku Súbor a Uložiť. Všimnete si, že riadok „kvality“je okomentovaný a pred ním je #. Používa sa iba vtedy, ak nastavíte „bitrateMode = vbr“(variabilný dátový tok). Pri použití cbr (konštantný dátový tok) nemôžete mať nastavenú hodnotu kvality, inak sa stream bude koktať a preskakovať. Naopak, ak sa rozhodnete používať vbr, musíte komentovať riadok „bitrate = 160“a odkomentovať riadok „kvalita“.

POZNÁMKA: Najvyššia kvalita dátového toku mp3 je 320 kb / s; Rádiá WiFi a Bluetooth na Raspberry Pi sú však na tom istom čipe, takže ak maximalizujete šírku pásma oboch, zvuk bluetooth môže koktať alebo zmraziť. Neskôr zmeníme nastavenie, ktoré to napraví, ale trochu to obmedzuje šírku pásma WiFi, takže som pre tento projekt znížil bitový tok zvuku na 160 kbps, pretože ho plánujem ponechať výlučne na WiFi. Ak používate ethernet, nie je to problém a bitovú rýchlosť môžete bezpečne nastaviť na 320 kb / s.

[všeobecné] trvanie = 0 # trvanie v s, 0 navždy bufferSecs = 1 # vyrovnávacia pamäť, v sekundách znova pripojiť = áno # znova pripojiť, ak je odpojené

[vstup]

zariadenie = telefón # názov vzorky zariadenia bluetooth Rýchlosť = 44100 # vzorkovacia frekvencia 11025, 22050 alebo 44100 bitov PerSample = 16 # bitový kanál = 2 # 2 = stereo

[icecast2-0]

bitrateMode = konštantný dátový tok cbr # (konštantný 'cbr', priemer 'abr') #quality = 1,0 # 1,0 je najlepšia kvalita (používa sa iba s vbr) formát = formát mp3 #. Vyberte „vorbis“pre bitrate OGG Vorbis = 160 # bitrate server = localhost # alebo IP port = 8000 # port pre prístupové heslo IceCast2 = hackme # zdrojové heslo pre server IceCast2 mountPoint = rapi.mp3 # bod pripojenia na serveri IceCast2.mp3 alebo.ogg name = BluetoothPi

Krok 13:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Ďalej musíme postupovať rovnako ako predtým, aby sme vytvorili prázdny súbor s názvom „darkice.sh“. Súbor.sh je ekvivalentom súboru.bat alebo dávkového súboru pre DOS alebo Windows. Otvorte pomocou Leafpadu, skopírujte a prilepte riadky nižšie a uložte. Ak ste sa riadili mojím predchádzajúcim pokynom, všimnete si, že riadok, ktorým sa začína Darkice, vyzerá trochu inak. Kód som musel vložiť do slučky, pretože vždy, keď Darkice stratí zvukový signál bluetooth, zastaví sa a nespustí sa automaticky ani po reštartovaní zvuku. Tento problém som podrobne preskúmal a napriek tomu, že existujú zložité spôsoby automatického spustenia skriptu vždy, keď je pripojené zariadenie bluetooth, Darkice sa niekedy zastaví vždy, keď dôjde k strate zvukového signálu, aj keď je zariadenie bluetooth stále pripojené (napr. Ak zatvoríte YouTube) aplikácia v telefóne), takže je to najľahší a najspoľahlivejší spôsob, ako zaistiť, aby bol Darkice spustený vždy, keď je k dispozícii zvuk bluetooth. Ak je Darkice už spustený, príkaz bude ignorovaný.

#!/bin/bashilst:; do sudo/usr/bin/darkice -c /home/pi/darkice.cfg; spať 5; hotový

Krok 14:

Obrázok
Obrázok

Ďalej musíme spustiť príkaz, aby bol súbor darkice.sh spustiteľný. Otvorte okno terminálu, zadajte „sudo chmod 777 /home/pi/darkice.sh“a stlačte kláves Enter. Teraz je načase spustiť službu servera Icecast2. Zadajte „sudo service icecast2 start“a stlačte kláves Enter.

sudo chmod 777 /home/pi/darkice.sh

spustenie služby sudo service icecast2

Krok 15:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Ďalej musíme povedať Darkice, aby sa automaticky spustili pri každom štarte Pi (server Icecast2 beží ako služba a už sa automaticky spustí po zavedení). Najprv musíme vybrať, ktorý textový editor použijeme. V okne terminálu napíšte „select-editor“a stlačte kláves Enter. Zadajte „2“, vyberte nano editor a stlačte kláves Enter. Potom zadajte „crontab -e“a zadajte. Potom podržte kláves so šípkou nadol, posuňte sa úplne do spodnej časti zobrazeného textového súboru a pridajte tento riadok „@reboot sleep 10 && sudo /home/pi/darkice.sh“. Potom ukončite stlačením klávesov Ctrl-X a zobrazí sa výzva „Uložiť upravený buffer?“. Stlačením klávesu Y zadajte Áno a potom Enter, čím potvrdíte, či sa názov súboru automaticky generuje.

výberový editor

crontab -e

@reboot sleep 10 && sudo /home/pi/darkice.sh

Krok 16:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Spárujte svoj telefón s Raspberry Pi pomocou ikony bluetooth na ploche. Je dôležité, aby ste bluetooth zariadenia Pi prepli do režimu zisťovania a potom spárovali z telefónu. Ak prepnete telefón do režimu zisťovania a pokúsite sa ho spárovať z Pi, môže sa pripojiť, ale zobrazí sa chyba, že v telefóne nie sú žiadne služby, ktoré by Pi mohol používať, čo je pravda. Snažíme sa posielať zvuk DO PI, nie naopak. Po spárovaní spustite tento príkaz v okne terminálu, aby ste odhalili MAC adresu bluetooth vášho pripojeného zariadenia:

sudo bluetoothctl

Krok 17:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Aby Darkice mohla používať zariadenie bluetooth ako zvukový vstup PCM, musíme v priečinku „etc“vytvoriť súbor s názvom „asound.conf“(etc/asound.conf). Niekoľkokrát kliknite na šípku nahor v správcovi súborov, aby ste sa dostali do koreňového adresára, a potom dvakrát kliknite na priečinok „etc“a otvorte ho. Prejdite nadol a kliknite pravým tlačidlom myši na prázdne miesto a vytvorte prázdny súbor s názvom „asound.conf“a skopírujte a prilepte nižšie uvedené riadky, pričom adresu MAC vášho zariadenia samozrejme nahradíte mojou a uložte.

pcm.phone {type plug slave.pcm {type bluealsa device "50: F0: D3: 7A: 94: C4" profile "a2dp"}}

Krok 18:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Rádio WiFi aj Bluetooth na Raspberry Pi sú na tom istom čipe, takže ak maximalizujete šírku pásma oboch, bluetooth zvuk môže koktať alebo zmraziť. Niektorí to nazývajú chyba a niektorí tvrdia, že je to len hardvérové obmedzenie. Chystáme sa zmeniť nastavenie, ktoré to napraví. Kredit za odoslanie tejto opravy putuje do „pelwell“na https://github.com/raspberrypi/linux/issues/1402 Znovu spustením sudo pcmanfm otvorte správcu súborov a prejdite na/lib/firmware/brcm. Dvakrát kliknite na textový súbor „brcmfmac43430-sdio.txt“, otvorte ho a pridajte tieto riadky naspodok a uložte.

# Experimentálne parametre koexistencie Bluetooth z Cypressbtc_mode = 1 btc_params8 = 0x4e20 btc_params1 = 0x7530

Krok 19:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Kliknite na ikonu ponuky GUI a vyberte položku Vypnúť a reštartovať. Ak ste presne dodržali všetky tieto kroky, váš zvukový server bluetooth sa automaticky spustí kdekoľvek od 30 sekúnd do minúty po kliknutí na reštart. Predtým, ako ho môžete pridať do Sonosu, musíte pripojiť bluetooth svojho telefónu k Pi (jednoducho naň klepnúť v nastaveniach bluetooth telefónu, pretože je už spárovaný) a začať prehrávať zvuk nejakého druhu a zvýšiť hlasitosť. Nezabudnite, že z reproduktora telefónu nebudete počuť žiadny zvuk, pretože si myslí, že je pripojený k externému reproduktoru bluetooth. Jeden vizuálny spôsob, ako zistiť, či Icecast prijíma zvuk bluetooth od Darkice, je otvoriť https://192.168.86.107:8000 vo webovom prehliadači a nahradiť tak IP vášho Pi. Icecast je vždy spustený, takže sa vám vždy zobrazí stavová stránka, ale ak Darkice prijíma aj zvuk bluetooth, zobrazí sa vám tiež bod pripojenia a deskriptor streamu. Odpojte bluetooth, obnovte stránku a opäť zostane prázdna.

Krok 20:

Obrázok
Obrázok
Obrázok
Obrázok

Na pridanie vlastného streamu do Sonosu musíte použiť aplikáciu Sonos pre stolné počítače. Kliknite na položku Spravovať> Pridať rozhlasovú stanicu a zadajte adresu URL streamu, ktorý bol v mojom prípade „https://192.168.86.107:8000/rapi.mp3“. Zadajte tiež názov stanice a kliknite na tlačidlo OK.

Krok 21:

Obrázok
Obrázok

Ak chcete prehrať vlastnú rozhlasovú stanicu, ktorú sme práve pridali, zvoľte „Radio by Tunein“a potom „My Radio Stations“. Ľavé dvojité kliknutie prehráte alebo PRAVÉ kliknutie upraví alebo pridá stanicu k vašim obľúbeným Sonos.

Krok 22:

Obrázok
Obrázok
Obrázok
Obrázok

Po pridaní vlastnej rozhlasovej stanice bude okamžite k dispozícii vo vašej aplikácii Sonos. Otvorte aplikáciu, v spodnej časti klepnite na „Moje sonos“, posuňte sa nadol na položku „Stanice“a klepnite na „Zobraziť všetko“. Prejdite nadol, kým neuvidíte novovytvorenú stanicu. Klepnite na ňu a začne sa hrať vo vami vybraných miestnostiach. Nezabudnite, ̶ V prípade odpojenia zariadenia Bluetooth z vrcholového potom sa Icecast prúdu, bude ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶, keď sa spínač audio aplikácie sa môže ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ pre obnovenie počúva na Sonos Budete musieť reštartovať prehrávanie zvuku v telefóne znova a Push hrať na ̶T̶h̶e̶ ̶S̶o̶n̶o̶s̶ ̶a̶p̶p̶ ̶a̶g̶a̶i̶n̶.̶ <--- Toto bolo opravené; pozri aktualizáciu nižšie. Veľa šťastia a ďakujem za prečítanie!

Krok 23: AKTUALIZÁCIA: PRIPOJENIE BLÍŽOVÉHO STREAMU PRI ODPOJENÍ BLUETOOTHU

Streamovanie bluetooth teda s týmto nastavením fungovalo perfektne, OKREM Sonos by sa odpojil od servera Icecast vždy, keď Darkice stratil zvuk bluetooth, napríklad keď ste zmenili zvukové aplikácie alebo jednoducho odpojili bluetooth, čo bola bolesť, pretože predtým by ste museli znova spustiť streamovanie zvuku bluetooth. v aplikácii Sonos môžete dokonca stlačiť tlačidlo prehrávania. To sa stal obrovským problémom, keď som sa pokúšal streamovať zvuk do Sonosu z aplikácie WatchESPN môjho telefónu, ktorá je iba na celú obrazovku, takže po spustení zvuku bluetooth som nemohol stlačiť tlačidlo prehrávania v aplikácii Sonos, ale keď som zatvoril aplikáciu WatchESPN Streamovanie Sonos sa nespustí, pokiaľ najskôr nespustíte zvuk bluetooth! Fuj! Vytrhol som si vlasy a snažil som sa na to prísť s elegantným riešením. Skúsil som iný kodér mp3 s názvom liquidsoap, ktorý má možnosť odoslať tichý zvuk, keď stratí spojenie, ale nemohol som ho spustiť s bluealsa. Pokúsil som sa zmiešať stream bluealsa so sekundárnym atrapou zvukovej karty alsa pomocou dsnoop a asym, aby som sa pokúsil oklamať Icecast, aby si myslel, že je tu stále prítomný zvukový signál, ale alsa vám skutočne neumožňuje veľmi manipulovať so zvukom bluetooth. Potom som začal skúmať pomocou záložného bodu pripojenia pomocou tichého súboru mp3 v systéme Icecast, ale Sonos uvidí, ako sa názov bodu pripojenia zmení a odpojí. Použil som súbor test.mp3 a omylom som ho raz označil ako názov hlavného bodu pripojenia namiesto náhradného a všimol som si, že Sonos jednoducho prešiel na prehrávanie tohto súboru, keď sa odpojil od prúdu bluetooth „rapi.mp3“. Heuréka! Keď bude znova k dispozícii, automaticky sa neprepne späť na stream bluetooth, takže som premýšľal, prečo nepoužiť rovnaký názov bodu pripojenia? Čo teda musíte urobiť, je vytvoriť tichý súbor mp3 a dať mu rovnaký názov ako mp3 stream Darkice „rapi.mp3“a naprogramovať ho ako hlavný bod pripojenia v konfiguračnom súbore Icecast2. Čo sa stane, je to, že kedykoľvek Sonos stratí spojenie s streamom Darkice/bluetooth rapi.mp3, začne sa slučkovať ďalší tichý súbor rapi.mp3, kým sa stream bluetooth nevráti do režimu online. Vďaka tomu už nemusíte mať pustený zvuk bluetooth, kým sa pustíte do prehrávania v Sonose. Tu je postup, ako to urobiť…

Krok 24:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Najprv musíme nainštalovať ffmpeg, aby sme vytvorili tichý súbor mp3. Dalo by sa nahrať tichý.wav súbor z externej zvukovej karty a previesť do mp3 pomocou lame, ale pretože pre tento projekt nemám vstup pre externú zvukovú kartu, bolo použitie ffmpeg najľahším riešením. Otvorte okno terminálu, zadajte príkaz „sudo apt-get install ffmpeg“a stlačte kláves Enter:

sudo apt-get install ffmpeg

Po inštalácii skopírujte a prilepte tento dlhý riadok na kódovanie tichého súboru mp3, ktorý trvá iba jednu sekundu:

sudo ffmpeg -f lavfi -i anullsrc = channel_layout = stereo: sample_rate = 44100 -b: a 160k -t 1 /usr/share/icecast2/web/rapi.mp3

Otvorte Správcu súborov ako root pomocou „sudo pcmanfm“a prejdite na „/etc/icecast2“. Pravým tlačidlom myši kliknite na „icecast.xml“a otvorte ho na Leafpade a vložte tieto riadky tesne pod horný riadok „“:

/rapi.mp3

Uložte a reštartujte počítač a už by ste mali mať možnosť spustiť vlastnú bluetooth stanicu Sonos ešte predtým, ako svoj telefón pripojíte k bluetooth!

Krok 25: Dodatok

Dodatok
Dodatok
Dodatok
Dodatok
Dodatok
Dodatok
Dodatok
Dodatok

Chcel som, aby napájací zdroj Raspberry Pi a 110 V AC až 5 V DC bol samostatný v jednom prípade, aby som ho mohol ľahko premiestňovať po dome, ale bol som prekvapený, že taký prípad neexistuje. 3D môžem vytlačiť neskôr, ale medzitým som prešiel na používanie iného puzdra Raspberry Pi a našiel som tenkú nástennú nabíjačku USB a krátky kábel. Nabíjačka mala pogumovaný povlak, na ktorý som nedokázal nalepiť čistú pásku VHB, ale ukázalo sa, že išlo o nálepku, ktorú bolo možné ľahko odstrániť; to však vytvorilo malé vybranie, ktoré spôsobilo, že páska VHB bola príliš tenká, takže som použil suchý zips.

Odporúča: