Taula de continguts:

Reprodueix Bluetooth a Sonos mitjançant Raspberry Pi: 25 passos
Reprodueix Bluetooth a Sonos mitjançant Raspberry Pi: 25 passos

Vídeo: Reprodueix Bluetooth a Sonos mitjançant Raspberry Pi: 25 passos

Vídeo: Reprodueix Bluetooth a Sonos mitjançant Raspberry Pi: 25 passos
Vídeo: Samsung Flip 2 с дублированием экрана Apple / iOS-вот как это рабо... 2024, Desembre
Anonim
Image
Image
Reprodueix Bluetooth a Sonos mitjançant Raspberry Pi
Reprodueix Bluetooth a Sonos mitjançant Raspberry Pi

Anteriorment vaig escriure una instrucció que descrivia com afegir una línia auxiliar o analògica a Sonos mitjançant un Raspberry Pi. Un lector va preguntar si seria possible transmetre àudio bluetooth des del seu telèfon a Sonos. És fàcil fer-ho mitjançant un dongle bluetooth connectat a la línia de connexió del més car Sonos Play: 5 o Sonos CONNECT; tanmateix, perdeu la fidelitat convertint el bluetooth (digital) a analògic i després torneu a digital i si només teniu un dels altaveus Sonos menys costosos, aquesta no és una opció. Aquesta instrucció descriu com configurar un Raspberry Pi per transmetre àudio bluetooth a qualsevol altaveu de Sonos.

NOTA: Recordeu que transmetrem àudio bluetooth al Raspberry Pi i el convertirem en un flux mp3 abans d’enviar-lo a Sonos, de manera que es produirà un retard d’un parell de segons. Si el feu servir per veure un vídeo, l'àudio no estarà sincronitzat.

Pas 1:

Què necessiteu:

Raspberry PI 3 Model B (hi ha un model B + més nou i ràpid disponible disponible, però em vaig quedar amb el model B normal perquè he llegit d’alguns problemes amb el bloqueig de B + i, a més, les ràdios wifi i bluetooth de B + tenen blindatge metàl·lic al seu voltant compatibles amb les normes FCC quan s’instal·len dins d’un altre dispositiu, però volia un màxim abast de bluetooth i tenia por que la protecció no pogués dificultar-la)

Un ordinador de sobretaula o portàtil amb un lector de targetes microSD

Monitor o TV amb entrada HDMI (només per a la configuració inicial)

Teclat i ratolí USB o Bluetooth (només per a la configuració inicial)

Funda de plàstic Raspberry Pi (estic fent servir una funda de plàstic per a aquest projecte per maximitzar el rang de bluetooth)

Targetes de memòria flash Kingston de 8 GB microSDHC classe 4

Font d'alimentació de 5V

Pas 2:

Imatge
Imatge
Imatge
Imatge

Aneu a https://www.raspberrypi.org/downloads/raspbian/ al vostre ordinador normal i descarregueu "RASPBIAN STRETCH WITH DESKTOP".

Aneu també a https://etcher.io/ i descarregueu Etcher i instal·leu-lo.

NOTA: En el meu instructable anterior vaig descriure com descarregar NOOBS per instal·lar Raspbian; no obstant això, aquest mètode és una mica més ràpid. De totes maneres, està bé.

Pas 3:

Imatge
Imatge
Imatge
Imatge

Executeu Etcher i feu clic a Selecciona imatge i navegueu fins al fitxer zip. Feu clic a Selecciona unitat i aneu a la targeta microSD i feu clic a Flash.

Pas 4:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

NOTA: Alguns d'aquests passos següents són similars a la meva instrucció anterior, així que si no teniu la contrasenya root, la IP estàtica i el VNC configurats, aneu-hi endavant.

Introduïu la targeta microSD a la ranura de la targeta SD a la part inferior del Raspberry Pi. Connecteu un cable HDMI des del Raspberry Pi al monitor o al televisor. Connecteu el teclat USB, el ratolí i, finalment, el cable d'alimentació Micro USB. Després de l'arrencada, apareixerà l'escriptori Raspbian. Us guiarà per diversos paràmetres, però recomanaria NO comprovar si hi ha actualitzacions. Feu clic a Omet. He seguit obtenint un error "blueman.bluez.errors. DBusFailedError: protocol no disponible" en intentar emparellar el bluetooth després d'instal·lar totes les actualitzacions, de manera que vaig haver de començar de nou.

