前几篇讲的都是两个设备之间的对话:连接、流控、回环,主角永远是一对一的伙伴关系。蓝牙里还有一种截然不同的姿态——一个人对着空气说话,谁想听谁竖起耳朵,说的人根本不在乎台下坐了多少人。这就是无连接外设广播服务,一套纯广播语义的机制:发射端按自己的节奏发,任意多个接收端被动收,没有连接、没有应答、没有重传。
目录
一、前戏:先对时,再听广播
二、发射端:三步备货开播
三、同步火车:挂在站台上的时刻表
四、接收端:对上暗号,开听
五、几个值得展开的点
六、测验
像什么?像广播电台。电台播音员对着话筒念稿,几万人同时收听,没人会举手说刚才那句没听清请再念一遍。听漏了就漏了,这是广播的天然属性,也是它的价值所在:容量与接收者数量无关,一个发射端服务一万个接收者和服务一个接收端,空口开销完全相同。
这套机制的规范流程图一共四张,讲了两件事:发射端怎么备货开播,接收端怎么找到台听进去。但真把四张图按顺序读下来,会发现中间藏着一段容易被忽略的前戏——对时。下面按接力顺序完整拆解。
一、前戏:先对时,再听广播
第一张图画的不是广播本身,而是一次特殊的寻呼:
流程从 Device A 打开可寻呼开始:Host A 下发 HCI_Write_Scan_Enable,让 Controller A 处于可被寻呼状态。然后 Device B 发起动作——H