我正在尝试使用BLE嗅探和wireshark来获取交换的数据。 从一开始:我有一个与设备通信的制造商应用程序。该设备是服务器,必须与我的智能手机配对,这可以在应用程序内完成。所以我自己做了一个快速连接应用程序,并比较了hci_log文件的差异。现在我想我要交换数据以完成配对。现在问题是:我有服务和特性UUID以及我想发送的值。我的目的是构建一个状态机,因为有多个命令要发送完成。这里是嗅觉的摘录:
ATT 26发送句柄值通知,句柄:0x0031(通用访问配置文件:中央地址解析:未知)
服务UUID:0x1800 Characteristic_UUID:0x2006
值:18:00:17:00:22:00:12:2F:2F:77:2F:43:2F:55:53:47:58:32:44:FF
我不知道我是否必须发送带有特色.Write()命令或者如果我必须发送到通知/ CCCD。我认为我必须将其发送到通知但我可以& #39; t之前在日志中找到notification enable命令。是否有可能在通知之前将数据发送到通知中? 谢谢你的帮助
答案 0 :(得分:1)
如果设备未绑定,则客户端需要将0x0001(字节0x01后跟0x00)写入客户端特性配置描述符,以便允许服务器发送通知。如果设备断开连接并稍后再次连接,则需要重写描述符。
如果设备已绑定,则客户端还需要写入描述符,但如果它们断开连接并重新连接,则服务器会记住描述符值,因此客户端不必再次写入。