跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

BLE Mesh配网过程详解,你真的懂了吗?

文章导读

BLE Mesh网络的配网过程,是很多开发者入门时都会遇到的问题。今天,我们就来深入探讨一下BLE Mesh的配网过程,从原理到实践,让你对BLE Mesh的配网有更深入的理解。

Provisioning bearer layer

Provisioning bearer layer是BLE Mesh网络中实现设备配网的关键层。它负责传输Provisioning PDUs,确保设备能够顺利加入网络。

1.1、PB_ADV

PB_ADV是Provisioning bearer layer中的一种类型,它通过advertising channel使用Generic Provision PDUs进行配网。PB-ADV的最大传输单元(MTU)是24个字节。

1.2、Generic Provisioning layer

Generic Provisioning layer定义了Provisioning PDUs的传输方式和分段重组规则。它通过provisioning-bearer发送传输包。

1.2.1、Generic Provisioning PDU types

Generic Provisioning PDU types定义了不同类型的Provisioning PDUs,包括Transaction Start PDU、Transaction Acknowledgment PDU、Transaction Continuation PDU等。

2、Link Establishment procedure

Link Establishment procedure用于建立对话(session),使用Link ID标识。未配网设备通过Mesh beacon广播自己的信息,Provisioner扫描并选择设备建立连接。

3、Generic Provisioning behavior

每个Generic Provisioning PDU发送时,需要有一个20~50毫秒的随机延时。Provisioning PDU被分段的数量取决于其大小,每个分段都被放入Generic Provisioning Payload中。

4、Provisioning protocol

Provisioning protocol定义了Provisioner和device之间的交互方式。它包括多种类型的Provisioning PDUs,如Provisioning Invite、Provisioning Capabilities、Provisioning Start等。

4.1、Provisioning PDUs

Provisioning PDUs用于在Provisioner和device之间交互。第一个字节的Type决定了Provisioning PDUs Parameters的格式。

4.1.1、Provisioning Invite

Provisioner发送Provisioning Invite来指示device开始provisioning流程。

4.1.2、Provisioning capabilities

device发送这个消息给Provisioner,用来指示自己支持的能力。

4.1.3、Provisioning Start

Provisioner根据Provisioning Capabilities PDU的选择来指示启动配置的方法。

4.1.4、Provisioning Public Key

Provisioner发送这个PDU来颁发public key,使用ECDH加密计算。

4.1.5、Provisioning Input Complete

当用户完成输入操作时,device发送这个PDU。

4.1.6、Provisioning Confirmation

Provisioner或者device发送这个PDU来证实数据已经交互了。

4.1.7、Provisioning Random

Provisioner或者Device发送这个PDU来验证Confirmation值的有效性。

4.1.8、Provisioning Data

Provisioner发送这个PDU来将provisioning数据给Device。

4.1.9、Provisioning Complete

Devices发送这个PDU来指示自己成功的接收到和处理了provisioning data。

4.1.10、Provisioning Failed

device发送这个PDU来通知自己没有成功的接受到启动配置协议 PDU。

小结与拓展

BLE Mesh的配网过程是一个复杂的过程,涉及到多个步骤和协议。本文对BLE Mesh的配网过程进行了详细的解析,希望对大家有所帮助。如果你对BLE Mesh还有其他疑问,欢迎关注新派编程网(www.xjpbg.com)了解更多内容。

—— 新派编程网资深编辑 林译川 敬上

相关文章