0

我正在使用小猎犬骨黑无线进行一个项目,我需要能够将音乐控制命令发送到手机。请注意,我不想将音乐流式传输到我的 beaglebone。我花了大约一周的时间在网上寻找,但发现很少。

beaglebone 的操作系统是 Debian Jessie。我可以让 hci0tool、Bluetoothctl、hciconfig 之类的东西正常工作。我可以检测并与设备配对。似乎我的连接只在配对过程中持续,之后每次都失败。

我当前的进程正在执行:

sudo su
bluetoothctl
power on
agent on
default-agent
scan on

我得到了mac地址

scan off
pair <MAC Address>
trust <MAC Address>
connect <MAC Address>

到目前为止,配对和信任成功,但连接在配对完成后结束。而且我不知道从哪里开始向手机发送命令。

4

1 回答 1

0

Device1 接口上的 Connect 调用将尝试连接设备和适配器之间支持的所有配置文件。这通过协商或交换支持的配置文件来实现。

当适配器不支持设备所需的最低配置文件要求时,可能无法连接。在这种情况下,您可能需要适配器端的 A2DP 提供程序才能成功连接。是的,这与这个说法相矛盾。

如果不想连接 Device 和 Adapter 之间的所有配置文件,则可以使用Device1 接口中的ConnectProfile方法。

但是 bluetoothctl 不提供命令来实现 ConnectProfile 和您的 AVRCP 命令。

您需要使用 D-Bus 调用来获得与 Bluetoothd 的通信。如果您的应用程序是基于命令行/shell 的,您可以使用 dbus-send/gdbus 命令来寻址 D-Bus 接口。

虽然 bluez-tools 实现了媒体控制AVRCP 命令,但它不提供任何使用它的实用程序。您可以将 bluez-tools 编译为库并使用媒体控制 API 开发应用程序,也可以使用 dbus-send/gdbus。

我已经开始使用 GDBUS 进行一些示例,但还没有用于 AVRCP 控件。请参见此处:https ://gist.github.com/parthitce 和此处的文档:https ://www.linumiz.com/category/blog/

于 2018-06-07T12:31:50.317 回答