Cuprins:

Redați Bluetooth pe Sonos folosind Raspberry Pi: 25 de pași
Redați Bluetooth pe Sonos folosind Raspberry Pi: 25 de pași

Video: Redați Bluetooth pe Sonos folosind Raspberry Pi: 25 de pași

Video: Redați Bluetooth pe Sonos folosind Raspberry Pi: 25 de pași
Video: Cum să asociați Sonos Roam cu un dispozitiv Bluetooth 2024, Iulie
Anonim
Image
Image
Redați Bluetooth pe Sonos folosind Raspberry Pi
Redați Bluetooth pe Sonos folosind Raspberry Pi

Am scris anterior o instrucțiune care descrie cum să adăugați o linie auxiliară sau analogică la Sonos folosind un Raspberry Pi. Un cititor a întrebat dacă va fi posibil să transmiteți în flux audio Bluetooth de pe telefonul său către Sonos. Este ușor să faceți acest lucru folosind un dongle bluetooth conectat la linia de intrare a Sonos Play: 5 sau Sonos CONNECT; totuși, pierdeți fidelitatea convertind bluetooth (digital) în analog, apoi înapoi în digital și dacă dețineți doar unul dintre difuzoarele Sonos mai puțin costisitoare, atunci aceasta nu este o opțiune. Această instrucțiune descrie cum să configurați un Raspberry Pi pentru a transmite audio Bluetooth către orice difuzor Sonos.

NOTĂ: Rețineți că vom transmite audio bluetooth către Raspberry Pi și îl vom converti într-un flux mp3 înainte de al trimite la Sonos, astfel încât va exista o întârziere de câteva secunde. Dacă îl utilizați pentru a viziona un videoclip, sunetul nu va fi sincronizat.

Pasul 1:

Ce vei avea nevoie:

Raspberry PI 3 Model B (este disponibil un model B + mai nou, mai rapid, dar am rămas cu modelul obișnuit B, deoarece am citit despre unele probleme cu blocarea B + și, de asemenea, radiourile WiFi și bluetooth ale B + au ecranare metalică în jurul lor conform cu FCC atunci când sunt instalat în alt dispozitiv, dar am vrut o rază maximă de bluetooth și mi-a fost teamă că ecranarea nu ar putea să o împiedice)

Un computer desktop sau laptop cu cititor de carduri microSD

Monitor sau televizor cu intrare HDMI (numai pentru configurarea inițială)

Tastatură și mouse USB sau Bluetooth (numai pentru configurare inițială)

Carcasă din plastic Raspberry Pi (folosesc o carcasă din plastic pentru acest proiect pentru a maximiza gama bluetooth)

Card de memorie flash Kingston de 8 GB microSDHC Clasa 4

Alimentare 5V

Pasul 2:

Imagine
Imagine
Imagine
Imagine

Navigați la https://www.raspberrypi.org/downloads/raspbian/ pe computerul obișnuit și descărcați „RASPBIAN STRETCH WITH DESKTOP”.

De asemenea, accesați https://etcher.io/ și descărcați Etcher și instalați-l.

NOTĂ: În instrucțiunile mele anterioare am descris cum se descarcă NOOBS pentru a instala Raspbian; cu toate acestea, această metodă este puțin mai rapidă. Ambele sunt ok.

Pasul 3:

Imagine
Imagine
Imagine
Imagine

Rulați Etcher și faceți clic pe Selectare imagine și navigați la fișierul zip. Faceți clic pe Selectare unitate și navigați la cardul microSD, apoi faceți clic pe Flash!

Pasul 4:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

NOTĂ: Unii dintre acești pași următori sunt similari cu instrucțiunile mele anterioare, așa că treceți înainte dacă aveți deja parola root, IP static și VNC configurate.

Introduceți cardul microSD în slotul cardului SD de pe partea inferioară a Raspberry Pi. Conectați un cablu HDMI de la Raspberry Pi la monitor sau televizor. Conectați tastatura USB, mouse-ul și, în cele din urmă, cablul de alimentare Micro USB. După pornire, va apărea desktopul Raspbian. Vă va conduce prin mai multe setări, dar aș recomanda să nu verificați actualizările. Faceți clic pe Omite. Am continuat să primesc o eroare „blueman.bluez.errors. DBusFailedError: Protocolul nu este disponibil” atunci când încercam să asociez Bluetooth după instalarea tuturor actualizărilor, așa că a trebuit să o iau de la capăt.

