BlueZ DBUS API - GATT 接口对 BLE 设备不可用

Posted

技术标签:

【中文标题】BlueZ DBUS API - GATT 接口对 BLE 设备不可用【英文标题】:BlueZ DBUS API - GATT interfaces unavailable for BLE device 【发布时间】:2016-08-25 16:27:21 【问题描述】:

我有一个 BLE 设备,上面运行着一堆 GATT 服务。我的目标是从 Linux 计算机(BlueZ 版本为 5.37)访问和读取此设备上的服务特征的数据。我启用了实验模式 - 因此,应该可以提供完整的 GATT 支持。然而,BlueZ 的 DBUS API 只为连接的设备提供org.bluez.GattManager1 接口,而不是我需要的org.bluez.GattCharacteristic1org.bluez.GattService1 接口。有什么我做错了吗?设备已连接并配对,实际上我只是想不出如何使这项工作,或者可能出了什么问题。

如果有帮助,我正在使用 Python 和 DBUS 模块与 BlueZ 进行交互。

【问题讨论】:

根据 bluez git,我们在 Bluez 5.37 中有 GattCharacterstic1GattService1。我错过了什么吗?无论如何,为什么不使用最新的 5.39 呢? 界面没有显示出来,这就是问题所在。我决定坚持使用现有的 Ubuntu 版本,而不是升级到 5.39,以防它破坏任何东西。 考虑到这个 tinyb 库依赖于 5.37,可能是我们遗漏了一些东西? 我会看看那个库——如果我必须把它带到 C++ 中,我可以。感谢您链接它,我什至不知道它存在! “不显示”是什么意思。我使用了 gatt 接口并且可以确认它们工作得很好。更有可能您没有正确使用它们,但我们无法判断,因为您没有提供代码。 【参考方案1】:

系统更新解决了这个问题。

【讨论】:

以上是关于BlueZ DBUS API - GATT 接口对 BLE 设备不可用的主要内容,如果未能解决你的问题,请参考以下文章

Bluez BLE 连接监控使用 DBUS-Python

GATT API bluez - MI乐队2

通过 Bluez DBus API 的设备连接/断开通知

Bluez DBUS api NewConnection 方法给出了错误的文件描述符

在 Bluez 中创建 dbus 接口

主动 BLE 扫描 (BlueZ) - DBus 问题