1 链路层协议流程
BLE节点为了让周围其它节点知道自己的存在,需要周期性的发送广播消息。如果其它节点收到了广播消息,它可能会发起连接请求,之后进行数据交互。当然,其它节点在收到广播消息之后,也有可能不会发起连接建立请求,取而代之的是发起扫描请求消息,以获取广播节点的更多其它信息。
下面描述BLE节点的三个基础流程:
(1) 定向广播;
(2) 主动扫描;
(3) 发起连接;
1.1 定向广播
在描述定向广播流程之前,先来了解一下非定向广播与定向广播的区别。非定向广播指的是一种没有指定目标节点地址的广播消息。而定向广播指的是一种指定了目标节点地址的广播消息。从定义可以看出,定向广播可以用于确定了路由下一跳节点时的数据转发。而非定向广播可以用于路由发现。
定向广播流程图如下:
在开始定向广播流程之前,Node B首先设置相关广播参数以及使能广播。然后,Node B周期性的发出DIRECT_IND广播包,直到Node B与Node A之间建立连接之后,Node B停止发送定向广播包。