用于BLE的BluezV5.42 DBUS C API?

时间:2017-04-18 15:02:18

标签: c++ linux bluetooth-lowenergy bluez

我使用openwrtBLUEZV5.30开发了BLE应用程序。我能够通过提取源代码gatttoolhcitool来创建应用程序。我还添加了这些工具提供的更多功能(例如阅读rssi)。

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

  1. 阅读RSSI
  2. 连接和断开连接
  3. 贴合
  4. 配对
  5. 删除绑定信息
  6. 发现
  7. 扫描
  8. 广告
  9. 写入/阅读特征
  10. 通知和适应症
  11. 我能够使用我用C ++编写的代码执行上述所有操作(绑定和配对除外)。但是,由于我现有代码的一些问题和无法配对/绑定,我想迁移到dbus接口。但是,我不确定BLUEZ DBUS API中的错误和API提供的功能。我已阅读此API Doc但它没有给出DBUS界面的任何清晰图片。

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

1 个答案:

答案 0 :(得分:1)

正如您在其他post中提到的,我更新了gattlib以支持Bluez DBUS API。
gattlib是用C编写的。如果您不想使用它,查看其代码应该可以帮助您进步。

Sinve Bluez v5.42,GATT D-BUS API is not longer mark as experimental

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