BLE 解释器 hci 日志 wireshark

BLE interprete hci log wireshark

我正在尝试使用 BLE 嗅探和 wireshark 来获取交换的数据。 从一开始:我有一个与设备通信的制造商应用程序。这个设备,也就是服务器,必须与我的智能手机配对,这是在应用程序内完成的。所以我自己制作了一个快速的 ble 连接应用程序,并比较了 hci_log 文件的差异。现在我想我有要交换的数据来完成配对工作。现在 problem:I 具有服务和特征 UUID 以及我要发送的值。我的意图是构建一个状态机,因为要发送多个命令来完成此操作。这是嗅探的摘录:

ATT 26 Sent Handle Value Notification, Handle: 0x0031 (Generic Access Profile: Central Address Resolution: Unknown)

服务UUID:0x1800 Characteristic_UUID:0x2006

value:18:00:17:00:22:00:12:2f:2f:77:2f:43:2f:55:53:47:58:32:44:ff

我不知道我是否必须使用 characteristic.Write() 命令发送或者我是否必须发送到 notification/CCCD。我假设我必须将它发送到通知,但我之前在日志中找不到通知启用命令。是否可以在启用之前将数据发送到通知? 感谢您的帮助

如果设备未绑定,客户端需要将 0x0001(字节 0x01 后跟 0x00)写入客户端特征配置描述符,以便允许服务器发送通知。如果设备断开并稍后再次连接,则需要重写描述符。

如果设备绑定,客户端还需要写入描述符,但如果它们断开连接并重新连接,服务器会记住描述符值,因此客户端不必再次写入。