蓝牙mesh配网协议一配网协议栈

蓝牙mesh并不是一个新版本,基于BLE这句话能解释很多问题,蓝牙mesh的设备跟一般BLE4.0、5.0设备都是蓝牙服务和特性,这一点上没区别,只不过是约定了一个固定名称的服务和特性,来传输指定格式的数据。蓝牙mesh只不过是一套人为规定的通信协议。不要把它脱离BLE设备的范畴,这一点非常重要。

mesh设备加入网络的过程,从抽象层面讲,至少包含以下几个方面:

(1)未配网设备需要让配网器知道他的存在

(2)在未配网设备和配网器间建立一个信息桥梁

(3)配网器和未配网设备建立某种安全的传输方式

(4)配网器需要验证未配网设备是否可以加入网络

(5)最后,如果未配网设备可以加入蓝牙mesh网络,则配网器加密传输配网数据给未配网设备。

实际程序中的配网流程也是与此一一对应

(1)通常情况下,未配网设备上电会向外广播。

(2)未配网设备跟配网器建立一个连接。

(3)通过椭圆曲线密钥交换协议(EDCH)安全的建立一个共享密钥,用于传递配网数据。

(4)通过OOB信息认证未配网设备是否可以加入蓝牙mesh网络。

(5)加密传输配网数据。

蓝牙mesh配网协议

蓝牙mesh配网协议的目的是为了更好的完成配网PDU在配网过程中的传输。PDU是用来在配网器与未配网设备之间进行通信的基本单元。目前蓝牙mesh规范定义了10种配网PDU:

1.配置邀请(Provisioning Invite)

2.配置能力(Provisioning Capabilities)

3.配置状态(Provisioning Start)

4.配置公钥(Provisioning Public Key)

5.配置输入完成(Provisioning Input Complete)

6.配置确认(Provisioning Confirmation)

7.配置随机数校验(Provisioning Random)

8.配置数据(Provisioning Data)

9.配置完成(Provisioning Complete)

10.配置失败(Provisioning Failed)

配网过程中所有的数据只有这10种数据,不会有其他。

蓝牙mesh配网流程

未配网设备加入蓝牙mesh网络,需要一个配网器与未配网设备进行配网交互,生成设备密钥并相互认证。配网器将蓝牙mesh网络的参数加密后传递给未配网设备,未配网设备将这些参数解密后,据解密结果决定是否加入这个蓝牙mesh网络。

配网的整个流程分为5个阶段

1.信标(Beaconing)阶段

2.邀请(Invitation)阶段

3.交换公钥(Exchange Public Key)阶段

4.身份认证(Authentication)阶段

5.分发配网数据(Distribution Of Provisioning Data)阶段

蓝牙mesh配网协议栈

配网协议栈层次架构分为3层

  • 承载层:用于基本的数据交互,承载所有需要发送的报文。
  • 传输层:用于定义传输层PDU。
  • 配网协议层(Provisioning Protocol):用于定义具体的PDU。
配网协议栈层次架构

你可能感兴趣的:(蓝牙mesh配网协议一配网协议栈)