Bluez-5.36 StartDiscovery() 方法

Bluez-5.36 StartDiscovery() method

我在 bluez-5.36 库 中搜索了方法 StartDiscovery(),但找不到。

有人能告诉我这个方法是在哪里实现的吗?

它在“bluez-5.36/doc/”目录的 "adapter-api.txt”中提到。

也就是通过D-BusAPI和GATT来使用bluez。为了访问此功能,您需要使用一些实验性功能编译 bluez(GATT/D-Bus API 仍处于实验状态)。然后你可以使用D-Bus API访问Adapter并执行它上面的方法(Start/StopDiscovery)

请看一下这个项目:https://github.com/jomarmar/bluez-experimental。它只是 bluez 的一个分支,为了激活 GATT API 实验性功能进行了一些更改。

您应该在启用实验标志的情况下安装 BlueZ。 BlueZ 正在通过使用 DBus 公开蓝牙 'objects' 和相关方法和属性来向用户 space 开发。

如果安装 d-feet,您实际上可以查看 API 文档中描述的对象的方法和类型:

sudo apt-get install d-feet

但是,对于与 GATT 相关的功能,必须启用实验标志。 如果您不确定如何启用实验标志,您可以 运行 sudo bluetoothd -E 启用带有实验标志的蓝牙守护进程。相应的 GattManager1 接口等将发布在 DBus 接口中,我再次强烈建议使用 d-feet 来了解它是如何工作的。

如果您正在寻找一些源代码和 documentation/help 关于 DBus API 的使用和编程,您可能想查看我的回答