用于 BLE 的 BluezV5.42 DBUS C API?

abh*_*ora 5 c++ linux bluetooth-lowenergy bluez

我开发了 BLE 应用程序以openwrt使用BLUEZV5.30. 我能够通过提取源代码gatttool和hcitool. 我还添加了这些工具提供的更多功能(如阅读rssi)。

但是,我已将bluez堆栈升级为,5.42并且计划将DBUS接口用于所有与 BLE 相关的操作。我想要的功能:

  1. 读取RSSI
  2. 连接和断开
  3. 粘接
  4. 配对
  5. 删除绑定信息
  6. 发现
  7. 扫描
  8. 广告
  9. 写入/读取特征
  10. 通知和指示

我能够使用我用 C++ 编写的代码执行上述所有操作(绑定和配对除外)。但是,由于我现有代码的一些问题以及无法配对/绑定,我想迁移到 dbus 接口。但是,我不确定BLUEZ DBUS APIAPI 提供的错误和功能。我已经阅读了这个API 文档,但它没有给出任何关于 DBUS 接口的清晰图片。

我的问题是我不确定我是否可以获得所有必需的功能dbus api?我已经阅读了文档(bluez dbus api),但我仍然不确定。

Oli*_*erM 5

正如您在另一篇文章中提到的,我更新了gattlib以支持 Bluez DBUS API。
gattlib是用 C 编写的。如果你不想使用它,查看它的代码应该有助于你进步。

自 Bluez v5.42 起,GATT D-BUS API 不再标记为实验性。

DBUS API 在此处描述:https : //git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc。还有 (python)示例演示 API。