0

我需要以编程方式更改安全简单配对模式,但我不知道如何使用 DBus 命令在 Bluez 中打开或关闭 SSP 模式。

使用btmgmt实用程序,我只是这样做:

btmgmt ssp off
btmgmt ssp on

好的,但我需要的是可以包含在我的应用程序中的DBus 方法调用。

但是Bluez 文档似乎没有提到任何改变 SSP 模式的 DBus 方法。

有谁知道这是怎么做到的吗?(一个gdbus call或一个dbus-send例子会很棒)。

或者这是不可能的?

4

1 回答 1

1

使用 DBus 无法做到这一点。Bluez 没有用于此的 DBus API。您需要使用蓝牙管理套接字接口来切换 SSP 模式,或者您可以使用 bluez 已弃用的 HCI 接口来执行此操作。

要了解如何使用蓝牙管理套接字,请参阅bluez-5.X 源目录中的 bluez-5-X/doc/mgmt-api.txt文件。切换 SSP 的命令代码是0x000B. 实际上,这就是btmgmt工具启用/禁用 SSP 的方式。它使用蓝牙管理套接字。sspbluez-5.X/tools/btmgmt.c中搜索关键字并查看示例 C 代码。

您也可以使用已弃用的 hci API(不推荐)来执行此操作。请参阅bluez-5-X/lib/hci.chci_write_simple_pairing_mode中的方法。

于 2018-02-10T10:08:01.267 回答