如何在不配对的情况下读取 BLE 广告包
How to read BLE Advertising Packets without pairing
我需要从 BLE 传感器读取广告数据包,这些传感器每 5 秒在广告数据包中广播一次温度。制造商告诉我数据包将是一个 GAP 扫描响应事件,我不需要连接到设备来读取这个数据包。
当我 运行 sudo hcitool lescan
时传感器的 MAC 地址出现
但是,当我 运行 sudo gatttool -I -t random -b 06:09:16:41:87:DB
发生这种情况时:
[06:09:16:41:87:DB][LE]> connect
Attempting to connect to 06:09:16:41:87:DB
Error: connect error: Connection refused (111)
另外,当我 运行 sudo gatttool -b 06:09:16:41:87:DB -I
并连接时,我得到:
Error: connect error: Transport endpoint is not connected (107)
如果我无法通过 gatttool 建立蓝牙连接,我该如何读取这个广告包?
好吧,如果你想收听广告事件,那么你不应该连接,因为广告是广播的。你应该只是扫描。如果您在单独的终端中同时使用调试工具 "hcitool lescan" 和 "sudo btmon",那么您应该会看到扫描响应数据。
我需要从 BLE 传感器读取广告数据包,这些传感器每 5 秒在广告数据包中广播一次温度。制造商告诉我数据包将是一个 GAP 扫描响应事件,我不需要连接到设备来读取这个数据包。
当我 运行 sudo hcitool lescan
但是,当我 运行 sudo gatttool -I -t random -b 06:09:16:41:87:DB
发生这种情况时:
[06:09:16:41:87:DB][LE]> connect
Attempting to connect to 06:09:16:41:87:DB
Error: connect error: Connection refused (111)
另外,当我 运行 sudo gatttool -b 06:09:16:41:87:DB -I
并连接时,我得到:
Error: connect error: Transport endpoint is not connected (107)
如果我无法通过 gatttool 建立蓝牙连接,我该如何读取这个广告包?
好吧,如果你想收听广告事件,那么你不应该连接,因为广告是广播的。你应该只是扫描。如果您在单独的终端中同时使用调试工具 "hcitool lescan" 和 "sudo btmon",那么您应该会看到扫描响应数据。