浅谈蓝牙“嗅探”功能设计

BLE(Bluetooth Low Energy)即低功耗蓝牙技术,通讯双方角色分别配置为 “蓝牙主机”和“蓝牙从机”,通常情况下从机以固定间隔发送“广播”数据包,广播包中可包含物理地址、功率、用户信息等,主机发现广播设备后发起蓝牙连接,广播设备停止广播接收连接请求。蓝牙主机通常情况下扫描周边广播设备,并主动向广播设备发起蓝牙连接。连接建立后,主从蓝牙设备就可以进行数据收发。

通常蓝牙设备实现数据交换都是建立在蓝牙连接的状况下,因为蓝牙连接成功后,通讯过程是双向的,即主机可以发送数据到从机,从机可同时发送数据到主机,实现了全双工的通讯,且蓝牙底层能保障数据的有效性和稳定性。但是由于蓝牙连接过程比较复杂、连接时间相对较长,导致系统功耗偏高。尤其是在蓝牙标签等低功耗穿戴设备应用中,功耗影响极其重要,而通常情况下标签通讯只需要实现单向传输,即标签周期发送数据到蓝牙主机,主机不用回复数据,且数据传输量极小,通常10个字节以内。

所以类似蓝牙标签一类的应用场景中,通常系统功耗要求低,数据通讯量小的特点,不适合采用蓝牙连接的方式通讯。而蓝牙从机的广播机制采用了周期广播发送机制,整机功耗可以控制在很低的范围(1秒广播一次,平均功耗月15uA),且广播信息支持最多携带31字节用户数据。作为接收端的主机设备则需要动态抓取“广播数据包”,即广播“嗅探”模式,该模式下主机仅仅实现广播数据监听,并提取其中的有效用户数据,包括MAC地址、信号强度RSSI、用户自定义数据字段等。

成都公司公司的E104-BT02产品支持蓝牙主从模式,从机模式下支持用户自定义广播数据包,兼顾数据发送和功耗控制,平均功耗可控制在+10uA左右,主机模式下支持广播“嗅探”抓包,可通过串口打印输出广播MAC地址和RSSI,非常适合低功耗传感器数据采集场景。