您的位置:首页 > 产品设计 > UI/UE

Bluetooth MESH探究 --- (5) BLE core spec之链路层基本流程

2017-07-31 23:51 218 查看

1 链路层协议流程

BLE节点为了让周围其它节点知道自己的存在,需要周期性的发送广播消息。如果其它节点收到了广播消息,它可能会发起连接请求,之后进行数据交互。当然,其它节点在收到广播消息之后,也有可能不会发起连接建立请求,取而代之的是发起扫描请求消息,以获取广播节点的更多其它信息。

 

下面描述BLE节点的三个基础流程:

(1) 定向广播;

(2) 主动扫描;

(3) 发起连接;

1.1 定向广播

在描述定向广播流程之前,先来了解一下非定向广播与定向广播的区别。非定向广播指的是一种没有指定目标节点地址的广播消息。而定向广播指的是一种指定了目标节点地址的广播消息。从定义可以看出,定向广播可以用于确定了路由下一跳节点时的数据转发。而非定向广播可以用于路由发现。

 

定向广播流程图如下:



在开始定向广播流程之前,Node B首先设置相关广播参数以及使能广播。然后,Node B周期性的发出DIRECT_IND广播包,直到Node B与Node A之间建立连接之后,Node B停止发送定向广播包。

1.2 主动扫描

在BLE系统中,扫描也分为两种:主动扫描和被动扫描。被动扫描,顾名思义指的是节点通过获取到的广播信息来搜集指定节点的信息。而主动扫描指的是节点在收到感兴趣节点的广播消息之后,通过主动发起SCAN REQ请求消息来获取节点更多信息的方式。

 

下图是主动扫描的流程图:



1.3 发起连接

    当一个节点收到另一个感兴趣节点的广播消息时,它会发起连接请求。如下图所示,Node B在发送广播消息的过程中,Node A希望建立与Node B的连接。Node A发起connec req消息,之后Node B与Node A就可以在数据信道交互数据了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息