我正在开发一个带有beagle bone black wireless的项目,我需要能够将音乐控制命令发送到手机。请注意,我不想将音乐流式传输到我的beaglebone。我花了大约一个星期的时间在网上看,并发现很少。
beaglebone的操作系统是Debian Jessie。我可以使用像hci0tool,Bluetoothctl,hciconfig这样的东西。我可以检测并配对设备。虽然我的连接似乎只能用于配对过程,但每次都会失败。
我当前的流程正在执行:
Task
我得到了mac地址
sudo su
bluetoothctl
power on
agent on
default-agent
scan on
截至目前,配对和信任成功,但连接完成后连接结束。我不知道从哪里开始向手机发送命令。
答案 0 :(得分:0)
在Device1接口上连接呼叫将尝试连接设备和适配器之间支持的所有配置文件。这通过协商或交换支持的配置文件来实现。
当适配器不支持设备所需的配置文件的最低要求时,可能无法进行连接。在这种情况下,您可能需要适配器端的A2DP提供程序才能成功连接。是的,这与statement相矛盾。
如果您不想连接设备和适配器之间的所有配置文件,则可以在Device1界面中使用ConnectProfile方法。
但是bluetoothctl并没有提供命令来既不实现ConnectProfile也不实现AVRCP命令。
您需要使用D-Bus呼叫与Bluetoothd进行通信。如果您的应用程序是基于命令行/ shell的,则可以使用dbus-send / gdbus命令来寻址D-Bus接口。
尽管bluez-tools实现了media control AVRCP命令,但它并没有提供任何使用它的实用程序。您可以将bluez-tools编译为库并使用媒体控制API开发应用程序或使用dbus-send / gdbus。
我已经开始使用GDBUS的一些示例,但尚未用于AVRCP控件。见这里:https://gist.github.com/parthitce 和文档:https://www.linumiz.com/category/blog/