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就可以在数据信道交互数据了。相关文章推荐
- Bluetooth MESH探究 --- (4) BLE core spec之链路层信道与状态
- Bluetooth MESH探究 --- (7) BLE core spec之为什么BLE能有更低功耗
- Bluetooth MESH探究 --- (3) BLE core spec之物理层
- Bluetooth MESH探究 --- (6) BLE core spec之广播信道防冲突与数据信道选择
- AnyChat Platform Core SDK基本开发流程
- [BT_Overview]蓝牙core spec基本内容
- 软件开发流程基本结构
- 需求基本流程和要求——公司培训
- JS,轮播图(用最基本的流程写的)第一部分
- 交易平台基本密钥处理流程(SJL05加密机)
- mochiweb小结(基本流程)
- 工作杂谈之:软件测试基本流程与要求
- 按照流程来 错不了 郑州SEO最基本的七个步骤
- Laravel 5系列教程五:MVC的基本流程
- Java 基本语法---流程控制
- CoreJava学习3——基本类型的包装类
- 光栅化三维场景的基本流程
- JavaScript基础-基本数据类型和基本流程控制
- 蓝牙 CoreBluetooth基本使用
- Google test源码阅读(一):基本执行流程