SFAT: Dacă nu doriți timpul militar faceți clic dreapta pe ceas și selectați Setări ceas digital și schimbați formatul ceasului de la% R la% r

Pasul 5:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

În continuare vom activa serverul VNC încorporat. Acest lucru face lucrurile mult mai ușoare, deoarece puteți copia și insera comenzi prin VNC, mai degrabă decât să le tastați. Selectați Meniu GUI> Preferințe> Configurare Raspberry Pi> Interfețe. Faceți clic pe Activat lângă VNC și apoi pe OK. După câteva secunde va apărea o pictogramă VNC pe bara de activități. Faceți clic pe acesta și apoi pe pictograma meniu din dreapta sus (casetă cu 3 linii orizontale) și apoi Opțiuni. În opțiunile de securitate setați Criptare la „Prefer dezactivat” și Autentificare ca „Parolă VNC”, apoi faceți clic pe Aplicare. Va apărea o casetă de parolă. Introduceți „zmeură” (fără ghilimele) pentru parolă în fiecare casetă și faceți clic pe OK.

Pasul 6:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Înainte de a merge mai departe, trebuie să atribuim o adresă IP statică. Dacă adresa IP a Pi-ului dvs. este alocată aleatoriu de serverul DHCP al routerului dvs., atunci adresa IP s-ar putea schimba ulterior și nu vă veți putea conecta prin VNC (sau Sonos de altfel). Faceți clic dreapta pe pictograma conexiunilor de rețea de pe bara de activități (mica pictogramă săgeată sus și jos) și selectați „Setări rețea fără fir și prin cablu”. Faceți clic stânga pe caseta din dreapta sus și selectați „eth0” pentru a configura conexiunea ethernet sau „wlan0” pentru wireless. Aș sfătui să atribuiți un IP static numai unuia sau altuia. Am avut o problemă când mi-am configurat prima dată Pi-ul, unde am atribuit aceeași adresă IP statică ambelor conexiuni și wireless-ul Pi-ului meu a fost blocat și nu am putut să-l fac să funcționeze corect, așa că a trebuit să încep din nou instalarea sistemului de operare. Oricum, introduceți adresa IP dorită în câmpul Adresă IP și introduceți adresa IP a routerului atât în câmpul Router, cât și în serverele DNS. Faceți clic pe Aplicare și Închidere.

NOTĂ: Poate fi mai ușor să atribuiți o adresă IP statică utilizând caracteristica de rezervare IP DHCP a routerului, dacă aceasta are. Este posibil să aveți nevoie de adresa MAC a dispozitivului Pi sau poate apărea într-o listă de dispozitive conectate de pe pagina de administrator a routerului. Dacă aveți nevoie de adresa MAC, tastați comanda „ifconfig eth0” în fereastra terminalului pentru Ethernet sau „ifconfig wlan0” pentru WiFi. Destul de interesant, adresa MAC WiFi va apărea pe linia care începe cu „eter”

Pasul 7:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Apoi trebuie să setăm rezoluția implicită a ecranului. Acest lucru poate părea o prostie, văzând cum suntem deja conectați la un monitor, dar mai târziu, când vă conectați prin VNC fără un monitor atașat (fără cap, așa cum se spune), va reveni la rezoluția implicită 640x480 a lui Pi, care este un ecran foarte mic pentru lucreaza cu! Selectați Meniu GUI> Preferințe> Configurare Raspberry Pi> Setați rezoluția. Setați-l la 1280x720 sau mai mare și faceți clic pe OK și Da pentru a reporni.

Pasul 8:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Poate doriți să schimbați numele Pi-ului dvs., mai ales dacă aveți mai multe rețele. Am redenumit-o pe a mea „BluetoothPi” pentru a o face ușor de identificat. Vă va cere să reporniți după ce ați redenumit-o.

Pasul 9:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

În acest moment, poate doriți să începeți să utilizați VNC pentru a controla Pi. Deschideți din nou panoul de control VNC de pe desktopul Raspbian și căutați adresa IP sub „Conectivitate”. Instalați și rulați un vizualizator VNC pe computerul dvs. obișnuit și utilizați acea adresă IP pentru a vă conecta și introduceți „zmeură” (fără ghilimele) ca parolă. Am folosit TightVNC pentru Windows. După ce v-ați conectat, puteți salva conexiunea VNC a Pi ca o comandă rapidă pe desktop pentru a vă conecta rapid în viitor, ocolind ecranul de conectare. Veți primi un avertisment cu privire la salvarea parolei în cadrul comenzii rapide. Pentru a copia și lipi în fereastra terminalului Pi, selectați sau evidențiați textul sau comenzile de pe computerul obișnuit, apăsați Ctrl-C (apăsați literalmente tastele Ctrl și C de pe tastatură în același timp) sau faceți clic dreapta și selectați „Copiere” , apoi activați fereastra de vizualizare VNC a Pi și faceți clic dreapta în fereastra terminalului chiar pe cursor și selectați Lipire.

Pasul 10:

Imagine
Imagine
Imagine
Imagine

În continuare vom instala două programe, Darkice și Icecast2. Darkice este ceea ce va codifica sursa noastră audio Bluetooth într-un flux mp3 și Icecast2 este ceea ce îl va servi Sonos ca un flux Shoutcast. Copiați și lipiți fiecare dintre aceste linii în fereastra terminalului unul câte unul urmată de tasta Enter de fiecare dată:

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

Pasul 11:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Acum, pentru a instala Icecast2. Tastați „sudo apt-get install icecast2” urmat de enter. După instalare, va apărea o fereastră care vă va întreba dacă doriți să configurați Icecast2. Apăsați tasta săgeată stânga și introduceți pentru a selecta Da. Pe al doilea ecran apăsați tasta săgeată în jos și introduceți pentru a selecta OK pentru a utiliza numele de gazdă implicit „localhost”. În următoarele trei ecrane apăsați săgeata în jos și introduceți tasta pentru a accepta să utilizați „hackme” ca sursă implicită, releu și parolă de administrare. Chiar dacă suntem de acord cu toate setările implicite, acești pași trebuie parcurși pentru a activa serverul Icecast2.

sudo apt-get install icecast2

Pasul 12:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Apoi, trebuie să rulăm managerul de fișiere GUI ca utilizator root. Pentru aceasta, selectați Meniu GUI> Executare. Tastați „sudo pcmanfm” și apăsați Enter. Aceasta va deschide managerul de fișiere (echivalentul exploratorului de fișiere pentru utilizatorii de Windows) în directorul de start (/ home / pi) și veți vedea fișierul de instalare rămas pe care l-am descărcat anterior. Faceți clic dreapta într-un spațiu gol și selectați Creați fișier nou și apoi gol. Denumiți-l „darkice.cfg” și faceți clic pe OK. Apoi faceți clic dreapta pe fișierul nou creat și alegeți să-l deschideți cu Leafpad (echivalentul notepad-ului Windows). Copiați liniile de mai jos și lipiți-le în Leafpad, apoi faceți clic pe Fișier și Salvați. Veți observa că linia „calitate” este comentată cu un # în față. Se folosește numai dacă setați „bitrateMode = vbr” (bitrate variabil). Nu puteți avea o valoare de calitate setată atunci când utilizați cbr (bitrate constant) sau fluxul va bâlbâi și va sări. Dimpotrivă, dacă decideți să utilizați vbr, atunci trebuie să comentați linia „bitrate = 160” și să decomentați linia „calitate”.

NOTĂ: Cel mai bun bitrate mp3 pe care îl puteți avea este de 320 kbps; cu toate acestea, atât radiourile WiFi, cât și cele Bluetooth de pe Raspberry Pi sunt pe același cip, așa că, dacă maximizați lățimea de bandă a ambelor, sunetul bluetooth se poate bâlbâi sau îngheța. Vom schimba mai târziu o setare care va remedia acest lucru, însă limitează lățimea de bandă WiFi oarecum, așa că am redus rata de biți audio pentru acest proiect la 160 kbps, deoarece intenționez să o păstrez exclusiv pe WiFi. Dacă utilizați Ethernet, nu este o problemă și puteți seta în siguranță rata de biți la 320 kbps.

[general] durata = 0 # durata în s, 0 pentru totdeauna bufferSecs = 1 # buffer, în secunde reconectare = da # reconectare dacă este deconectat

[intrare]

dispozitiv = telefon # numele dispozitivului Bluetooth sampleRate = 44100 # rate de eșantionare 11025, 22050 sau 44100 biți PerSample = 16 # biți canal = 2 # 2 = stereo

[icecast2-0]

