Sisällysluettelo:

Toista Bluetooth Sonosissa Raspberry Pi: n avulla: 25 vaihetta
Toista Bluetooth Sonosissa Raspberry Pi: n avulla: 25 vaihetta

Video: Toista Bluetooth Sonosissa Raspberry Pi: n avulla: 25 vaihetta

Video: Toista Bluetooth Sonosissa Raspberry Pi: n avulla: 25 vaihetta
Video: Makeblock Untimate Robot Kit Part 1 : Step by Step Assembly Robot of Aram Tank 2024, Marraskuu
Anonim
Image
Image
Toista Bluetooth Sonosissa Raspberry Pi: n avulla
Toista Bluetooth Sonosissa Raspberry Pi: n avulla

Kirjoitin aiemmin ohjeen, jossa kuvataan, kuinka aux- tai analoginen linjatulo lisätään Sonosiin Raspberry Pi: n avulla. Lukija kysyi, olisiko mahdollista suoratoistaa Bluetooth -ääntä puhelimesta Sonosiin. Tämä on helppo tehdä käyttämällä kalliimman Sonos Play: 5: n tai Sonos CONNECT: in linjaan liitettyä bluetooth-donglea; menetät kuitenkin uskollisuutesi muuntamalla bluetooth (digitaalinen) analogiseksi ja sitten takaisin digitaaliseksi ja jos omistat vain yhden halvemmista Sonos -kaiuttimista, tämä ei ole vaihtoehto. Tässä ohjeessa kuvataan, miten Raspberry Pi asetetaan Bluetooth -äänen suoratoistoon mihin tahansa Sonos -kaiuttimeen.

HUOMAUTUS: Muista, että lähetämme Bluetooth -ääntä Raspberry Pi -laitteeseen ja muunnamme sen mp3 -streamiksi ennen sen lähettämistä Sonosille, joten parin sekunnin viive. Jos käytät tätä videon katseluun, ääni ei ole synkronoitu.

Vaihe 1:

Mitä tarvitset:

Raspberry PI 3 -malli B (saatavilla on uudempi, nopeampi malli B+, mutta jäin kiinni tavalliseen malliin B, koska olen lukenut joitain ongelmia B+ -lukituksen kanssa ja myös B+: n wifi- ja bluetooth -radioissa on metallisuojaus FCC -yhteensopiva, kun ne on asennettu toiseen laitteeseen, mutta halusin maksimaalisen Bluetooth -kantaman ja pelkäsin, että suojaus voi estää sen)

Pöytä- tai kannettava tietokone, jossa on microSD -kortinlukija

Näyttö tai televisio, jossa on HDMI -tulo (vain alkuasetukset)

USB- tai Bluetooth -näppäimistö ja -hiiri (vain alkuasetukset)

Muovinen Vadelma Pi -kotelo (käytän tässä projektissa muovikoteloa bluetooth -alueen maksimoimiseksi)

Kingston 8 Gt: n microSDHC -luokan 4 flash -muistikortti

5V virtalähde

Vaihe 2:

Kuva
Kuva
Kuva
Kuva

Siirry normaalilla tietokoneellasi osoitteeseen https://www.raspberrypi.org/downloads/raspbian/ ja lataa "RASPBIAN STRETCH WITH DESKTOP".

Siirry myös osoitteeseen https://etcher.io/ ja lataa Etcher ja asenna se.

HUOMAUTUS: Edellisessä ohjeessa kuvailin kuinka ladata NOOBS Raspbianin asentamiseksi; tämä menetelmä on kuitenkin hieman nopeampi. Kumpikin tapa on hyvä.

Vaihe 3:

Kuva
Kuva
Kuva
Kuva

Suorita Etcher ja napsauta Valitse kuva ja selaa zip -tiedostoon. Napsauta Valitse asema ja selaa microSD -kortille ja napsauta sitten Flash!

Vaihe 4:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

HUOMAUTUS: Jotkut seuraavista vaiheista ovat samanlaisia kuin aiemmat ohjeeni, joten siirry eteenpäin, jos sinulla on jo pääsalasana, staattinen IP ja VNC.

