1

我有一个设备,但不知道使用的 gatt 配置文件,我只知道这是“自制”的,而不是蓝牙数据库上已知的任何东西。

在 Linux 中,命令

gatttool -i hci0  -b xx:xx:xx:xx:xx:xx  --char-read --handle=42

按预期返回值(目标设备 mac 位于 xx:xx:xx:xx:xx:xx)。

在 Qt 中,我使用来自http://doc-snapshot.qt-project.org/qt5-5.4/qtbluetooth-heartlistener-example.html的 Heartbeat-Example, 他们使用 gattprofile、QBluetoothUuid::HeartRate 和 QBluetoothUuid:: 进行连接心率测量

我无法以读取句柄 42 的方式修改示例代码。你能解释一下我必须把哪些值放在哪里,它像 gattool 命令一样连接到“标准配置文件”吗?如果我在交互模式下使用 gatttool 并询问 primary 它返回两个 uuid,但使用它们而不是 QBluetoothUuid::HeartRate 不起作用。

4

2 回答 2

1

Qt 蓝牙低功耗 API 似乎没有提供根据句柄值获取对特征的访问权限的方法。(Windows 8 BLE API 也没有。)您应该使用 UUID。即使是自制设备,GATT 协议也要求所有服务和特性都具有 UUID。lowenergyscanner 演示应用程序可以发现并显示所有设备服务和特征的 UUID 和句柄。我使用 lowenergyscanner 来处理我正在开发的 BLE 设备。

于 2015-02-26T07:29:13.273 回答
0

设备发现是通过 uuid 进行的,即使您使用新服务和新特性创建新配置文件,您也必须在设置中提供新特性 uuid。但我不知道,如何为一项服务添加多个特性,它不适用于我。玩得开心

于 2019-10-14T11:46:41.377 回答