我正在试验BLE嗅探和wireshark来获取交换的数据。从一开始:我有一个制造商的应用程序,可以与设备通信。这个设备是服务器,必须与我的智能手机配对,这是在应用程序中完成的。因此,我自己制作了一个快速的ble连接应用程序,并比较了hci_log文件的不同之处。现在我想我需要交换数据来完成配对工作。现在的问题是:我有服务和特征UUID以及我想要发送的值。我的目的是构建一个statemachine,因为需要发送多个命令来完成这个任务。在这里,来自嗅觉的摘录:
ATT 26发送句柄值通知,句柄: 0x0031 (通用访问配置文件:中心地址解析:未知)
服务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()命令发送is,或者是否必须发送到notification/CCCD.I,我假设必须将它发送到通知,但在日志中找不到通知启用命令。在对数据进行标记之前,是否可以将数据发送到通知?谢谢你的帮忙
发布于 2018-05-24 22:15:38
如果设备没有绑定,则客户端需要将0x0001 (字节0x01后面接0x00)写入客户端特征配置描述符,以便允许服务器发送通知。如果设备断开并在以后再次连接,则需要重写描述符。
如果设备是绑定的,客户端也需要写入描述符,但是如果它们断开和重新连接,服务器就会记住描述符值,这样客户机就不必再写它了。
https://stackoverflow.com/questions/50502625
复制相似问题