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的开发板,建议先跑个广播示例。亲自看看广播间隔、数据包长度这些参数怎么调,比看十遍文档都管用。