Aseta microSD -kortti Raspberry Pi -laitteen alapuolella olevaan SD -korttipaikkaan. Liitä HDMI -kaapeli Raspberry Pi -laitteesta näyttöön tai televisioon. Liitä USB -näppäimistö, hiiri ja lopuksi Micro USB -virtakaapeli. Kun se käynnistyy, Raspbian -työpöytä tulee näkyviin. Se opastaa sinua useiden asetusten läpi, mutta suosittelen, että EI tarkista päivityksiä. Valitse Ohita. Sain "blueman.bluez.errors. DBusFailedError: Protocol not available" -virheen yrittäessäsi muodostaa pariliitosta bluetoothin kanssa, kun kaikki päivitykset oli asennettu, joten minun piti aloittaa alusta.

VIHJE: Jos et halua armeijan aikaa, napsauta OIKEALLA kelloa ja valitse Digitaalikellon asetukset ja muuta kellon muoto %R: stä %r: ksi

Vaihe 5:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Seuraavaksi otamme käyttöön sisäänrakennetun VNC-palvelimen. Tämä tekee asioista niin paljon helpompaa, että voit vain kopioida ja liittää komentoja VNC: n kautta kirjoittamisen sijaan. Valitse GUI -valikko> Asetukset> Raspberry Pi -määritykset> Liitännät. Napsauta Käytössä VNC: n vieressä ja sitten OK. Muutaman sekunnin kuluttua tehtäväpalkkiin tulee VNC -kuvake. Napsauta sitä ja sitten valikkokuvaketta oikeassa yläkulmassa (laatikko, jossa on 3 vaakasuoraa viivaa) ja sitten Asetukset. Aseta suojausasetuksissa Salaus -asetukseksi "Ensisijainen pois" ja Todennus VNC -salasanaksi ja napsauta sitten Käytä. Salasanaruutu tulee näkyviin. Kirjoita "vadelma" (ilman lainausmerkkejä) jokaiseen ruutuun ja napsauta OK.

Vaihe 6:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Ennen kuin menemme pidemmälle, meidän on annettava staattinen IP -osoite. Jos reitittimesi DHCP -palvelin antaa Piin IP -osoitteen satunnaisesti, IP -osoite voi muuttua myöhemmin etkä pystyisi muodostamaan yhteyttä VNC: n (tai Sonosin kautta) kautta. Napsauta hiiren kakkospainikkeella tehtäväpalkin verkkoyhteyskuvaketta (pieni ylä- ja alanuolikuvake) ja valitse "Langattoman ja langallisen verkon asetukset". Napsauta vasenta painiketta vasemmassa yläkulmassa ja valitse "eth0" määrittääksesi Ethernet-yhteyden tai "wlan0" langatonta yhteyttä varten. Suosittelen osoittamaan staattisen IP: n vain toiselle tai toiselle. Minulla oli ongelma, kun asetin ensimmäisen kerran Pi: n, jossa annoin saman staattisen IP -osoitteen molemmille yhteyksille ja Pi: n langaton yhteys lukittu, enkä saanut sitä takaisin toimimaan oikein, joten minun oli aloitettava koko käyttöjärjestelmän asennus. Kirjoita joka tapauksessa haluamasi IP -osoite IP -osoite -kenttään ja kirjoita reitittimen IP -osoite sekä Reititin- että DNS -palvelimet -kenttään. Napsauta Käytä ja sulje.

HUOMAUTUS: Staattisen IP -osoitteen määrittäminen saattaa olla helpompaa reitittimen DHCP -IP -varausominaisuuden avulla, jos sillä on sellainen. Saatat tarvita Pi: n MAC -osoitteen tai se voi vain näkyä reitittimen järjestelmänvalvojan sivulla olevien laitteiden luettelossa. Jos tarvitset MAC -osoitteen, kirjoita ethernet -pääteikkunaan komento "ifconfig eth0" tai WiFi -yhteys "ifconfig wlan0". Mielenkiintoista kyllä, WiFi MAC -osoite näkyy rivillä, joka alkaa "eetterillä"

