1、BLE广播概述:BLE广播的历史与演进、BLE 5.0广播新特性概览、广播在物联网中的角色

1.1 从蓝牙1.0到5.0:广播的进化之路

说起BLE广播,我最早接触是在2010年左右。那时候蓝牙4.0刚出来,大家管它叫"低功耗蓝牙"。说实话,当时的广播功能特别简单——就是设备每隔一段时间喊一嗓子:"我在这儿!"

蓝牙1.0到3.0时代,广播?不存在的。那时候蓝牙主要做点对点连接,像耳机、鼠标这种。你想想看,一个设备要跟另一个设备说话,得先配对,再连接,流程繁琐得很。

到了蓝牙4.0,BLE横空出世。广播模式终于被正式定义。我记得第一次用nRF51822做广播实验时,心里还挺激动——一个纽扣电池就能让设备广播好几个月,这在以前想都不敢想。

蓝牙4.0的广播信道只有3个:37、38、39。数据包最大31字节。嗯,31字节能干啥?发个温度值、设备名称,基本就满了。我在项目中遇到过这种情况:想多传几个传感器数据,结果发现包不够用,只能分多次广播。

蓝牙4.1和4.2做了一些小修小补。比如4.2引入了扩展广播长度,但本质上还是那套老框架。说白了,就是缝缝补补又三年。

直到蓝牙5.0发布,广播这块才真正迎来大变革。我个人习惯把5.0的广播称为"广播2.0时代"。

1.2 BLE 5.0广播新特性:到底新在哪?

BLE 5.0的广播,说白了就是三个字:更快、更远、更灵活

核心变化一:广播信道扩展

以前只有3个广播信道,现在可以扩展到37个数据信道。这意味着什么?干扰更少,成功率更高。我在做智能家居项目时,家里WiFi、Zigbee一堆设备,2.4G频段挤得要命。5.0的扩展信道确实帮了大忙。

核心变化二:广播数据包长度

从31字节直接跳到255字节!这可不是小数目。以前传个设备名加UUID就满了,现在可以塞下完整的传感器数据、配置信息,甚至小图片。

核心变化三:广播模式多样化

BLE 5.0引入了三种新广播模式:

  • 可连接广播:老模式,设备广播后可以被连接
  • 不可连接广播:只发不收,适合信标场景
  • 周期性广播:5.0新增,设备按固定周期发数据,扫描端可以同步接收

这里我要特别提一下周期性广播。我曾经在做一个资产追踪项目时,需要实时获取设备位置。用传统广播,每次都要重新扫描,功耗高、延迟大。换成周期性广播后,扫描端可以跟设备建立同步,数据来了直接收,功耗降了40%。

特性 BLE 4.x BLE 5.0
广播信道数 3 3 + 37个数据信道
最大广播数据包 31字节 255字节
广播模式 2种 5种
广播间隔 20ms-10.24s 20ms-10.24s(更灵活)
编码方式 1Mbps 1Mbps / 2Mbps / 125kbps

避坑指南:我曾经在调试5.0广播时,发现设备广播距离反而比4.2还短。查了半天,原来是编码方式没选对。125kbps模式虽然距离远,但功耗高。如果你做的是室内应用,1Mbps就够用了,别盲目追求远距离。

1.3 广播在物联网中的角色:不只是"喊一嗓子"

很多人觉得广播就是设备发个信号,告诉别人"我在这儿"。其实远不止如此。在物联网世界里,广播承担着三个关键角色:

角色一:发现与配对

这是最基础的功能。你的手机打开蓝牙,周围设备通过广播告诉手机:"我是智能灯泡"、"我是温度传感器"。没有广播,设备之间就是瞎子摸象。

角色二:数据分发

BLE 5.0的广播可以承载实际数据。比如一个温湿度传感器,每隔5秒广播一次当前数据。手机或者其他网关收到后,直接解析使用,不需要建立连接。这在低功耗场景下特别实用。

我记得有个客户做冷链物流,需要在运输过程中监测温度。如果用连接模式,每个运输箱都要跟手机配对,太麻烦了。后来改用广播模式,手机一扫就能看到所有箱子的温度数据,效率提升了好几倍。

角色三:信标与定位

苹果的iBeacon、谷歌的Eddystone,都是基于BLE广播做的。设备广播自己的ID,手机根据信号强度估算距离。我在商场里做过测试,用5.0的广播做室内定位,精度能到1-2米,比4.0好不少。

注意:广播虽然方便,但别滥用。一个区域里广播设备太多,信道会拥堵。我见过一个展会现场,几百个设备同时广播,结果手机扫描列表刷都刷不出来。建议广播间隔不要小于100ms,数据包尽量精简。

嗯,说到这里,你应该对BLE广播有了整体认识。从4.0的"小水管"到5.0的"高速公路",广播技术一直在进化。下一章我们会深入广播协议栈,看看数据包到底是怎么组装和解析的。

对了,如果你手头有支持5.0的开发板,建议先跑个广播示例。亲自看看广播间隔、数据包长度这些参数怎么调,比看十遍文档都管用。