Me gustaría que mi PC Ubuntu envíe comandos de audio bluetooth (reproducir / pausar, canción siguiente / anterior y subir / bajar) a otro dispositivo que transmita música a través de bluetooth. En otras palabras, me gustaría implementar mi PC Ubuntu "simulando" ser una especie de auriculares bluetooth, que pueden cambiar pistas, pausar y reanudar la música.
Tengo la siguiente configuración ilustrada con las siguientes capturas de pantalla de pavucontrol (el pt2
dispositivo está conectado a través de bluetooth):
En esta configuración, la transmisión funciona como se esperaba (puedo escuchar música transmitida pt2
), pero no encontré ninguna manera de poder enviarle ninguna señal, como pausar / reanudar la reproducción o cambiar de pista.
Ya he descubierto que hay muchos protocolos bluetooth que permiten funciones específicas. Si entendí las especificaciones correctamente, lo que me interesa es A2DP, que es la forma en que los dispositivos están conectados ahora. Pero en el menú desplegable de perfil, también tengo opciones de unidad principal de auriculares HSP / HFP, puerta de enlace de auriculares HSP / HFP y apagado.
Voy a desarrollar mi propia aplicación en Python que permitirá enviar dichos comandos, por lo que estoy interesado en enviarlos a través de Python API o mediante comandos bash.
Estoy haciendo esta pregunta porque estoy interesado en cómo comunicarme con dispositivos Bluetooth.
fuente
Respuestas:
Inspirado por @kenn, decidí profundizar en
dbus
yd-feet
herramientas. Finalmente alcancé mi objetivo usando el siguiente comando:que por supuesto activó la reproducción de música en mi dispositivo móvil conectado a mi PC a través de Bluetooth.
Genéricamente para dispositivos bluetooth, este comando se vería así:
Para verificar la ejecución de la dirección MAC de sus dispositivos
bt-devices -l
. Enumerará todos los dispositivos conocidos (pero no necesariamente conectados o incluso descubiertos) con la dirección MAC entre paréntesis.Para encontrar la lista de comandos permitidos, instale
d-feet
consudo apt install d-feet
. Después de ejecutarlo, aplique la búsqueda debluez
consultas en laSystem Bus
pestaña y encuentre la entrada con el MAC de sus dispositivos:Hay métodos similares a los que usan auriculares bluetooth debajo
org.bluez.MediaControl1
. Pero, cuando navega por ese árbol, puede encontrar MUCHO más, esto realmente merece su atención.dbus-send
es un comando para enviar señales usandodbus
.--system
El interruptor indica que queremos usar cosas deSystem Bus
la pestaña de d-feet. Todavía no lo he probado, pero supongo que--print-reply
es solo para fines de depuración y no es obligatorio.--dest=org.blez
se refiere alName
encabezado d-pies./org/bluez/hci0/dev_<mobile_bluetooth_device_mac_address_with_numbers_underscore_separated>
yorg.bluez.MediaControl1.<command>
refiérase a las rutas de los árboles de objetos.fuente
dbus-send
comandos a los botones multimedia de su PC o cómo piensa usarlos?