Qt蓝牙低能耗-使用非标准GATT的问题

Qt Bluetooth Low Energy - Problems using non standard GATT

本文关键字:非标准 GATT 问题 Qt      更新时间:2023-10-16

我有一个不知道使用的gatt配置文件的设备,我只知道它是"自制的",而不知道蓝牙数据库中的任何内容。

在Linux中,命令

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

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

在Qt中,我使用的是来自http://doc-snapshot.qt-project.org/qt5-5.4/qtbluetooth-heartlistener-example.html在那里,它们使用gattprofile、QBluetoothUuid::HeartRate和QBlueto齿Uuid::HeartRateMeasurement 进行连接

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

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

设备发现是通过uuid进行的,即使您创建了一个具有新服务和新特性的新配置文件,也必须在设置中为新特性提供uuid。但我不知道,如何将多个特性添加到一个服务中,这对我来说不起作用。玩得开心