我有一个设备,不知道使用的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 :: HeartRateMeasurement
我无法以读取句柄42的方式修改示例代码。 你能解释我在哪里放置哪些值,它连接到"标准配置文件"作为gattool命令吗?如果我在交互模式下使用gatttool并询问主要它返回两个uuids,但使用它们而不是QBluetoothUuid :: HeartRate不起作用。
答案 0 :(得分:0)
Qt蓝牙低功耗API似乎没有提供根据其句柄值获取特征访问权限的方法。 (Windows 8 BLE API也不是。)您应该使用UUID。即使它是自制设备,GATT协议也要求所有服务和特性都具有UUID。 lowenergyscanner演示应用程序可以发现并显示所有设备的服务和特征的UUID和句柄。我使用了lowenergyscanner来处理我正在开发的BLE设备。
答案 1 :(得分:0)
设备发现是通过uuid进行的,即使您使用新服务和新特性创建了新的配置文件,也必须在设置中提供新特性uuid。 但我不知道,如何为一项服务添加多个特征,这对我不起作用。 玩得开心