bitrateMode = cbr # rata de biți constantă (constantă „cbr”, medie „abr”) # calitate = 1.0 # 1.0 este cea mai bună calitate (utilizați numai cu vbr) format = format mp3 #. Alegeți „vorbis” pentru OGG Vorbis bitrate = 160 # bitrate server = localhost # sau port IP = 8000 # port for IceCast2 access password = hackme # source source for the IceCast2 server mountPoint = rapi.mp3 # mount point on the IceCast2 server.mp3 sau.ogg name = BluetoothPi

Pasul 13:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

În continuare, trebuie să urmăm aceiași pași ca înainte pentru a crea un fișier gol numit „darkice.sh”. Un fișier.sh este echivalentul unui fișier.bat sau batch pentru DOS sau Windows. Deschideți folosind Leafpad, copiați și lipiți liniile de mai jos și salvați. Dacă mi-ați urmat instrucțiunile anterioare, veți observa că linia care începe Darkice arată puțin diferită. A trebuit să încorporez codul într-o buclă, deoarece ori de câte ori Darkice pierde semnalul audio bluetooth, acesta se va opri din funcționare și nu va reporni automat chiar și atunci când sunetul este repornit. Am cercetat foarte mult această problemă și, deși există modalități complicate de a rula automat un script ori de câte ori este conectat un dispozitiv Bluetooth, Darkice se va opri uneori ori de câte ori se pierde semnalul audio chiar dacă dispozitivul Bluetooth este încă conectat (de exemplu, dacă închideți YouTube-ul) aplicația de pe telefon), deci acesta este cel mai simplu și mai fiabil mod de a vă asigura că Darkice rulează ori de câte ori este prezent un sunet bluetooth. Dacă Darkice rulează deja, comanda este ignorată.

#! / bin / bashwhile:; faceți sudo / usr / bin / darkice -c /home/pi/darkice.cfg; dorm 5; Terminat

Pasul 14:

Imagine
Imagine

Apoi, trebuie să executăm o comandă pentru a face fișierul darkice.sh executabil. Deschideți fereastra terminalului și tastați „sudo chmod 777 /home/pi/darkice.sh” și apăsați Enter. Acum este timpul să porniți serviciul server Icecast2. Tastați „sudo service icecast2 start” și apăsați Enter.

sudo chmod 777 /home/pi/darkice.sh

sudo service icecast2 start

Pasul 15:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

În continuare, trebuie să-i spunem lui Darkice să pornească automat ori de câte ori este pornit Pi (serverul Icecast2 rulează ca serviciu și pornește deja automat după pornire). Mai întâi trebuie să selectăm ce editor de text să utilizăm. În fereastra terminalului tastați „select-editor” și apăsați Enter. Tastați „2” pentru a selecta editorul nano și apăsați Enter. Apoi tastați „crontab -e” și introduceți. Apoi țineți apăsată tasta săgeată în jos pentru a derula până la capătul fișierului text care apare și adăugați această linie „@reboot sleep 10 && sudo /home/pi/darkice.sh”. Apoi apăsați Ctrl-X pentru a ieși și va solicita „Salvați bufferul modificat?”. Apăsați tasta Y pentru Da, apoi Enter pentru a confirma orice nume de fișier este generat automat.

select-editor

crontab -e

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

Pasul 16:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Asociați telefonul cu Raspberry Pi utilizând pictograma bluetooth de pe desktop. Este important să puneți bluetooth-ul Pi în modul descoperire și apoi să îl împerecheați de pe telefon. Dacă puneți telefonul în modul descoperire și încercați să-l împerecheați din PI, atunci acesta se poate conecta, dar vă va da o eroare spunând că nu există servicii pe telefonul pe care Pi le poate utiliza, ceea ce este adevărat. Încercăm să trimitem audio către Pi, nu invers. După ce este asociat, rulați această comandă în fereastra terminalului pentru a dezvălui adresa MAC Bluetooth a dispozitivului conectat:

sudo bluetoothctl

Pasul 17:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Pentru ca Darkice să poată utiliza dispozitivul Bluetooth ca intrare audio PCM, trebuie să creăm un fișier în folderul „etc” numit „asound.conf” (etc / asound.conf). Faceți clic pe săgeata în sus de pe managerul de fișiere de câteva ori pentru a merge în directorul rădăcină și apoi faceți dublu clic pe folderul „etc” pentru a-l deschide. Derulați în jos și faceți clic dreapta într-un spațiu gol și creați un fișier gol numit "asound.conf" și copiați și lipiți liniile de mai jos cu adresa MAC a dispozitivului dvs. înlocuită cu a mea, desigur și salvați.

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

