我在 bluez-5.36库中搜索了StartDiscovery()
方法,但我找不到。
有人可以告诉我这个方法的实施位置吗?
在"adapter-api.txt
" " bluez-5.36/doc
/" 。目录
答案 0 :(得分:1)
那就是通过D-Bus API和GATT使用bluez。要访问此功能,您需要使用一些实验性功能编译bluez(GATT / D-Bus API仍处于试验阶段)。然后你可以使用D-Bus API访问Adapter并执行它上面的方法(Start / StopDiscovery)
请看一下这个项目:https://github.com/jomarmar/bluez-experimental。它只是一个bluez的分支,有一些变化,以激活GATT API实验功能。
答案 1 :(得分:1)
您应该在启用实验标记的情况下安装BlueZ
。通过使用DBus公开蓝牙对象,BlueZ正朝着用户空间发展的方向发展。以及相关的方法和属性。
如果安装d-feet
,您实际上可以查看API文档中描述的对象的方法和类型:
sudo apt-get install d-feet
但是,对于与GATT相关的功能,必须启用实验标志。
如果您不确定如何启用实验标记,则可以运行sudo bluetoothd -E
以启用带有实验标记的蓝牙守护程序。相应的GattManager1
接口等将在DBus界面中发布,我强烈建议使用d-feet
来了解它是如何工作的。
如果您正在寻找有关DBus API使用和编程的一些源代码和文档/帮助,您可能需要查看我的答案here。