Tabla de contenido:

Reproducir Bluetooth en Sonos con Raspberry Pi: 25 pasos
Reproducir Bluetooth en Sonos con Raspberry Pi: 25 pasos

Video: Reproducir Bluetooth en Sonos con Raspberry Pi: 25 pasos

Video: Reproducir Bluetooth en Sonos con Raspberry Pi: 25 pasos
Video: Raspberry Pi, Curso para principiantes 2024, Noviembre
Anonim
Image
Image
Reproducir Bluetooth en Sonos con Raspberry Pi
Reproducir Bluetooth en Sonos con Raspberry Pi

Anteriormente escribí un instructivo que describe cómo agregar una entrada de línea auxiliar o analógica a Sonos usando una Raspberry Pi. Un lector preguntó si sería posible transmitir audio bluetooth desde su teléfono a Sonos. Es fácil hacer esto usando un dongle bluetooth conectado a la línea de entrada del Sonos Play: 5 o Sonos CONNECT más costosos; sin embargo, pierde fidelidad al convertir bluetooth (digital) a analógico y luego de nuevo a digital y si solo posee uno de los altavoces Sonos menos costosos, esta no es una opción. Este instructivo describe cómo configurar una Raspberry Pi para transmitir audio bluetooth a cualquier altavoz Sonos.

NOTA: Tenga en cuenta que vamos a transmitir audio bluetooth a la Raspberry Pi y convertirlo en un flujo de mp3 antes de enviarlo a Sonos, por lo que habrá un retraso de un par de segundos. Si está usando esto para ver un video, el audio no estará sincronizado.

Paso 1:

Que necesitarás:

Raspberry PI 3 Modelo B (hay un Modelo B + más nuevo y más rápido disponible, pero me quedé con el Modelo B normal porque he leído algunos problemas con el bloqueo B + y también las radios wifi y bluetooth de B + tienen blindaje de metal alrededor para hacer cumplen con la FCC cuando se instalan dentro de otro dispositivo, pero quería el máximo alcance de bluetooth y temía que el blindaje pudiera obstaculizarlo)

Una computadora de escritorio o portátil con un lector de tarjetas microSD

Monitor o TV con entrada HDMI (solo para la configuración inicial)

Teclado y mouse USB o bluetooth (solo para la configuración inicial)

Estuche de plástico para Raspberry Pi (estoy usando un estuche de plástico para este proyecto para maximizar el alcance del bluetooth)

Tarjeta de memoria flash de clase 4 microSDHC de 8 GB de Kingston

Fuente de alimentación de 5V

Paso 2:

Imagen
Imagen
Imagen
Imagen

Vaya a https://www.raspberrypi.org/downloads/raspbian/ en su computadora habitual y descargue "RASPBIAN STRETCH WITH DESKTOP".

También vaya a https://etcher.io/ y descargue Etcher e instálelo.

NOTA: En mi instructable anterior describí cómo descargar NOOBS para instalar Raspbian; sin embargo, este método es un poco más rápido. De cualquier modo está bien.

Paso 3:

Imagen
Imagen
Imagen
Imagen

Ejecute Etcher y haga clic en Seleccionar imagen y busque el archivo zip. Haga clic en Seleccionar unidad y busque la tarjeta microSD, luego haga clic en Flash.

Paso 4:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

NOTA: Algunos de estos siguientes pasos son similares a mi instructable anterior, así que salte adelante si ya tiene configurada la contraseña de root, IP estática y VNC.

Inserte la tarjeta microSD en la ranura para tarjetas SD en la parte inferior de la Raspberry Pi. Conecte un cable HDMI de la Raspberry Pi a su monitor o televisor. Conecte el teclado USB, el mouse y finalmente el cable de alimentación Micro USB. Después de que se inicie, aparecerá el escritorio Raspbian. Lo guiará a través de varias configuraciones, pero recomendaría NO buscar actualizaciones. Haga clic en Omitir. Seguí obteniendo un error "blueman.bluez.errors. DBusFailedError: Protocol not available" al intentar emparejar el bluetooth después de que se instalaron todas las actualizaciones, así que tuve que empezar de nuevo.

SUGERENCIA: Si no desea la hora militar, haga clic con el botón derecho del ratón en el reloj, seleccione Configuración del reloj digital y cambie el formato del reloj de% R a% r

Paso 5:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

A continuación, habilitaremos el servidor VNC integrado. Esto facilita mucho las cosas, ya que puede simplemente copiar y pegar comandos a través de VNC en lugar de escribirlos. Seleccione Menú GUI> Preferencias> Configuración de Raspberry Pi> Interfaces. Haga clic en Activado junto a VNC y luego en Aceptar. Después de unos segundos, aparecerá un icono de VNC en la barra de tareas. Haga clic en él y luego en el icono de menú en la parte superior derecha (cuadro con 3 líneas horizontales) y luego en Opciones. En las opciones de Seguridad, configure Cifrado en "Preferir desactivado" y Autenticación como "Contraseña VNC" y luego haga clic en Aplicar. Aparecerá un cuadro de contraseña. Introduzca "frambuesa" (sin las comillas) como contraseña en cada cuadro y haga clic en Aceptar.

Paso 6:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Antes de continuar, debemos asignar una dirección IP estática. Si la dirección IP de su Pi es asignada al azar por el servidor DHCP de su enrutador, entonces la dirección IP podría cambiar más tarde y no podrá conectarse a través de VNC (o Sonos para el caso). Haga clic con el botón derecho en el icono de conexiones de red en la barra de tareas (el pequeño icono de flecha hacia arriba y hacia abajo) y seleccione "Configuración de red inalámbrica y cableada". Haga clic con el botón IZQUIERDO en el cuadro superior derecho y seleccione "eth0" para configurar la conexión ethernet o "wlan0" para la conexión inalámbrica. Aconsejaría asignar una IP estática solo a uno u otro. Tuve un problema cuando configuré mi Pi por primera vez donde asigné la misma dirección IP estática a ambas conexiones y la conexión inalámbrica de mi Pi se bloqueó y no pude volver a funcionar correctamente, así que tuve que comenzar de nuevo a instalar el sistema operativo. De todos modos, ingrese la dirección IP que desea en el campo de dirección IP e ingrese la dirección IP de su enrutador tanto en el campo Enrutador como en el campo Servidores DNS. Haga clic en Aplicar y cerrar.

NOTA: Puede ser más fácil asignar una dirección IP estática usando la función de reserva de IP DHCP de su enrutador, si tiene una. Es posible que necesite la dirección MAC del Pi o simplemente puede aparecer en una lista de dispositivos conectados en la página de administración de su enrutador. Si necesita la dirección MAC, escriba el comando "ifconfig eth0" en la ventana del terminal para ethernet o "ifconfig wlan0" para WiFi. Curiosamente, la dirección MAC de WiFi aparecerá en la línea que comienza con "ether"

Paso 7:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

A continuación, debemos configurar la resolución de pantalla predeterminada. Esto puede parecer una tontería al ver que ya estamos conectados a un monitor, pero más tarde, cuando se conecta a través de VNC sin un monitor adjunto (sin cabeza, como dicen), volverá a la resolución predeterminada de 640x480 del Pi, que es una pantalla muy pequeña para ¡trabajar con! Seleccione Menú GUI> Preferencias> Configuración de Raspberry Pi> Establecer resolución. Configúrelo en 1280x720 o superior y haga clic en Aceptar y Sí para reiniciar.

Paso 8:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Es posible que desee cambiar el nombre de su Pi, especialmente si tiene más de uno en su red. Cambié el nombre del mío a "BluetoothPi" para que sea fácilmente identificable. Le pedirá que reinicie después de cambiarle el nombre.

Paso 9:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

En este punto, es posible que desee comenzar a usar VNC para controlar el Pi. Vuelve a abrir el panel de control de VNC en el escritorio de Raspbian y busca la dirección IP en "Conectividad". Instale y ejecute un visor VNC en su computadora habitual y use esa dirección IP para conectarse e ingrese "frambuesa" (sin las comillas) como contraseña. Usé TightVNC para Windows. Una vez que se haya conectado, puede guardar la conexión VNC de Pi como un acceso directo en su escritorio para conectarse rápidamente en el futuro sin pasar por la pantalla de inicio de sesión. Recibirá una advertencia sobre cómo guardar la contraseña dentro del acceso directo. Para copiar y pegar en la ventana de terminal de Pi, seleccione o resalte el texto o los comandos en su computadora normal, presione Ctrl-C (literalmente presione Ctrl y C en su teclado al mismo tiempo) o haga clic derecho y seleccione "Copiar ", luego active la ventana del visor VNC de Pi y haga clic DERECHO dentro de la ventana del terminal en el cursor y seleccione Pegar.

Paso 10:

Imagen
Imagen
Imagen
Imagen

A continuación vamos a instalar dos programas, Darkice e Icecast2. Darkice es lo que codificará nuestra fuente de audio bluetooth en una transmisión de mp3 e Icecast2 es lo que la servirá a Sonos como transmisión de Shoutcast. Copie y pegue cada una de estas líneas en la ventana del terminal una a la vez, seguidas de la tecla Intro cada vez:

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

Paso 11:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Ahora para instalar Icecast2. Escriba "sudo apt-get install icecast2" seguido de enter. Después de que se instale, aparecerá una ventana que le preguntará si desea configurar Icecast2. Presione la tecla de flecha izquierda e ingrese para seleccionar Sí. En la segunda pantalla, presione la tecla de flecha hacia abajo e ingrese para seleccionar Aceptar para usar el nombre de host predeterminado "localhost". En las siguientes tres pantallas, presione la flecha hacia abajo y la tecla Intro para aceptar usar "hackme" como contraseña predeterminada de fuente, retransmisión y administración. Aunque estamos de acuerdo con todas las configuraciones predeterminadas, estos pasos deben completarse para activar el servidor Icecast2.

sudo apt-get install icecast2

Paso 12:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

A continuación, debemos ejecutar el administrador de archivos GUI como usuario root. Para hacer esto, seleccione Menú GUI> Ejecutar. Escriba "sudo pcmanfm" y presione enter. Eso abrirá el administrador de archivos (el equivalente al explorador de archivos para nosotros los usuarios de Windows) en el directorio de inicio (/ home / pi) y verá el archivo de instalación de darkice sobrante que descargamos anteriormente. Haga clic con el botón derecho en un espacio vacío y seleccione Crear nuevo y luego Vaciar archivo. Nómbrelo "darkice.cfg" y haga clic en Aceptar. Luego, haga clic con el botón derecho del ratón en el archivo recién creado y elija abrirlo con Leafpad (el equivalente al bloc de notas de Windows). Copie las líneas a continuación y péguelas en Leafpad, luego haga clic en Archivo y Guardar. Notará que la línea de "calidad" está comentada con un # delante. Se utiliza sólo si establece "bitrateMode = vbr" (tasa de bits variable). No puede establecer un valor de calidad cuando usa cbr (tasa de bits constante) o la transmisión tartamudeará y saltará. Por el contrario, si decide utilizar vbr, debe comentar la línea "bitrate = 160" y descomentar la línea "quality".

NOTA: La tasa de bits de mp3 de mayor calidad que puede tener es de 320 kbps; sin embargo, tanto las radios WiFi como Bluetooth de la Raspberry Pi están en el mismo chip, por lo que si maximizas el ancho de banda de ambos, el audio bluetooth puede tartamudear o congelarse. Vamos a cambiar una configuración más adelante que remediará esto, sin embargo, limita un poco el ancho de banda de WiFi, así que reduje la tasa de bits de audio para este proyecto a 160 kbps ya que planeo mantenerlo en WiFi exclusivamente. Si está utilizando ethernet, no es un problema y puede establecer la tasa de bits de forma segura en 320 kbps.

[general] duración = 0 # duración en s, 0 para siempre bufferSecs = 1 # búfer, en segundos reconectar = sí # reconectar si se desconecta

[aporte]

dispositivo = teléfono # nombre del dispositivo bluetooth sampleRate = 44100 # frecuencia de muestreo 11025, 22050 o 44100 bitsPerSample = 16 # bits canal = 2 # 2 = estéreo

[icecast2-0]

bitrateMode = cbr # tasa de bits constante (constante 'cbr', promedio 'abr') #calidad = 1.0 # 1.0 es la mejor calidad (usar solo con vbr) formato = formato mp3 #. Elija 'vorbis' para OGG Vorbis bitrate = 160 # bitrate server = localhost # o IP port = 8000 # puerto para IceCast2 contraseña de acceso = hackme # contraseña de origen para el servidor IceCast2 mountPoint = rapi.mp3 # punto de montaje en el servidor IceCast2.mp3 o.ogg nombre = BluetoothPi

Paso 13:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

A continuación, debemos seguir los mismos pasos que antes para crear un archivo vacío llamado "darkice.sh". Un archivo.sh es el equivalente a un archivo.bat o por lotes para DOS o Windows. Abra con Leafpad, copie y pegue las líneas a continuación y guarde. Si siguió mi instructable anterior, notará que la línea que comienza con Darkice se ve un poco diferente. Tuve que incrustar el código en un bucle porque cada vez que Darkice pierde la señal de audio bluetooth, dejará de funcionar y no se reiniciará automáticamente incluso cuando se reinicie el audio. Investigué mucho sobre este problema y, si bien hay formas complicadas de ejecutar automáticamente un script cada vez que se conecta un dispositivo bluetooth, Darkice a veces se detiene cuando se pierde la señal de audio, incluso si el dispositivo bluetooth todavía está conectado (por ejemplo, si cierra YouTube en su teléfono), por lo que esta es la forma más fácil y confiable de asegurarse de que Darkice se esté ejecutando siempre que haya audio bluetooth presente. Si Darkice ya se está ejecutando, el comando se ignora.

#! / bin / bash while:; hacer sudo / usr / bin / darkice -c /home/pi/darkice.cfg; dormir 5; hecho

Paso 14:

Imagen
Imagen

A continuación, debemos ejecutar un comando para hacer que el archivo darkice.sh sea ejecutable. Abra la ventana de terminal y escriba "sudo chmod 777 /home/pi/darkice.sh" y presione enter. Ahora es el momento de iniciar el servicio del servidor Icecast2. Escriba "sudo service icecast2 start" y presione enter.

sudo chmod 777 /home/pi/darkice.sh

sudo service icecast2 start

Paso 15:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

A continuación, debemos decirle a Darkice que se inicie automáticamente cada vez que se inicie el Pi (el servidor Icecast2 se ejecuta como un servicio y ya se inicia automáticamente después del inicio). Primero tenemos que seleccionar qué editor de texto usar. En la ventana de la terminal, escriba "editor de selección" y presione enter. Escriba "2" para seleccionar el editor nano y presione enter. Luego escriba "crontab -e" e ingrese. A continuación, mantenga presionada la flecha hacia abajo para desplazarse hasta el final del archivo de texto que aparece y agregue esta línea "@reboot sleep 10 && sudo /home/pi/darkice.sh". Luego presione Ctrl-X para salir y aparecerá el mensaje "¿Guardar búfer modificado?". Presione la tecla Y para Sí y luego Enter para confirmar el nombre de archivo que se genera automáticamente.

editor de selección

crontab -e

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

Paso 16:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Empareje su teléfono con la Raspberry Pi usando el ícono de bluetooth en el escritorio. Es importante que pongas el bluetooth del Pi en modo de descubrimiento y luego lo emparejes desde tu teléfono. Si pones tu teléfono en modo de descubrimiento e intentas emparejarlo DESDE el Pi, entonces puede que se conecte, pero te dará un error diciendo que no hay servicios en tu teléfono que el Pi pueda usar, lo cual es cierto. Estamos tratando de enviar audio al Pi, no al revés. Una vez emparejado, ejecute este comando en la ventana del terminal para revelar la dirección MAC de bluetooth de su dispositivo conectado:

sudo bluetoothctl

Paso 17:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Para que Darkice pueda usar el dispositivo bluetooth como entrada de audio PCM, tenemos que crear un archivo en la carpeta "etc" llamado "asound.conf" (etc / asound.conf). Haga clic en la flecha hacia arriba en el administrador de archivos un par de veces para ir al directorio raíz y luego haga doble clic en la carpeta "etc" para abrirlo. Desplácese hacia abajo y haga clic DERECHO en un espacio vacío y cree un archivo vacío llamado "asound.conf" y copie y pegue las líneas a continuación con la dirección MAC de su dispositivo sustituida por la mía, por supuesto, y guarde.

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

Paso 18:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Tanto las radios WiFi como Bluetooth en la Raspberry Pi están en el mismo chip, por lo que si maximiza el ancho de banda de ambos, el audio bluetooth puede tartamudear o congelarse. Algunos lo llaman un error y otros dicen que es solo una limitación de hardware. Vamos a cambiar una configuración que remediará esto. El crédito por publicar esta corrección es para "pelwell" en https://github.com/raspberrypi/linux/issues/1402 Ejecute sudo pcmanfm nuevamente para abrir el administrador de archivos y busque / lib / firmware / brcm. Haga doble clic en el archivo de texto "brcmfmac43430-sdio.txt" para abrirlo, agregue estas líneas al final y guarde.

# Parámetros experimentales de coexistencia de Bluetooth de Cypress btc_mode = 1 btc_params8 = 0x4e20 btc_params1 = 0x7530

Paso 19:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Haga clic en el icono del menú GUI y seleccione Apagar y reiniciar. Si siguió todos estos pasos con precisión, su servidor de audio bluetooth se iniciará automáticamente entre 30 segundos y un minuto después de hacer clic en reiniciar. ANTES de que pueda agregarlo a Sonos, debe conectar el bluetooth de su teléfono al Pi (simplemente tocándolo en la configuración de bluetooth de su teléfono, ya que ya está emparejado) y comenzar a reproducir audio de algún tipo y subir el volumen. Recuerde que no escuchará ningún audio proveniente del altavoz de su teléfono porque cree que está conectado a un altavoz bluetooth externo. Una forma visual de saber si Icecast está recibiendo audio bluetooth de Darkice es abrir https://192.168.86.107:8000 en un navegador web con la IP de su Pi sustituida por la mía. Icecast siempre se está ejecutando, por lo que siempre verá la página de estado, pero si Darkice también recibe audio bluetooth, también verá el punto de montaje y el descriptor de transmisión. Desconecte su bluetooth y actualice la página y volverá a quedar en blanco.

Paso 20:

Imagen
Imagen
Imagen
Imagen

Debe usar la aplicación del controlador de escritorio de Sonos para agregar una transmisión personalizada a Sonos. Haga clic en Administrar> Agregar estación de radio e ingrese la URL de la transmisión que en mi caso era "https://192.168.86.107:8000/rapi.mp3". Introduzca también un nombre de estación y haga clic en Aceptar.

Paso 21:

Imagen
Imagen

Para reproducir la estación de radio personalizada que acabamos de agregar, seleccione "Radio por Tunein" y luego "Mis estaciones de radio". Haga doble clic IZQUIERDO para reproducir o haga clic DERECHO para editar o agregar la estación a sus favoritos de Sonos.

Paso 22:

Imagen
Imagen
Imagen
Imagen

Después de agregar la estación de radio personalizada, estará inmediatamente disponible en su aplicación Sonos. Abra la aplicación, toque "Mis Sonos" en la parte inferior, desplácese hacia abajo hasta "Estaciones" y toque "Ver todo". Desplácese hacia abajo hasta que vea su estación recién creada. Tóquelo y comenzará a reproducirse en las habitaciones seleccionadas. Recuerde, ̶ Si desconecta el Bluetooth desde el pI entonces el icecast Stream ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ Si cambia audio aplicaciones Puede ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ Para reanudar escuchando en Sonos ̶y̶o̶u̶'̶l̶l̶ tenga que reiniciar Reproducción de audio en su teléfono otra vez y empuje jugar en ̶T̶h̶e̶ ̶S̶o̶n̶o̶s̶ ̶a̶p̶p̶ ̶a̶g̶a̶i̶n̶.̶ <--- Esto ha sido arreglado; ver actualización a continuación. ¡Buena suerte y gracias por leer!

Paso 23: ACTUALIZACIÓN: CORREGIDO MANTENER EL STREAM CONECTADO CUANDO BLUETOOTH SE DESCONECTA

Por lo tanto, la transmisión por bluetooth funcionaba perfectamente con esta configuración EXCEPTO que Sonos se desconectaba del servidor Icecast cada vez que Darkice perdía el audio de bluetooth, como cuando cambiaba las aplicaciones de audio o simplemente desconectaba el bluetooth, lo cual era una molestia porque tendría que volver a obtener la transmisión de audio por bluetooth antes incluso puedes presionar el botón de reproducción en la aplicación Sonos. Esto se convirtió en un gran problema cuando intentaba transmitir audio a Sonos desde la aplicación WatchESPN de mi teléfono, que es solo en pantalla completa, por lo que no pude presionar el botón de reproducción en la aplicación Sonos después de iniciar el audio bluetooth, pero cuando cerré la aplicación WatchESPN, el La transmisión de Sonos no se iniciaría a menos que primero se iniciara el audio bluetooth. ¡Puaj! Me he estado tirando de los pelos tratando de encontrar una solución elegante para esto. Probé un codificador de mp3 diferente llamado liquidsoap que tiene la opción de enviar audio silencioso cuando pierde la conexión, pero no pude hacer que funcione con bluealsa. Intenté mezclar el flujo de bluealsa con un flujo de alsa de la tarjeta de sonido ficticia secundaria usando dsnoop y asym para intentar engañar a Icecast haciéndole creer que todavía había una señal de audio presente, pero alsa realmente no te permite manipular mucho el audio de bluetooth. Luego comencé a investigar el uso de un punto de montaje alternativo usando un archivo mp3 silencioso en Icecast, pero Sonos vería que el nombre del punto de montaje cambiaba y se desconectaba. Estaba usando un archivo test.mp3 y accidentalmente lo designé como el nombre del punto de montaje principal una vez en lugar del de reserva y noté que Sonos simplemente cambió a reproducir ese archivo cuando se desconectó de la transmisión bluetooth "rapi.mp3". ¡Eureka! No cambiaría automáticamente a la transmisión de bluetooth cuando estuviera disponible nuevamente, por lo que me hizo pensar ¿por qué no usar el mismo nombre de punto de montaje? Entonces, lo que tienes que hacer es crear un archivo mp3 silencioso y darle el mismo nombre que el flujo mp3 de Darkice, "rapi.mp3", y codificarlo como el punto de montaje principal en el archivo de configuración de Icecast2. Lo que sucede es que cada vez que Sonos pierde la conexión con la transmisión Darkice / bluetooth rapi.mp3, simplemente comienza a reproducir el otro archivo silencioso rapi.mp3 hasta que la transmisión bluetooth vuelve a estar en línea. De esta manera, no es necesario que el audio bluetooth esté funcionando antes de presionar reproducir en Sonos. He aquí cómo hacerlo …

Paso 24:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Primero tenemos que instalar ffmpeg para crear un archivo mp3 silencioso. Puede grabar un archivo.wav silencioso desde una tarjeta de sonido externa y convertirlo a mp3 usando lame, pero como no tengo una entrada de tarjeta de sonido externa para este proyecto, usar ffmpeg fue la solución más fácil. Abra la ventana de terminal y escriba "sudo apt-get install ffmpeg" y presione Enter:

sudo apt-get install ffmpeg

Después de que esté instalado, copie y pegue esta línea larga para codificar un archivo mp3 silencioso de solo un segundo de duración:

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

Abra el Administrador de archivos como root usando "sudo pcmanfm" y busque "/ etc / icecast2". Haga clic con el botón derecho en "icecast.xml" y ábralo usando Leafpad y pegue estas líneas justo debajo de la línea "" superior:

/rapi.mp3

Guarde y reinicie y ahora debería poder iniciar su estación bluetooth personalizada de Sonos incluso antes de haber conectado su teléfono a bluetooth.

Paso 25: Anexo

Apéndice
Apéndice
Apéndice
Apéndice
Apéndice
Apéndice
Apéndice
Apéndice

Quería que la Raspberry Pi y la fuente de alimentación de 110 VCA a 5 VCC fueran autónomas en una caja para poder moverla fácilmente por la casa, pero me sorprendió descubrir que tal caja no existe. Puedo imprimir en 3D uno más tarde, pero mientras tanto cambié a usar una carcasa Raspberry Pi diferente y encontré un cargador de pared USB delgado y un cable corto. El cargador tenía un revestimiento de goma al que no pude pegar con cinta VHB transparente, pero resultó que era una pegatina que se podía quitar fácilmente; sin embargo, eso creó un pequeño hueco que hizo que la cinta VHB fuera demasiado delgada, así que usé velcro.

Recomendado: