【问题标题】:Bluez Timeout on read with D-Bus API使用 D-Bus API 读取时 Bluez 超时
【发布时间】:2017-04-06 20:44:10
【问题描述】:

我正在从 Bluez 扩展 tools/gatt_service.c 以为我的设备创建一些自定义读取特性。

但其中一些可能需要一段时间来处理,例如扫描 wifi SSID。 当我的服务器收到来自客户端的读取请求时,我开始 wifi 扫描(最多可能需要 15sc),我想在同一请求的响应中返回 SSID 列表。但是使用 D-Bus API,我的请求总是在 5sc 之后结束,而不是等到 wifi 扫描结束,就像超时一样。有没有办法管理这个超时?

我也尝试过使用低级 Bluez API 并且成功,但我真的很想使用 D-BUS API。

谢谢!

【问题讨论】:

    标签: c bluetooth-lowenergy dbus bluez


    【解决方案1】:

    我终于通过直接修补 Bluez 代码来解决问题。

    我在 src/shared/gatt-db.c 中更改了 ATTRIBUTE_TIMEOUT

    #define ATTRIBUTE_TIMEOUT 28000
    

    目前没有副作用。我只是不知道为什么这个值是硬编码的,并且不能从 bluethodctl 或其他地方更改。

    【讨论】:

      猜你喜欢
      • 2018-11-13
      • 2019-04-26
      • 1970-01-01
      • 2023-03-31
      • 2016-03-06
      • 2017-05-29
      • 2016-11-15
      • 2019-02-05
      • 2019-08-17
      相关资源
      最近更新 更多