1. 蓝牙广播基础概念解析
低功耗蓝牙(BLE)的广播机制是整个通信流程的起点,相当于设备对外发布的"自我介绍"。广播数据包中包含了设备类型、服务能力、制造商信息等关键内容,让周围的扫描设备能够快速识别并决定是否建立连接。
广播包由两部分组成:广播报文头(Header)和广播数据(Payload)。报文头包含广播类型、地址类型等元信息,而Payload部分则承载着实际的广播数据单元(AD Structure)。每个AD Structure由长度、类型和实际数据三部分组成,这种模块化设计让设备可以灵活组合不同类型的信息。
注意:广播信道固定在37/38/39这三个特定频段,这是为了避免与WiFi等其他2.4GHz设备的信道冲突。实际使用中设备会在这三个信道间跳频发送相同内容,提高通信可靠性。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 广播类型深度剖析
2.1 可连接非定向广播(ADV_IND)
这是最常见的广播类型,设备通过这种广播表明自己愿意接受任何设备的连接请求。典型的应用场景包括智能手环、蓝牙键盘等外设设备。广播间隔通常设置在20ms到10.24s之间,需要根据具体应用平衡功耗和响应速度。
c复制// 典型广播参数设置示例
#define ADV_INTERVAL_MIN 160 // 100ms (单位:0.625ms)
#define ADV_INTERVAL_MAX 160 // 100ms
2.2 可连接定向广播(ADV_DIRECT_IND)
当设备需要快速与特定设备建立连接时使用,包含目标设备的MAC地址。这种广播不会携带额外的服务信息,专注快速建立连接。常见于配对后的快速重连场景,广播间隔通常更短(20ms-3.75ms)。
2.3 不可连接广播(ADV_NONCONN_IND)
用于纯广播数据的场景,如信标(Beacon)、环境传感器等。这类设备只发送数据不接受连接,因此可以实现极低功耗。广播间隔可以设置得较长(秒级甚至分钟级)。
2.4 可扫描广播(ADV_SCAN_IND)
介于可连接和不可连接之间,允许设备扫描获取更多信息但不接受直接连接。博物馆导览设备常用这种模式,让游客手机可以获取展品详情而不需要建立持久连接。