Vaihe 7:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Seuraavaksi meidän on asetettava näytön oletustarkkuus. Tämä saattaa tuntua typerältä nähdä, kuinka olemme jo yhteydessä näyttöön, mutta myöhemmin, kun muodostat yhteyden VNC: n kautta ilman näyttöä (päätä, kuten sanotaan), se palaa takaisin Pion oletusresoluutiolle 640x480, joka on hyvin pieni näyttö työskennellä! Valitse GUI -valikko> Asetukset> Raspberry Pi -määritykset> Aseta tarkkuus. Aseta se 1280x720 tai korkeammaksi ja käynnistä uudelleen napsauttamalla OK ja Kyllä.

Vaihe 8:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Voit halutessasi muuttaa Pi: n nimen etenkin, jos sinulla on useampi kuin yksi verkossa. Nimesin omani uudelleen BluetoothPi: ksi, jotta se olisi helposti tunnistettavissa. Se pyytää sinua käynnistämään sen uudelleen nimeämisen jälkeen.

Vaihe 9:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Tässä vaiheessa sinun kannattaa ehkä aloittaa VNC: n käyttö Pi: n ohjaamiseen. Avaa VNC -ohjauspaneeli uudelleen Raspbian -työpöydällä ja etsi IP -osoite kohdasta "Yhteydet". Asenna VNC -katseluohjelma tavalliselle tietokoneellesi ja käytä sitä IP -osoitetta yhteyden muodostamiseen ja kirjoita salasana "vadelma" (ilman lainausmerkkejä). Käytin TightVNC for Windowsia. Kun olet muodostanut yhteyden, voit tallentaa Pi: n VNC -yhteyden pikakuvakkeeksi työpöydällesi, jotta voit muodostaa yhteyden nopeasti tulevaisuudessa ohittamalla kirjautumisnäytön. Saat varoituksen salasanan tallentamisesta pikavalintaan. Jos haluat kopioida ja liittää Pi: n pääteikkunaan, valitse tai korosta teksti tai komennot tavallisella tietokoneellasi, paina Ctrl-C (paina kirjaimellisesti näppäimistön Ctrl- ja C-näppäimiä samanaikaisesti) tai napsauta hiiren kakkospainikkeella ja valitse Kopioi ", aktivoi sitten Pi: n VNC-katseluohjelma ja napsauta hiiren kakkospainikkeella pääteikkunan sisällä kohdistinta ja valitse Liitä.

Vaihe 10:

Kuva
Kuva
Kuva
Kuva

Seuraavaksi asennamme kaksi ohjelmaa, Darkice ja Icecast2. Darkice koodaa Bluetooth -äänilähteemme mp3 -suoraksi ja Icecast2 palvelee sitä Sonosilla Shoutcast -streamina. Kopioi ja liitä jokainen näistä riveistä pääteikkunaan yksi kerrallaan ja sen jälkeen Enter -näppäin joka kerta:

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

Vaihe 11:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Asenna nyt Icecast2. Kirjoita "sudo apt-get install icecast2" ja sen jälkeen enter. Asennuksen jälkeen avautuu ikkuna, jossa kysytään, haluatko määrittää Icecast2: n. Paina Kyllä ja valitse Kyllä. Paina toisessa näytössä alanuolinäppäintä ja valitse OK, jos haluat käyttää oletusisäntänimeä "localhost". Paina seuraavissa kolmessa näytössä alanuolta ja syötä näppäin, jotta voit käyttää "hackme" -lähdettä, välitystä ja järjestelmänvalvojan salasanaa. Vaikka hyväksymme kaikki oletusasetukset, nämä vaiheet on suoritettava Icecast2 -palvelimen aktivoimiseksi.

sudo apt-get install icecast2

Vaihe 12:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Seuraavaksi meidän on suoritettava GUI -tiedostonhallinta pääkäyttäjänä. Voit tehdä tämän valitsemalla GUI -valikko> Suorita. Kirjoita "sudo pcmanfm" ja paina enter. Tämä avaa tiedostonhallinnan (joka vastaa tiedostojen etsintää meille Windows -käyttäjille) kotihakemistoon (/home/pi) ja näet aiemmin ladatun darkice -asennustiedoston. Napsauta hiiren kakkospainikkeella tyhjää tilaa ja valitse Luo uusi ja sitten Tyhjennä tiedosto. Nimeä se "darkice.cfg" ja napsauta OK. Napsauta sitten hiiren kakkospainikkeella kyseistä uutta tiedostoa ja avaa se Leafpadilla (vastaava kuin Windowsin muistilehtiö). Kopioi alla olevat rivit ja liitä ne Leafpadiin ja valitse sitten Tiedosto ja Tallenna. Huomaat, että "laatu" -rivi on kommentoitu # edessä. Sitä käytetään vain, jos asetat "bitrateMode = vbr" (muuttuva bittinopeus). Et voi asettaa laatuarvoa käytettäessä cbr (vakio bittinopeus) tai virta katoaa ja ohittaa. Päinvastoin, jos päätät käyttää vbr: tä, sinun on kommentoitava "bitrate = 160" -rivi ja poistettava "quality" -rivin kommentti.

