我如何在 BTool 中使用 GATT_Notification 命令

how can I use GATT_Notification command with BTool

我正在使用 BTool 向 CC2540 蓝牙模块发送命令。我想收到通知。当我发送通知命令时,btool 显示已发送的命令

[43] : <Tx> - 11:11:47.051
-Type           : 0x01 (Command)
-OpCode         : 0xFD9B (GATT_Notification)
-Data Length    : 0x06 (6) byte(s)
 ConnHandle     : 0x0000 (0)
 Authentic      : 0x00 (0) (No)
 Handle         : 0x1B00 (6912)
 Value          : 00:50
Dump(Tx):
0000:01 9B FD 06 00 00 00 1B 00 50  

Handle(温度特性)和connHandle的值是正确的,但我没有从服务器得到任何响应。是否有任何预先配置要执行,例如在某处启用通知?

您需要为特征启用通知。首先需要查询客户端特征配置uuid:

08 1B 00 1C 00 02 29

其中第一个字节是操作读取请求,接下来的两个字节是您的句柄 ID,随后的两个字节是范围限制(句柄 ID + 1),最后两个字节是 GATT_CLIENT_CHARAC_CFG_UUID 过滤器。您会收到类似这样的回复:

09 04 LL HH 00 00

其中第一个字节是响应(按类型响应读取),下一个字节是负载长度,LL HH 是配置特征句柄,最后两个字节是它的值。

在此步骤中,您可以通过向此句柄 ID 写入 0x0001 来启用通知:

12 LL HH 01 00

此时应该启用您的特征通知。