Pasul 18:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Atât radiourile WiFi, cât și cele Bluetooth de pe Raspberry Pi sunt pe același cip, așa că, dacă maximizați lățimea de bandă a ambelor, sunetul bluetooth se poate bâlbâi sau îngheța. Unii îl numesc bug și alții spun că este doar o limitare hardware. Vom schimba un cadru care va remedia acest lucru. Creditul pentru postarea acestei corecții revine la „pelwell” la https://github.com/raspberrypi/linux/issues/1402 Rulați din nou sudo pcmanfm pentru a deschide managerul de fișiere și navigați la / lib / firmware / brcm. Faceți dublu clic pe fișierul text „brcmfmac43430-sdio.txt” pentru a-l deschide și a adăuga aceste linii în partea de jos și a salva.

# Parametri experimentali de coexistență Bluetooth din Cypressbtc_mode = 1 btc_params8 = 0x4e20 btc_params1 = 0x7530

Pasul 19:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Faceți clic pe pictograma meniului GUI și selectați Închidere și repornire. Dacă ați urmat toți acești pași cu precizie, serverul dvs. audio bluetooth va porni automat oriunde de la 30 de secunde la un minut după ce ați făcut clic pe repornire. ÎNAINTE să-l puteți adăuga la Sonos, trebuie să conectați bluetooth-ul telefonului la Pi (pur și simplu atingeți-l în setările Bluetooth ale telefonului, deoarece este deja asociat) și începeți să redați un fel de sunet și să măriți volumul. Amintiți-vă că nu veți auzi niciun sunet provenind de la difuzorul telefonului dvs., deoarece crede că este conectat la un difuzor Bluetooth extern. O modalitate vizuală de a afla dacă Icecast primește sunet bluetooth de la Darkice este de a deschide https://192.168.86.107:8000 într-un browser web cu adresa IP a Pi-ului înlocuită cu a mea. Icecastul rulează întotdeauna, deci veți vedea întotdeauna pagina de stare, dar dacă Darkice primește și sunet bluetooth, veți vedea și punctul de montare și descriptorul fluxului. Deconectați-vă Bluetooth-ul și reîmprospătați pagina și va rămâne necompletată.

Pasul 20:

Imagine
Imagine
Imagine
Imagine

Trebuie să utilizați aplicația Sonos desktop controller pentru a adăuga un flux personalizat la Sonos. Faceți clic pe Gestionați> Adăugați o stație de radio și introduceți adresa URL pentru flux care în cazul meu a fost „https://192.168.86.107:8000/rapi.mp3”. De asemenea, introduceți un nume de stație și faceți clic pe OK.

Pasul 21:

Imagine
Imagine

Pentru a reda postul de radio personalizat pe care tocmai l-am adăugat, selectați „Radio by Tunein” și apoi „My Radio Stations”. Faceți dublu clic stânga pentru a reda sau faceți clic dreapta pentru a edita sau adăuga stația la preferințele dvs. Sonos.

Pasul 22:

Imagine
Imagine
Imagine
Imagine

După adăugarea postului de radio personalizat, acesta va fi disponibil imediat în aplicația dvs. Sonos. Deschideți aplicația, atingeți „Sonos-ul meu” în partea de jos, derulați în jos la „Stații” și atingeți „Vedeți toate”. Derulați în jos până când vedeți postul nou creat. Atingeți-l și va începe să se joace în camerele selectate. Nu uitați, ̶ Dacă deconectați Bluetooth de pe pI interceptează Icecast Stream ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ cazul comut Aplicații audio-ar putea ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ PUTEȚI RELUA Sonos care ascultă veți avea să fie necesară repornirea Audio de pe telefonul AGAIN sileau continue jocul ̶T̶h̶e̶ ̶S̶o̶n̶o̶s̶ ̶a̶p̶p̶ ̶a̶g̶a̶i̶n̶.̶ <--- Acest lucru a fost remediat; vezi actualizarea de mai jos. Mult succes și mulțumesc pentru lectură!

Pasul 23: ACTUALIZARE: STREAM DE PĂSTRARE FIX CONECTAT CÂND BLUETOOTH SE DECONECTA

Deci, streamingul bluetooth funcționa perfect cu această configurare EXCEPȚIE Sonos s-ar deconecta de la serverul Icecast ori de câte ori Darkice a pierdut sunetul bluetooth, cum ar fi când ați schimbat aplicațiile audio sau pur și simplu pur și simplu ați deconectat bluetooth, ceea ce a fost dureros, deoarece ar trebui să obțineți din nou streaming audio bluetooth înainte ai putea apăsa chiar butonul de redare din aplicația Sonos. Aceasta a devenit o problemă uriașă atunci când încercam să transmit audio către Sonos din aplicația WatchESPN a telefonului meu, care este doar pe ecran complet, astfel încât nu am putut apăsa butonul de redare din aplicația Sonos după ce am pornit audio Bluetooth, dar când am închis aplicația WatchESPN, Fluxul Sonos nu va porni decât dacă ați fi pornit primul audio Bluetooth! Uf! Mi-am scos părul încercând să găsesc o soluție elegantă pentru asta. Am încercat un alt codificator mp3 numit liquidsoap, care are opțiunea de a trimite sunet silențios când pierde conexiunea, dar nu am reușit să funcționeze cu bluealsa. Am încercat să amestec fluxul bluealsa cu o placă de sunet secundară alsa stream folosind dsnoop și asym pentru a încerca să păcălesc Icecastul să creadă că există încă un semnal audio prezent, dar alsa într-adevăr nu vă permite să manipulați foarte mult sunetul bluetooth. Apoi am început să investighez folosind un punct de montare de rezervă folosind un fișier mp3 silențios în Icecast, dar Sonos ar vedea schimbarea și deconectarea numelui punctului de montare. Foloseam un fișier test.mp3 și l-am desemnat accidental drept numele principal al punctului de montare o dată în loc de cel alternativ și am observat că Sonos pur și simplu a trecut la redarea acelui fișier când a fost deconectat de la fluxul bluetooth "rapi.mp3". Eureka! Nu ar reveni automat la fluxul bluetooth când va fi disponibil din nou, astfel încât m-am determinat să mă gândesc de ce să nu folosesc același nume de punct de montare? Deci, ceea ce trebuie să faceți este să creați un fișier mp3 silențios și să-i dați același nume ca fluxul mp3 Darkice, „rapi.mp3”, și să-l codificați ca punct principal de montare în fișierul de configurare Icecast2. Ceea ce se întâmplă este că, de fiecare dată când Sonos pierde conexiunea la fluxul Darkice / bluetooth rapi.mp3, acesta începe doar să bucle celălalt fișier silențios rapi.mp3 până când fluxul bluetooth revine online. În acest fel nu trebuie să aveți sunetul bluetooth înainte de a juca în Sonos. Iată cum să o faci …

Pasul 24:

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Mai întâi trebuie să instalăm ffmpeg pentru a crea un fișier mp3 silențios. Puteți înregistra un fișier.wav silențios de pe o placă de sunet externă și puteți converti în mp3 folosind lame, dar din moment ce nu am o intrare de placă de sunet externă pentru acest proiect, utilizarea ffmpeg a fost cea mai ușoară soluție. Deschideți fereastra terminalului și tastați „sudo apt-get install ffmpeg” și apăsați Enter:

sudo apt-get install ffmpeg

După instalare, copiați și lipiți acest rând lung pentru a codifica un fișier mp3 silențios, cu o durată de doar o secundă:

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

Deschideți File Manager ca root folosind „sudo pcmanfm” și navigați la „/ etc / icecast2”. Faceți clic dreapta pe „icecast.xml” și deschideți folosind Leafpad și lipiți aceste linii chiar sub linia „” de sus:

/rapi.mp3

Salvați și reporniți și ar trebui să puteți începe stația Bluetooth personalizată Sonos înainte de a vă conecta chiar telefonul la bluetooth!

Pasul 25: addendum

Addendum
Addendum
Addendum
Addendum
Addendum
Addendum
Addendum
Addendum

Am vrut ca sursa de alimentare Raspberry Pi și 110V AC la 5V DC să fie autonomă într-o singură carcasă, astfel încât să o pot muta cu ușurință prin casă, dar am fost surprins să constat că un astfel de caz nu există. S-ar putea să printez 3D mai târziu, dar între timp am trecut la utilizarea unei carcase Raspberry Pi diferite și am găsit un încărcător subțire de perete USB și un cablu scurt. Încărcătorul avea o acoperire cauciucată pe care nu puteam obține o bandă VHB clară pe care să o lipesc, dar sa dovedit că era un autocolant ușor de îndepărtat; totuși, asta a creat o mică adâncitură care a făcut ca banda VHB să fie prea subțire, așa că am folosit velcro.

Recomandat: