Aquí hay una explicación muy detallada:
Den3243
Aquí hay una solución de línea de comando:
Primero, escaneemos, emparejemos, confiemos en su dispositivo con "bluetoothctl". Para hacer eso, ejecute esto en la línea de comando, su terminal:
bluetoothctl -a
Debería obtener un símbolo del sistema diferente como:
[bluetooth]
Con su altavoz BT encendido, escriba esto:
scan on
En unos momentos, debería ver los dispositivos BT disponibles. Al lado del dispositivo estará su dirección MAC, como: 00: AA: 22: BB: 33. Ahora escriba esto:
info <your mac address>
Excluir los caracteres mayor y menor que. Lo que buscas es algún tipo de asociación previa con tu altavoz BT. Sabrá que hubo una asociación previa porque bluetoothctl mostrará información sobre su dispositivo BT. Parte de esta información será sobre el dispositivo emparejado y confiable. Esto es bueno.
Si bluetoothctl se queja de que no hay dispositivo, entonces debemos configurarlo en este momento. Para hacer eso, escriba esto:
pair <your mac address>
Debería ver un mensaje de éxito sobre el emparejamiento de su dispositivo con éxito. Ahora confiemos en nuestro nuevo dispositivo BT. Escribe esto:
trust <your mac address>
Nuevamente, debería ver un mensaje de éxito sobre la confianza. Déjame pre-advertirte. Su dispositivo BT podría conectarse y, de nuevo, no. No temas, no queremos que se conecte. Adelante, salgamos de "bluetoothctl". Para hacer eso, escriba:
quit
Ahora volverá a la línea de comandos. En una publicación anterior le sugerí que creara un directorio de scripts en su directorio de inicio. Si no lo has hecho, adelante y hazlo ahora. Escriba esto en el símbolo del sistema:
mkdir -p ~/scripts
Presione enter y ahora creemos nuestro script de autopair bash. Escribe esto:
nano ~/scripts/autopair
Ingrese este código en el script:
#!/bin/bash
bluetoothctl << EOF
connect [enter your MAC add]
EOF
Excluir los corchetes!
Ahora presione CTRL + x al mismo tiempo, y ahora presione Intro para guardar el script. Necesitamos hacerlo ejecutable. Para hacer eso, escriba esto:
chmod +x ~/scripts/autopair
Supongo que no utiliza altavoces analógicos externos conectados a la toma de 3,5 mm. Si esto es cierto, deshabilitemos alsa. Para hacer eso, editemos un archivo en el directorio / boot llamado config.txt. Para hacer eso, escriba esto en su terminal:
sudo nano /boot/config.txt
Avanza hasta el final del archivo y busca dos líneas que digan:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
Coloque un (signo de número #) delante de la línea que dice:
dtparam=audio=on
Para parecerse a:
#dtparam=audio=on
Presione CTRL + xy luego presione Entrar para guardar su archivo.
¿Asumo que tienes instalado pulseaudio? De lo contrario, ejecute este comando desde la línea de comando:
sudo apt-get update && sudo apt-get install pulseaudio -y
¡Esto te dará un componente muy importante para hacer que Bluetooth funcione! Ahora editemos nuestro archivo .bashrc en nuestro directorio de inicio. Escribe esto:
nano ~/.bashrc
Avanza hasta el final y agrega esta línea:
pulseaudio --start
Presione CTRL + xy ahora presione Entrar para guardar su archivo.
¡OKAY! Necesitamos entrar al mundo de Python. He escrito un programa Python que vigilará el dispositivo bluetooth. En resumen, activará la conexión entre RPi y su altavoz bluetooth, una vez que su altavoz bluetooth esté encendido. Y viceversa. Creemos un directorio llamado python en su directorio de inicio. Para hacerlo, escriba esto:
mkdir -p ~/python
Ahora creemos el archivo del programa python. Para hacer eso, escriba esto:
nano ~/python/on.py
Dentro de ese archivo, debemos copiar y pegar lo siguiente:
#!/usr/bin/python
#
# Monitor removal of bluetooth reciever
import os
import sys
import subprocess
import time
def blue_it():
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
while status == 0:
print("Bluetooth UP")
print(status)
time.sleep(15)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
else:
waiting()
def waiting():
subprocess.call('killall -9 pulseaudio', shell=True)
time.sleep(3)
subprocess.call('pulseaudio --start', shell=True)
time.sleep(2)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
while status == 2:
print("Bluetooth DOWN")
print(status)
subprocess.call('~/scripts/autopair', shell=True)
time.sleep(15)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
else:
blue_it()
blue_it()
Ahora presione CTRL + xy luego presione Entrar para guardar el archivo del programa Python. Ahora necesitamos hacer que este archivo sea ejecutable. Para hacer eso, escriba esto:
chmod +x ~/python/on.py
Finalmente, agreguemos esto a nuestro script .bashrc en nuestro directorio de inicio:
nano ~/.bashrc
Vaya al final del archivo y agregue estas dos líneas:
wait
~/python/on.py
Ahora presione CTRL + xy luego presione Entrar para guardar. Encienda su altavoz bluetooth y reinicie su Raspberry Pi.
¡Buena suerte!
-nitrolinux
He encontrado que hay problemas actuales con pulseaudio5 especialmente cuando se trata de reproducción de audio a través de bluetooth. Como tal, propongo que en lugar de tener que depurarlos cuando vengan, simplemente use PulseAudio6 para lo que desee.
He creado un repositorio que automatizará todo lo que se encuentra debajo para que no tenga que hacer todo el trabajo de piernas, pero si todavía está dispuesto a hacerlo, continúe a continuación.
Repo: https://github.com/BaReinhard/a2dp_bluetooth
Proceso de instalación:
Espere hasta que finalice el proceso de instalación y reinicie. Al finalizar, deberá iniciar, vincular, confiar y conectar su dispositivo. Después del tiempo inicial, solo tendrá que encender el dispositivo.
Emparejamiento, confianza y conexión:
-------------------- Tutorial completo: --------------------
Compilando PulseAudio 6
Agregue los siguientes archivos
/etc/init.d/pulseaudio
/etc/init.d/bluetooth
Habilitar nuevos servicios init.d y hacer ejecutable
Asegúrese de tener todos los módulos necesarios.
Cambie al Directorio de inicio e instale json-c desde la fuente git (requerido para PA6)
Cambie a Home Directory e instale libsndfile desde la fuente git
Asegúrese de que Bluetooth está buscando (
sudo hciconfig hci0 piscan
está en desuso)Navegue al directorio de inicio e instale PulseAudio 6 desde la fuente git
Asegúrese de que el pulso esté en todos los grupos necesarios.
Actualice
/etc/pulse/system.pa
y/etc/pulse/daemon.conf
tenga el siguiente aspecto:/etc/pulse/system.pa
/etc/pulse/daemon.conf
Configurar la regla de udev
Edite
/etc/udev/rules.d/99-com.rules
y agregue las siguientes dos líneas:Crear
/usr/local/bin/bluez-udev
/ usr / local / bin / bluez-udev
Asegúrese de que bluez-udev sea ejecutable
Resumen
¿Qué se está haciendo aquí?
fuente
¿Has intentado crear un script Bash que use hcitool para conectarse?
Agregue derechos ejecutables a ese archivo y luego agréguelo a cron (puede elegir en cualquier momento).
Esto funcionó para mí cuando intenté conectarme a un teclado Bluetooth. No estoy seguro de si funcionará para un orador (no estoy seguro si es un protocolo diferente). ¡Espero que esto ayude!
fuente
encontré esto aún mejor
fuente