HUOMAUTUS: Laadukkain mp3 -bittinopeus, joka sinulla voi olla, on 320 kbps; Raspberry Pi -laitteen WiFi- ja Bluetooth -radiot ovat kuitenkin samalla sirulla, joten jos maksimoit molempien kaistanleveyden, Bluetooth -ääni voi änkyttää tai jäädyttää. Aiomme muuttaa asetusta myöhemmin, joka korjaa tämän, mutta se rajoittaa jonkin verran WiFi -kaistanleveyttä, joten pienensin tämän projektin äänen bittinopeuden 160 kbps: ään, koska aion pitää sen yksinomaan WiFi: ssä. Jos käytät ethernetiä, se ei ole ongelma ja voit asettaa bittinopeuden turvallisesti 320 kbps: iin.

[yleinen] kesto = 0 # kesto sekunneissa, 0 ikuisesti puskuri

[syöttö]

laite = puhelin # Bluetooth -laitteen nimi sampleRate = 44100 # näytteenottotaajuus 11025, 22050 tai 44100 bittiä PerSample = 16 # bittiä kanava = 2 # 2 = stereo

[icecast2-0]

bitrateMode = cbr # vakio bittinopeus ('cbr' vakio, 'abr' keskiarvo) # quality = 1.0 # 1.0 on paras laatu (käytä vain vbr: n kanssa) format = mp3 # -muoto. Valitse 'vorbis' OGG: lle Vorbis -bittinopeus = 160 # bittinopeuspalvelin = paikallinen isäntä # tai IP -portti = 8000 # portti IceCast2 -salasanalle = hackme # lähdesalasana IceCast2 -palvelimelle mountPoint = rapi.mp3 # kiinnityspiste IceCast2 -palvelimella.mp3 tai.ogg name = BluetoothPi

Vaihe 13:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Seuraavaksi meidän on suoritettava samat vaiheet kuin aiemmin luodaksemme tyhjän tiedoston nimeltä "darkice.sh".. Sh -tiedosto vastaa.bat- tai erätiedostoa DOS- tai Windows -käyttöjärjestelmille. Avaa Leafpadilla, kopioi ja liitä alla olevat rivit ja tallenna. Jos seurasit edellistä ohjeistustani, huomaat, että Darkice -aloitusviiva näyttää hieman erilaiselta. Minun oli upotettava koodi silmukkaan, koska aina kun Darkice menettää Bluetooth -äänisignaalin, se lakkaa toimimasta eikä käynnisty automaattisesti, vaikka ääni käynnistetään uudelleen. Tutkin tätä ongelmaa paljon ja vaikka on olemassa monimutkaisia tapoja suorittaa komentosarja automaattisesti aina, kun Bluetooth -laite on kytketty, Darkice pysähtyy joskus aina, kun äänisignaali katoaa, vaikka Bluetooth -laite olisi edelleen yhteydessä (esim. Jos suljet YouTube puhelimessasi), joten tämä on helpoin ja luotettavin tapa varmistaa, että Darkice on käynnissä aina, kun Bluetooth -ääni on läsnä. Jos Darkice on jo käynnissä, komento ohitetaan.

#!/bin/bashtime:; tee sudo/usr/bin/darkice -c /home/pi/darkice.cfg; nukkua 5; tehty

Vaihe 14:

Kuva
Kuva

Seuraavaksi meidän on suoritettava komento, jotta darkice.sh -tiedosto voidaan suorittaa. Avaa pääteikkuna ja kirjoita "sudo chmod 777 /home/pi/darkice.sh" ja paina Enter. Nyt on aika käynnistää Icecast2 -palvelin. Kirjoita "sudo service icecast2 start" ja paina enter.

sudo chmod 777 /home/pi/darkice.sh

sudo -palvelu icecast2 käynnistyy

Vaihe 15:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Seuraavaksi meidän on kerrottava Darkicelle, että se käynnistyy automaattisesti aina, kun Pi käynnistetään (Icecast2 -palvelin toimii palveluna ja käynnistyy jo automaattisesti käynnistyksen jälkeen). Ensin meidän on valittava käytettävä tekstieditori. Kirjoita pääteikkunaan "select-editor" ja paina enter. Kirjoita "2" valitaksesi nanoeditorin ja paina enter. Kirjoita sitten "crontab -e" ja kirjoita. Vieritä sitten alaspäin osoittavaa nuolinäppäintä alas ja vie tämä rivi "@reboot sleep 10 && sudo /home/pi/darkice.sh". Paina sitten Ctrl-X poistuaksesi ja se kysyy "Tallenna muokattu puskuri?". Paina Y -näppäintä Kyllä ja sitten Enter vahvistaaksesi, mikä tiedostonimi luodaan automaattisesti.

valitse editori

crontab -e

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

Vaihe 16:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Yhdistä puhelimesi Raspberry Pi -laitteeseen käyttämällä työpöydän Bluetooth -kuvaketta. On tärkeää, että asetat Pi: n Bluetoothin etsintätilaan ja muodostat sitten pariliitoksen puhelimestasi. Jos asetat puhelimesi etsintätilaan ja yrität muodostaa pariliitoksen Pi -laitteesta, se voi muodostaa yhteyden, mutta antaa virheilmoituksen, jonka mukaan puhelimessasi ei ole palveluita, joita Pi voi käyttää, mikä on totta. Yritämme lähettää ääntä Pi: lle, ei päinvastoin. Parin muodostamisen jälkeen suorita tämä komento pääteikkunassa paljastaaksesi yhdistetyn laitteen Bluetooth -MAC -osoitteen:

sudo bluetoothctl

Vaihe 17:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Jotta Darkice voisi käyttää Bluetooth -laitetta PCM -äänitulona, meidän on luotava tiedosto "etc" -kansioon nimeltä "asound.conf" (etc/asound.conf). Napsauta tiedostonhallinnan ylöspäin osoittavaa nuolta pari kertaa päästäksesi juurihakemistoon ja kaksoisnapsauta sitten "etc" -kansiota avataksesi sen. Vieritä alas ja napsauta OIKEALLA tyhjää tilaa ja luo tyhjä tiedosto nimeltä "asound.conf" ja kopioi ja liitä alla olevat rivit laitteesi MAC-osoitteella, joka on korvattu tietysti omalla ja tallenna.

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

Vaihe 18:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Raspberry Pi: n WiFi- ja Bluetooth -radiot ovat samalla sirulla, joten jos maksimoit molempien kaistanleveyden, Bluetooth -ääni voi änkyttää tai jäädyttää. Jotkut kutsuvat sitä vikaksi ja toiset sanovat, että se on vain laitteistorajoitus. Aiomme muuttaa asetusta, joka korjaa tämän. Tämän korjauksen julkaisemisen kunnia on "pelwell" osoitteessa https://github.com/raspberrypi/linux/issues/1402 Suorita sudo pcmanfm uudelleen, jos haluat avata tiedostonhallinnan ja selata/lib/firmware/brcm. Avaa tekstitiedosto "brcmfmac43430-sdio.txt" kaksoisnapsauttamalla sitä ja lisää nämä rivit alareunaan ja tallenna.

# Kokeelliset Bluetooth -rinnakkaiselon parametrit Cypressbtc_mode = 1 btc_params8 = 0x4e20 btc_params1 = 0x7530

Vaihe 19:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Napsauta GUI -valikkokuvaketta ja valitse Sammuta ja käynnistä uudelleen. Jos olet noudattanut kaikkia näitä vaiheita tarkasti, Bluetooth -äänipalvelimesi käynnistyy automaattisesti 30 sekunnista minuuttiin uudelleenkäynnistyksen napsautuksen jälkeen. ENNEN kuin voit lisätä sen Sonosiin, sinun on yhdistettävä puhelimesi Bluetooth Pi -laitteeseen (napauttamalla sitä puhelimen Bluetooth -asetuksissa, koska se on jo pariliitetty) ja aloitettava jonkinlaisen äänen toistaminen ja nostettava äänenvoimakkuutta. Muista, ettet kuule ääntä puhelimesi kaiuttimesta, koska se luulee, että se on liitetty ulkoiseen Bluetooth -kaiuttimeen. Yksi visuaalinen tapa kertoa, vastaanottaako Icecast Bluetooth -ääntä Darkicelta, on avata https://192.168.86.107:8000 verkkoselaimessa, jolloin Pi: n IP -osoite korvataan minun. Icecast on aina käynnissä, joten näet aina tilasivun, mutta jos Darkice vastaanottaa myös Bluetooth -ääntä, näet myös kiinnityspisteen ja virran kuvaajan. Irrota Bluetooth ja päivitä sivu, niin se tyhjenee jälleen.

Vaihe 20:

Kuva
Kuva
Kuva
Kuva

Sinun on käytettävä Sonos -työpöytäohjainsovellusta lisätäksesi mukautetun virran Sonosiin. Napsauta Hallitse> Lisää radioasema ja kirjoita streamin URL -osoite, joka minun tapauksessani oli "https://192.168.86.107:8000/rapi.mp3". Kirjoita myös aseman nimi ja napsauta OK.

Vaihe 21:

Kuva
Kuva

Jos haluat toistaa juuri lisäämäämme mukautettua radioasemaa, valitse "Radio by Tunein" ja sitten "My Radio Stations". Toista VASEMMALLA kaksoisnapsautuksella tai muokkaa tai lisää asema Sonos-suosikkeihisi OIKEALLA napsautuksella.

Vaihe 22:

Kuva
Kuva
Kuva
Kuva

Kun olet lisännyt mukautetun radioaseman, se on heti käytettävissä Sonos -sovelluksessasi. Avaa sovellus, napauta "My Sonos" alareunasta, vieritä kohtaan "Asemat" ja napauta "Näytä kaikki". Vieritä alaspäin, kunnes näet juuri luodun aseman. Napauta sitä ja se alkaa toistaa valitsemissasi huoneissa. Muista, ̶ Jos irrotat Bluetooth-PI: Sitten Icecast Stream ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ Jos kytket äänisovelluksia se voi ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ aloittaa uudelleen kuuntelee Sonosin ̶y̶o̶u̶'̶l̶l̶ tarvitse käynnistää toistaa ääntä jälleen puhelimessa ja työnnä pelata ̶T̶h̶e̶ ̶S̶o̶n̶o̶s̶ ̶a̶p̶p̶ ̶a̶g̶a̶i̶n̶.̶ <--- Tämä on korjattu; katso päivitys alta. Onnea ja kiitos lukemisesta!

Vaihe 23: PÄIVITTÄMINEN: KIINTEÄ SÄILYTYSVIRTA LIITETTY, KUN BLUETOOTH -YHTEYDET

