蓝牙低功耗应用:从设备发现到iBeacon解码
1. 广告数据结构示例
以设备名称广告结构为例,其长度为15(十六进制值0x0f),类型为设备名称(值0x09),后面跟着14个字节,代表字符串“Gigaset keeper”的ASCII值。这里长度字节为15,是因为它包含了类型(1字节)和设备名称(14字节)的字节数。
2. 使用Bleak发现广告
在了解了广告通道和数据包结构理论后,接下来将其付诸实践。编写蓝牙低功耗(BLE)中心设备代码时,首先要解决的问题是如何找到附近的BLE设备。由于每个广告数据包都包含设备的蓝牙地址,所以问题就变成了如何发现广告数据包。使用Bleak可以轻松实现这一点。默认情况下,它会安装命令行程序 bleak-lescan ,这是一个简单的BLE扫描器,它使用默认的BLE适配器扫描BLE广告数据包5秒钟(如果想更改这些参数,可以查看 bleak-lescan --help ),然后显示它发现的设备的蓝牙地址和名称。示例输出如下:
7D:26:FB:36:BB:E8: 7D-26-FB-36-BB-E8
54:64:0D:D5:77:AD: 54-64-0D-D5-77-AD
03:53:E4:16:21:AC: 03-53-E4-16-21-AC
DC:A6:32:59:6F:41: DC-A6-32-59-6F-41
75:C9:99:26:5D:F4: 75-C9-99-26-5D-F4
45:77:8E:66:4D:5F: 45-77-8E-66-4D-5F
E4:00:95:18:57:1A:
超级会员免费看
订阅专栏 解锁全文
4024

被折叠的 条评论
为什么被折叠?