SUGGERIMENT: Si no voleu l’hora militar Feu clic amb el botó dret al rellotge i seleccioneu Configuració del rellotge digital i canvieu el format del rellotge de% R a% r

Pas 5:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

A continuació, habilitarem el servidor VNC integrat. Això fa que les coses siguin molt més fàcils, ja que podeu copiar i enganxar ordres mitjançant VNC en lloc d’escriure-les. Seleccioneu Menú GUI> Preferències> Configuració de Raspberry Pi> Interfícies. Feu clic a Habilitat al costat de VNC i, a continuació, a D'acord. Al cap d’uns segons apareixerà una icona de VNC a la barra de tasques. Feu-hi clic, a continuació, a la icona de menú a la part superior dreta (quadre amb 3 línies horitzontals) i, a continuació, a Opcions. A les opcions de seguretat, configureu Xifratge a "Preferència desactivada" i Autenticació com a "contrasenya VNC" i feu clic a Aplica. Apareixerà un quadre de contrasenya. Introduïu "raspberry" (sense les cometes) per a la contrasenya a cada quadre i feu clic a D'acord.

Pas 6:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

Abans d’anar més lluny, hem d’assignar una adreça IP estàtica. Si l'adreça IP del vostre Pi és assignada aleatòriament pel servidor DHCP del vostre enrutador, l'adreça IP podria canviar més endavant i no podríeu connectar-vos mitjançant VNC (o Sonos, en aquest cas). Feu clic amb el botó dret a la icona de connexions de xarxa de la barra de tasques (la petita icona de fletxa amunt i avall) i seleccioneu "Configuració de xarxa sense fils i cablejada". Feu clic a l'esquerra a la part superior dreta i seleccioneu "eth0" per configurar la connexió ethernet o "wlan0" per a connexió sense fils. Aconsellaria assignar una IP estàtica a només una o altra. Vaig tenir un problema quan vaig configurar el meu Pi per primera vegada, on vaig assignar la mateixa adreça IP estàtica a les dues connexions i la xarxa sense fil del meu Pi bloquejada i no vaig poder tornar a funcionar correctament, de manera que vaig haver de començar tot instal·lant el sistema operatiu. De totes maneres, introduïu l'adreça IP que vulgueu al camp de l'adreça IP i introduïu l'adreça IP del vostre enrutador al camp Servidors de router i DNS. Feu clic a Aplica i Tanca.

NOTA: Pot ser més fàcil assignar una adreça IP estàtica mitjançant la funció de reserva IP DHCP del vostre enrutador si en té. És possible que necessiteu l'adreça MAC del Pi o que només aparegui a la llista de dispositius connectats de la pàgina d'administrador del vostre enrutador. Si necessiteu l'adreça MAC, escriviu l'ordre "ifconfig eth0" a la finestra del terminal per a Ethernet o "ifconfig wlan0" per a WiFi. Curiosament, l'adreça MAC WiFi apareixerà a la línia que comença per "èter"

Pas 7:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

A continuació, hem d’establir la resolució de pantalla per defecte. Pot semblar una tonteria, ja que ja estem connectats a un monitor, però més endavant, quan us connecteu a través de VNC sense un monitor connectat (sense cap, com es diu), tornarà a la resolució predeterminada de 640x480 del Pi, que és una pantalla molt petita per treballar amb! Seleccioneu Menú GUI> Preferències> Configuració de Raspberry Pi> Establir resolució. Establiu-lo a 1280x720 o superior i feu clic a D'acord i Sí per reiniciar.

Pas 8:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

És possible que vulgueu canviar el nom del vostre Pi, sobretot si en teniu més d’un a la xarxa. He canviat el nom del meu "BluetoothPi" perquè sigui fàcilment identificable. Us demanarà que reinicieu després de canviar el nom.

Pas 9:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

En aquest moment, és possible que vulgueu començar a utilitzar VNC per controlar el Pi. Obriu de nou el tauler de control de VNC a l'escriptori Raspbian i cerqueu l'adreça IP a "Connectivitat". Instal·leu i executeu un visor VNC al vostre ordinador normal i utilitzeu aquesta adreça IP per connectar-vos i introduïu "raspberry" (sense cometes) com a contrasenya. He utilitzat TightVNC per a Windows. Després de connectar-vos, podeu desar la connexió VNC del Pi com a drecera a l'escriptori per connectar-vos ràpidament sense passar per alt la pantalla d'inici de sessió. Rebrà un avís sobre com desar la contrasenya a la drecera. Per copiar i enganxar a la finestra del terminal del Pi, seleccioneu o ressalteu el text o les ordres de l'ordinador normal, premeu Ctrl-C (premeu literalment les tecles Ctrl i C del teclat alhora) o feu clic amb el botó dret i seleccioneu "Copia" ", activeu la finestra del visualitzador VNC del Pi i feu clic amb el botó dret a la finestra del terminal just al cursor i seleccioneu Enganxa.

Pas 10:

Imatge
Imatge
Imatge
Imatge

A continuació, instal·larem dos programes, Darkice i Icecast2. Darkice és el que codificarà la nostra font d’àudio bluetooth en un flux mp3 i Icecast2 és el que el servirà a Sonos com a transmissió Shoutcast. Copieu i enganxeu cadascuna d'aquestes línies a la finestra del terminal una per una seguida de la tecla Retorn cada vegada:

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

Pas 11:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

Ara instal·leu Icecast2. Escriviu "sudo apt-get install icecast2" seguit per enter. Després d'instal·lar-se, apareixerà una finestra que us preguntarà si voleu configurar Icecast2. Prem la tecla de fletxa esquerra i entra per seleccionar Sí. A la segona pantalla, premeu la tecla de fletxa avall i introduïu per seleccionar OK per utilitzar el nom d'amfitrió per defecte "localhost". A les tres pantalles següents, premeu la fletxa avall i introduïu la tecla Enter per acceptar utilitzar "hackme" com a font predeterminada, retransmissió i contrasenya d'administració. Tot i que estem d'acord amb tots els paràmetres predeterminats, cal seguir aquests passos per activar el servidor Icecast2.

sudo apt-get install icecast2

Pas 12:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

A continuació, hem d'executar el gestor de fitxers GUI com a usuari root. Per fer-ho, seleccioneu Menú GUI> Executa. Escriviu "sudo pcmanfm" i premeu Intro. Això obrirà el gestor de fitxers (l’equivalent a l’explorador de fitxers per als usuaris de Windows) al directori inicial (/ home / pi) i veureu el fitxer d’instal·lació de darkice que hem descarregat anteriorment. Feu clic amb el botó dret del ratolí en un espai buit i seleccioneu Crea un nou i, a continuació, buida el fitxer. Anomeneu-lo "darkice.cfg" i feu clic a D'acord. A continuació, feu clic amb el botó dret del ratolí al fitxer de nova creació i trieu obrir-lo amb Leafpad (l'equivalent al bloc de notes de Windows). Copieu les línies següents i enganxeu-les a Leafpad i feu clic a Fitxer i Desa. Notareu que la línia de "qualitat" es comenta amb un # al davant. Només s'utilitza si s'estableix "bitrateMode = vbr" (taxa de bits variable). No podeu establir un valor de qualitat quan utilitzeu cbr (velocitat de bits constant) o el flux es balbuciarà i saltarà. Per contra, si decidiu utilitzar vbr, haureu de comentar la línia "bitrate = 160" i descomentar la línia de "qualitat".

NOTA: la velocitat de bits mp3 de més qualitat que podeu tenir és de 320 kbps; tanmateix, tant les ràdios WiFi com Bluetooth del Raspberry Pi tenen el mateix xip, de manera que si maximitzeu l’amplada de banda de tots dos, l’àudio bluetooth pot tartamudejar o congelar-se. Canviarem una configuració més endavant que solucionarà això, però limita una mica l’amplada de banda del WiFi, de manera que he reduït la velocitat de bits d’àudio d’aquest projecte a 160 kbps, ja que penso mantenir-lo exclusivament en WiFi. Si utilitzeu Ethernet, no és un problema i podeu establir la velocitat de bits amb seguretat a 320 kbps.

[general] durada = 0 # durada en s, 0 per sempre bufferSecs = 1 # memòria intermèdia, en segons reconnectar = sí # tornar a connectar si es desconnecta

[entrada]

dispositiu = telèfon # nom del dispositiu Bluetooth sampleRate = 44100 # freqüència de mostreig 11025, 22050 o 44100 bits PerSample = 16 # canal de bits = 2 # 2 = estèreo

[icecast2-0]

bitrateMode = cbr # taxa de bits constant (constant 'cbr', mitjana 'abr') #quality = 1.0 # 1.0 és la millor qualitat (ús només amb vbr) format = format mp3 #. Trieu "vorbis" per a OGG Vorbis bitrate = 160 # bitrate server = localhost # o port IP = 8000 # port for IceCast2 access password = hackme # password password for the IceCast2 server mountPoint = rapi.mp3 # mount point on the IceCast2 server.mp3 o.ogg name = BluetoothPi

Pas 13:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

A continuació, hem de seguir els mateixos passos que abans per crear un fitxer buit anomenat "darkice.sh". Un fitxer.sh equival a un fitxer.bat o batch per a DOS o Windows. Obriu amb Leafpad, copieu i enganxeu les línies següents i deseu-les. Si heu seguit la meva instrucció anterior, notareu que la línia que inicia Darkice té una aparença diferent. Vaig haver d'incorporar el codi en un bucle perquè cada vegada que Darkice perd el senyal d'àudio bluetooth, deixarà de funcionar i no es reiniciarà automàticament fins i tot quan es reiniciï l'àudio. He investigat molt aquest problema i, tot i que hi ha maneres complicades d'executar un script automàticament cada vegada que es connecta un dispositiu bluetooth, Darkice de vegades s'aturarà sempre que es perdi el senyal d'àudio, fins i tot si el dispositiu bluetooth segueix connectat (per exemple, si tanqueu YouTube aplicació al vostre telèfon), de manera que aquesta és la forma més fàcil i fiable d’assegurar-vos que Darkice s’executa sempre que hi hagi àudio bluetooth. Si Darkice ja s'està executant, l'ordre s'ignora.

#! / bin / bashwhile:; fer sudo / usr / bin / darkice -c /home/pi/darkice.cfg; dorm 5; fet

Pas 14:

Imatge
Imatge

A continuació, hem d'executar una ordre per fer executable el fitxer darkice.sh. Obriu la finestra del terminal i escriviu "sudo chmod 777 /home/pi/darkice.sh" i premeu Intro. Ara és hora d’iniciar el servei de servidor Icecast2. Escriviu "sudo service icecast2 start" i premeu Retorn.

sudo chmod 777 /home/pi/darkice.sh

servei sudo icecast2 start

Pas 15:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

A continuació, hem de dir a Darkice que s'iniciï automàticament cada vegada que s'inicia el Pi (el servidor Icecast2 s'executa com a servei i ja s'inicia automàticament després de l'arrencada). Primer hem de seleccionar quin editor de text utilitzar. A la finestra del terminal, escriviu "select-editor" i premeu Intro. Escriviu "2" per seleccionar nano editor i premeu Retorn. A continuació, escriviu "crontab -e" i introduïu. A continuació, mantingueu premuda la tecla de fletxa avall per desplaçar-vos fins a la part inferior del fitxer de text que apareix i afegiu aquesta línia "@reboot sleep 10 && sudo /home/pi/darkice.sh". A continuació, premeu Ctrl-X per sortir i us demanarà "Desar la memòria intermèdia modificada?". Feu clic a la tecla Y per Sí i després Retorn per confirmar el nom del fitxer que es genera automàticament.

select-editor

crontab -e

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

Pas 16:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

Emparelleu el telèfon amb el Raspberry Pi mitjançant la icona bluetooth de l’escriptori. És important que poseu el bluetooth del Pi en mode de descobriment i, a continuació, emparegeu-lo amb el telèfon. Si col·loqueu el telèfon en mode de descobriment i proveu de pair-lo des del Pi, és possible que es connecti, però us donarà un error en dir que no hi ha serveis al vostre telèfon que pugui utilitzar el Pi, que és cert. Intentem enviar àudio al Pi, no al revés. Després de vincular-lo, executeu aquesta ordre a la finestra del terminal per revelar l'adreça MAC bluetooth del dispositiu connectat:

sudo bluetoothctl

Pas 17:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

Perquè Darkice pugui utilitzar el dispositiu bluetooth com a entrada d'àudio PCM hem de crear un fitxer a la carpeta "etc" anomenat "asound.conf" (etc / asound.conf). Feu clic a la fletxa cap amunt del gestor de fitxers un parell de vegades per anar al directori arrel i, a continuació, feu doble clic a la carpeta "etc" per obrir-lo. Desplaceu-vos cap avall i feu clic amb el botó dret del ratolí en un espai buit i creeu un fitxer buit anomenat "asound.conf" i copieu i enganxeu les línies següents amb l'adreça MAC del dispositiu substituïda per la meva, per descomptat i deseu-la.

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

Pas 18:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

Tant la ràdio WiFi com la Bluetooth del Raspberry Pi tenen el mateix xip, de manera que si maximitzeu l’amplada de banda de tots dos, l’àudio bluetooth pot tartamudejar o congelar-se. Alguns en diuen un error i alguns diuen que només és una limitació de maquinari. Canviarem una configuració que solucionarà això. El mèrit per publicar aquesta correcció va a "pelwell" a https://github.com/raspberrypi/linux/issues/1402 Torneu a executar sudo pcmanfm per obrir el gestor de fitxers i navegar a / lib / firmware / brcm. Feu doble clic al fitxer de text "brcmfmac43430-sdio.txt" per obrir-lo i afegir aquestes línies a la part inferior i desar-les.

# Paràmetres de coexistència Bluetooth experimentals de Cypressbtc_mode = 1 btc_params8 = 0x4e20 btc_params1 = 0x7530

Pas 19:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

Feu clic a la icona del menú GUI i seleccioneu Apaga i reinicia. Si heu seguit tots aquests passos amb precisió, el servidor d'àudio bluetooth s'iniciarà automàticament des de 30 segons fins a un minut després de fer clic a reiniciar. ABANS d’afegir-lo a Sonos, heu de connectar el bluetooth del vostre telèfon al Pi (simplement tocant-lo a la configuració de bluetooth del telèfon, ja que ja està emparellat) i començar a reproduir àudio d’algun tipus i augmentar el volum. Recordeu que no escoltarà cap so de l’altaveu del telèfon perquè creu que està connectat a un altaveu bluetooth extern. Una manera visual de saber si Icecast està rebent àudio bluetooth de Darkice és obrir https://192.168.86.107:8000 en un navegador web amb la vostra IP de Pi substituïda per la meva. Icecast sempre s’executa, de manera que sempre veureu la pàgina d’estat, però si Darkice també està rebent àudio bluetooth, també veureu el punt de muntatge i el descriptor de flux. Desconnecteu el bluetooth i actualitzeu la pàgina i tornarà a quedar en blanc.

Pas 20:

Imatge
Imatge
Imatge
Imatge

Heu d'utilitzar l'aplicació de controlador d'escriptori Sonos per afegir un flux personalitzat a Sonos. Feu clic a Gestiona> Afegeix una estació de ràdio i introduïu l'URL del flux que en el meu cas era "https://192.168.86.107:8000/rapi.mp3". Introduïu també un nom d’estació i feu clic a D'acord.

Pas 21:

Imatge
Imatge

Per reproduir l'emissora de ràdio personalitzada que acabem d'afegir, seleccioneu "Ràdio per Tunein" i després "Les meves estacions de ràdio". ESQUERRA Feu doble clic per reproduir o feu clic amb el botó dret per editar o afegir l'estació als vostres preferits de Sonos.

Pas 22:

Imatge
Imatge
Imatge
Imatge

Després d'afegir l'emissora de ràdio personalitzada, estarà disponible immediatament a l'aplicació Sonos. Obriu l'aplicació, toqueu "Els meus sonos" a la part inferior, desplaceu-vos cap avall fins a "Estacions" i toqueu "Veure-ho tot". Desplaceu-vos cap avall fins que vegeu l'estació de nova creació. Feu-hi clic i començarà a reproduir-se a les habitacions seleccionades. Recordeu, ̶ Si desconnecta el Bluetooth des del pI llavors el icecast Stream ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ Si canvia àudio aplicacions Podeu ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ Per reprendre escoltant en Sonos ̶y̶o̶u̶'̶l̶l̶ hagi de reiniciar Reproducció d'àudio al seu telèfon una altra vegada i empenta jugar a ̶T̶h̶e̶ ̶S̶o̶n̶o̶s̶ ̶a̶p̶p̶ ̶a̶g̶a̶i̶n̶.̶ <--- Això s'ha solucionat; veure actualització a continuació. Molta sort i gràcies per llegir!

Pas 23: ACTUALITZACIÓ: CORRECCIÓ DE MANTENIMENT CORRECTA CONNECTADA QUAN EL BLUETOOTH DESCONNEXA

Per tant, la transmissió bluetooth funcionava perfectament amb aquesta configuració, EXCEPTE que Sonos es desconnectaria del servidor Icecast cada vegada que Darkice perdés l’àudio bluetooth, com quan canvieu d’aplicacions d’àudio o simplement desconnecteu el bluetooth, cosa que era un problema, perquè haureu de tornar a reproduir l’àudio bluetooth abans fins i tot es podria prémer el botó de reproducció de l’app Sonos. Això es va convertir en un gran problema quan intentava transmetre àudio a Sonos des de l'aplicació WatchESPN del meu telèfon, que només és a pantalla completa, de manera que no vaig poder prémer el botó de reproducció de l'aplicació Sonos després d'iniciar l'àudio Bluetooth, però quan vaig tancar l'aplicació WatchESPN, La reproducció de Sonos no s'iniciarà tret que primer hagis iniciat l'àudio bluetooth. Uf! He estat traient els cabells intentant trobar una solució elegant per això. He provat un codificador mp3 diferent anomenat liquidsoap que té l'opció d'enviar àudio silenciós quan perd la connexió, però no he pogut aconseguir que funcioni amb bluealsa. Vaig intentar barrejar el flux bluealsa amb una targeta de so fictícia secundària alsa stream mitjançant dsnoop i asym per intentar enganyar Icecast perquè pensés que encara hi havia un senyal d'àudio, però alsa realment no us permet manipular l'àudio bluetooth molt. Llavors vaig començar a investigar amb un punt de muntatge alternatiu mitjançant un fitxer mp3 silenciós a Icecast, però Sonos veuria que el nom del punt de muntatge canviava i es desconnectaria. Vaig fer servir un fitxer test.mp3 i el vaig designar accidentalment com a nom principal del punt de muntatge una vegada en lloc del de reserva i vaig notar que Sonos simplement va canviar a reproduir aquest fitxer quan es va desconnectar del flux bluetooth "rapi.mp3". Eureka! No tornaria a canviar automàticament al corrent bluetooth quan tornés a estar disponible, de manera que em va fer pensar per què no només heu d'utilitzar el mateix nom de punt de muntatge? Per tant, el que heu de fer és crear un fitxer mp3 silenciós i donar-li el mateix nom que el flux mp3 de Darkice, "rapi.mp3", i codificar-lo com a punt de muntatge principal al fitxer de configuració Icecast2. El que passa és que cada vegada que Sonos perd la connexió amb la transmissió Darki / bluetooth rapi.mp3, només comença a fer un bucle a l’altre fitxer rapi.mp3 silenciós fins que la transmissió Bluetooth torna a estar en línia. D'aquesta manera, no cal que tingueu àudio bluetooth abans de tocar a Sonos. A continuació s'explica com fer-ho …

Pas 24:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

Primer hem d’instal·lar ffmpeg per crear un fitxer mp3 silenciós. Podeu enregistrar un fitxer.wav silenciós des d’una targeta de so externa i convertir-lo a mp3 mitjançant lame, però com que no tinc una entrada de targeta de so externa per a aquest projecte, fer servir ffmpeg era la solució més fàcil. Obriu la finestra del terminal i escriviu "sudo apt-get install ffmpeg" i premeu Retorn:

sudo apt-get install ffmpeg

Després d'instal·lar, copieu i enganxeu aquesta llarga línia per codificar un fitxer mp3 silenciós que dura només un segon:

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

Obriu el gestor de fitxers com a root mitjançant "sudo pcmanfm" i aneu a "/ etc / icecast2". Feu clic amb el botó dret a "icecast.xml" i obriu-lo amb Leafpad i enganxeu aquestes línies just a sota de la línia "" superior:

/rapi.mp3

Desa i reinicia i ara hauries de poder iniciar la teva estació bluetooth personalitzada de Sonos abans de connectar el telèfon al bluetooth.

Pas 25: addenda

Addenda
Addenda
Addenda
Addenda
Addenda
Addenda
Addenda
Addenda

Volia que la font d’alimentació Raspberry Pi i de 110 V CA a 5 V CC fos autònoma en un cas, de manera que pogués moure-la fàcilment per la casa, però em va sorprendre que no existís aquest cas. Puc imprimir-ne un en 3D més tard, però mentrestant he canviat a utilitzar una carcassa Raspberry Pi diferent i he trobat un carregador de paret USB prim i un cable curt. El carregador tenia un recobriment de goma que no aconseguia enganxar a la cinta VHB, però va resultar que era un adhesiu fàcilment extraïble; no obstant això, això va crear un petit recés que feia que la cinta VHB fos massa prima, de manera que vaig fer servir velcro.

Recomanat: