¡Solucionado!
Ya encontré el problema.
Pasos a seguir para asegurar tener los paquetes necesarios:
- sudo apt-get install bluez
- sudo apt-get install python-gobject
- sudo apt-get install pulseaudio-module-bluetooth
- sudo apt-get install bluez-audio
- sudo apt-get install python-dbus
Para emparejar usamos:
hcitools scan -> detectará el dispositivo y mostrará la MAC, recuerda tener en modo visible los altavoces BT.
-Resultado de ejemplo-
Scanning ...
00:1E:DE:28:20:2E Nokia BH-505
bluez-simple-agent hci0 [MAC] -> la mac va sin corchetes
-Ejemplo-
bluez-simple-agent hci0 00:1E:DE:28:20:2E
Pedira el PIN si nunca lo hemos emparejado con la Raspberry...
RequestPinCode (/org/bluez/1806/hci0/dev_00_1E_DE_28_20_2E)
Enter PIN Code: 0000PIN_de tu dispositivo(0000 o 1234)
y si no mostrará...
"Creating device failed: org.bluez.Error.AlreadyExists: Already Exists"
Luego escribimos lo siguiente:
bluez-test-audio 00:1E:DE:28:20:2E -> sustituye la MAC por el de tu dispositivo
Si te sale algo como esto...
ERROR:dbus.proxies:Introspect error on :1.1:/: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.6" (uid=1000 pid=2084 comm="/usr/bin/python /usr/bin/bluez-test-audio connect ") interface="org.freedesktop.DBus.Introspectable" member="Introspect" error name="(unset)" requested_reply="0" destination=":1.1" (uid=0 pid=1884 comm="/usr/sbin/bluetoothd ")
Traceback (most recent call last):
File "/usr/bin/bluez-test-audio", line 22, in <module>
adapter_path = manager.DefaultAdapter()
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in __call__
return self._proxy_method(*args, **keywords)
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.6" (uid=1000 pid=2084 comm="/usr/bin/python /usr/bin/bluez-test-audio connect ") interface="org.bluez.Manager" member="DefaultAdapter" error name="(unset)" requested_reply="0" destination=":1.1" (uid=0 pid=1884 comm="/usr/sbin/bluetoothd ")
Es un problema de permisos con el grupo bluetooth; antes sólo funcionaba con el comando sudo o estando en root pero es que pulse trabaja la configuración por usuario y por ello no configuraba el dispositivo bluetooth automáticamente; escribe:
sudo adduser pi bluetooth
reinicia el sistema y vuelve a escribir:
bluez-test-audio 00:1E:DE:28:20:2E -> sustituye la MAC por el de tu dispositivo
el dispositivo mostrará conexión pero para asegurarnos:
hcitool con
Debería devolver algo como esto:
Connections:
< ACL 00:1E:DE:28:20:2E handle 41 state 1 lm MASTER AUTH ENCRYPT
Comprobamos si pulseaudio ha configurado una nueva salida:
pactl list short sinks
0 alsa_output.platform-bcm2835_AUD0.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 bluez_sink.00_1E_DE_28_20_2E module-bluetooth-device.c s16le 1ch 8000Hz SUSPENDED
Efectivamente lo detecta y lo configura; como son auriculares lo pone en calidad baja pero podemos cambiarlo con los comandos apropiados, con tus altavoces puede que los reconozca con más calidad.
Luego procedemos a indicar a Pulseaudio cual es la salida por defecto que queremos, la salida BT:
pacm set-default-sink Num_salida -> el número es la identificación de la salida BT, en mi caso es 1
Dime que como te ha ido con esto, mientras veo que comando para dar los parámetros que necesitemos de calidad.