Joten Bluetooth -suoratoisto toimi täydellisesti tämän asennuksen kanssa PAITSI Sonos katkaisi yhteyden Icecast -palvelimelle aina, kun Darkice katkaisi Bluetooth -äänen, kuten silloin, kun vaihdoit äänisovelluksia tai katkaisit vain Bluetoothin, mikä oli tuskaa, koska sinun pitäisi saada Bluetooth -äänen suoratoisto uudelleen ennen voit jopa painaa Sonos -sovelluksen toistopainiketta. Tästä tuli valtava ongelma, kun yritin suoratoistaa ääntä Sonosiin puhelimeni WatchESPN -sovelluksesta, joka on vain koko näytön kokoinen, joten en voinut painaa Sonos -sovelluksen toistopainiketta Bluetooth -äänen käynnistymisen jälkeen, mutta kun suljin WatchESPN -sovelluksen, Sonos -virta ei käynnistyisi, ellei Bluetooth -ääni olisi alkanut ensin! Huh! Olen vetänyt hiuksiani ulos yrittäen keksiä tyylikkään korjauksen tähän. Kokeilin eri mp3 -kooderia, nimeltään liquidsoap, jolla on mahdollisuus lähettää hiljaista ääntä, kun se katkaisee yhteyden, mutta en saanut sitä toimimaan bluealsan kanssa. Yritin sekoittaa bluealsa -virran toissijaiseen dummy -äänikortin alsa -virtaan käyttämällä dsnoopia ja asymiä yrittääkseen huijata Icecastin ajattelemaan, että äänisignaali on edelleen läsnä, mutta alsa ei todellakaan salli sinun manipuloida Bluetooth -ääntä kovin paljon. Aloin sitten tutkia varakiinnityspistettä käyttäen hiljaista mp3 -tiedostoa Icecastissa, mutta Sonos näki kiinnityspisteen nimen muuttuvan ja katkaisevan yhteyden. Käytin test.mp3 -tiedostoa ja nimitin sen vahingossa pääkiinnityspisteen nimeksi kerran varavaihtoehdon sijasta ja huomasin, että Sonos siirtyi yksinkertaisesti toistamaan kyseistä tiedostoa, kun se irrotettiin Bluetooth -"rapi.mp3" -virrasta. Eureka! Se ei automaattisesti palaisi takaisin Bluetooth -virtaan, kun se tuli jälleen saataville, joten sain miettimään, miksi ei vain käytettäisi samaa kiinnityspisteen nimeä? Sinun on siis luotava hiljainen mp3 -tiedosto ja annettava sille sama nimi kuin Darkice -mp3 -streamilla "rapi.mp3" ja koodattava se Icecast2 -kokoonpanotiedoston pääkiinnityspisteeksi. Mitä tapahtuu, on se, että aina kun Sonos menettää yhteyden Darkice/bluetooth rapi.mp3 -virtaan, se vain alkaa silmukoida toista hiljaista rapi.mp3 -tiedostoa, kunnes bluetooth -virta tulee takaisin verkkoon. Näin sinun ei tarvitse käyttää Bluetooth -ääntä ennen kuin aloitat pelaamisen Sonosissa. Näin se tehdään…

Vaihe 24:

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Ensin meidän on asennettava ffmpeg hiljaisen mp3 -tiedoston luomiseksi. Voit tallentaa hiljaisen.wav -tiedoston ulkoiselta äänikortilta ja muuntaa sen mp3 -muotoon rampaksi, mutta koska minulla ei ole ulkoista äänikorttituloa tälle projektille, ffmpeg oli helpoin ratkaisu. Avaa pääteikkuna ja kirjoita "sudo apt-get install ffmpeg" ja paina Enter:

sudo apt-get install ffmpeg

Kun se on asennettu, kopioi ja liitä tämä pitkä rivi koodataksesi hiljaisen mp3 -tiedoston, joka kestää vain yhden sekunnin:

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

Avaa Tiedostonhallinta pääkäyttäjänä "sudo pcmanfm" -toiminnolla ja siirry kohtaan "/etc/icecast2". Napsauta hiiren kakkospainikkeella "icecast.xml" ja avaa Leafpadilla ja liitä nämä rivit "" ylärivin alle:

/rapi.mp3

Tallenna ja käynnistä uudelleen ja sinun pitäisi nyt pystyä käynnistämään mukautettu Sonos -Bluetooth -asema ennen kuin olet edes yhdistänyt puhelimesi Bluetoothiin!

Vaihe 25: Lisäys

Lisäys
Lisäys
Lisäys
Lisäys
Lisäys
Lisäys
Lisäys
Lisäys

Halusin, että Raspberry Pi ja 110 V AC-5 V DC -virtalähde ovat itsenäisiä yhdessä kotelossa, jotta voisin helposti siirtää sen ympäri taloa, mutta olin yllättynyt, että tällaista koteloa ei ole. Voin tulostaa 3D-kuvan myöhemmin, mutta tällä välin vaihdoin toisen Raspberry Pi -kotelon käyttöön ja löysin ohuen USB-seinälaturin ja lyhyen kaapelin. Laturissa oli kumipinnoite, johon en saanut kirkasta VHB -nauhaa kiinni, mutta kävi ilmi, että se oli helposti irrotettava tarra; Tämä kuitenkin loi pienen syvennyksen, joka teki VHB -nauhasta liian ohuen, joten käytin tarranauhaa.

Suositeltava: