技术篇之蓝牙Mesh设备是如何加入网络中

2023-11-14

概述

配网(Provisioning)流程属于蓝牙Mesh网络中的重要一环,正是通过配网流程,才使得蓝牙Mesh设备(Device)变成网络中的一个节点(Node),因此,本文将着重讲解配网流程及其相关概念,希望能够给读者以清晰的理解。

名词解释

  1. 设备(Device)表示处于未配网的实体。
  2. 节点(Node)表示当前已经处于配网状态的实体。
  3. 配网者(Provisioner)表示具备将其他设备通过配网流程让其成为节点的功能的实体。

配网流程

1、设备发送PB-ADV的广播

如果设备支持PB-ADV配网,也就是如果设备支持通过广播方式配网的话,其必须发送Unprovisioned Device Beacon,在笔者书写时,远程配网还未在正式规范中,因此配置者必须处在设备的广播范围内(Single Hop)。设备发送的Unprovisoned Device Beacon 包含该设备的UUID用于唯一标识该设备,包含设备的OOB信息用于描述公钥传输方式,例如:NFC、二维码等,包括可选的URI信息(用于标识设备,例设备的类型、图像等),这些信息将在后续步骤中使用。

2、设备发送PB-GATT的广播

如果设备支持PB-GATT配网,也就是说设备支持通过连接方式配网的话,其必须发送可连接的广播报文,其发送的广播信息同样包括了设备UUID以及设备的OOB信息。注意:如果设备同时支持两种配网方式,必须交叉发送这两种广播报文。

3、配置者发送邀请

首先需要说清的时,只有收到的配网广播类型与配置者支持PB-ADV或者PB-GATT方式配网能力一致才能进行,也就是说,只支持PB-GATT(大部分的智能手机就是这种)方式的配置者不能通过PB-ADV方式配网设备,即使配置者能够收到PB-ADV的广播,反之亦然。

配置者在收到相对应的未配置广播后,会发送配置邀请(Provision Invite)让设备进入配网状态。但是由于PB-ADV与PB-GATT的数据传输方式不一致,因此通过PB-ADV方式的配网流程整体复杂度要高与通过连接方式的,限于篇幅,本文将不再详述,感兴趣的读者自行看规范(Mesh Profile 1.0.1 Section 5 Provisioning)。

4、设备发送配置能力

设备端在收到来自配置者发送的配置邀请后,会将自身的输入输出能力通过配置能力(Provision Capability)发送给配置者作为响应。这种描述设备的输入输出能力将会直接影响后续的配置流程。值得一提的是,配置能力包括设备端是否具备公钥信息带外传输能力(Public Key OOB Information),这种信息与设备在步骤1步骤2中发送的OOB相呼应,还包括设备是否支持静态认证信息(Static OOB Information),也就是固定的认证值(双方都必须对应一致的存放才能使用),还包括输入输出能力(Input Output OOB Information),最后包括一个描述设备中元素(Element)多少的信息,综上,这些信息都将传给配置者。

5、配置者发送配置开始

配置者在收到来自设备发送的配置能力后,需要根据自身与设备的输入输出能力决定合适的配置算法来进行安全的认证。例如:配置者会检查设备与其自身是否都支持公钥带外传输能力,如果都支持,配置者可以选择这种方式(OOB Public Key)进行公钥传输,例如:通过二维码扫描或者NFC读取等,否则公钥将通过配网流程(No OOB Public Key)传输(这种方式的安全级别当然低于上面的方式)。接着配置者会检查双方输入输出能力,如果设备支持输入,配置者有能力输出的话,可以使用方式(Input OOB authentication)进行安全认证,如果设备支持输出,配置者有能力输入的话,可以使用方式(Output OOB authentication)进行安全认证,如果设备支持静态认证,配置者同样支持静态认证,可以使用方式(Static OOB authentication)进行安全认证。最后如果设备与配置者都没有合适的输入输出相呼应,只能通过非安全认证(No OOB authentication)。

根据公钥带外传输能力,后续公钥传输可以分为

  1. A1 No OOB Public Key is used
  2. A2 OOB Public Key is used

根据输入输出能力,后续认证算法可以分为:

  1. B1 No OOB authentication is used
  2. B2 Static OOB authentication is used
  3. B3 Output OOB authentication is used
  4. B4 Input OOB authentication is used

后续配置流程将根据配置者的选择进行,可能存在的路线有: A 1 B 1 、 A 1 B 2 、 A 1 B 3 、 A 1 B 4 、 A 2 B 1 、 A 2 B 2 、 A 2 B 3 、 A 2 B 4 A1B1、A1B2、A1B3、A1B4、A2B1、A2B2、A2B3、A2B4 A1B1A1B2A1B3A1B4A2B1A2B2A2B3A2B4

6、配置者发送公钥(A1)

如果配置者在步骤5选择公钥非带外传输的话,那么在配置者发送完配置开始后,紧跟着发送配置者公钥(Provisoner Public Key)。注意:公钥与私钥应当在每次配网流程中都必须重新生成。

7、配置者发送公钥(A2)

如果配置者在步骤5选择公钥带外传输的话,其在发送配置开始后,必须通过步骤1步骤2中OOB信息所描述的方式(NFC、二维码等)来获取设备端公钥(Device Public Key)。

8、设备发送公钥(A1)

如果设备端在步骤5收到来自配置者选择的公钥非带外传输后将执行此步骤,其必须等待步骤6配置者发送配置者公钥后,发送设备公钥(Provisioning Device Public Key)。

9、配置者发送确认值(B1、B2、B4)

当配置者在步骤6后,应该等待步骤8设备端公钥,或者当配置者在步骤7后,开始执行生成随机数(RandomProvisioner )并根据收到的来自设备端公钥生成ECDHSecret
E C D H S e c r e t = P − 256 ( p r i v a t e k e y , p e e r p u b l i c k e y ) ECDHSecret = P-256(private key, peer public key) ECDHSecret=P256(privatekey,peerpublickey)

确认值(Confirm)的生成应根据:

如果配置者选择的算法是非安全认证B1

A E S − C M A C C o n f i r m a t i o n K e y ( R a n d o m P r o v i s i o n e r ∣ ∣ 0 x 00 ) AES-CMACConfirmationKey (RandomProvisioner || 0x00) AESCMACConfirmationKey(RandomProvisioner0x00)

如果配置者选择的算法是静态安全认证B2

A E S − C M A C C o n f i r m a t i o n K e y ( R a n d o m P r o v i s i o n e r ∣ ∣ S t a t i c K e y ) AES-CMACConfirmationKey (RandomProvisioner || Static Key) AESCMACConfirmationKey(RandomProvisionerStaticKey)

如果配置者选择的算法是输出安全认证B4,配置者应当根据设备显示的Auth Value

A E S − C M A C C o n f i r m a t i o n K e y ( R a n d o m P r o v i s i o n e r ∣ ∣ A u t h V a l u e ) AES-CMACConfirmationKey (RandomProvisioner || Auth Value) AESCMACConfirmationKey(RandomProvisionerAuthValue)

10、配置者发送确认值(B3)

步骤6后,应该等待步骤8设备端公钥,或者当配置者在步骤7后,开始执行生成随机数(RandomProvisioner )以及随机化(Auth Value)并通过步骤5协商的输出方式输出出来,并根据收到的来自设备端公钥生成ECDHSecret
E C D H S e c r e t = P − 256 ( p r i v a t e k e y , p e e r p u b l i c k e y ) ECDHSecret = P-256(private key, peer public key) ECDHSecret=P256(privatekey,peerpublickey)

确认值(Confirm)的生成应根据:
A E S − C M A C C o n f i r m a t i o n K e y ( R a n d o m P r o v i s i o n e r ∣ ∣ A u t h V a l u e ) AES-CMACConfirmationKey (RandomProvisioner || Auth Value) AESCMACConfirmationKey(RandomProvisionerAuthValue)

配置者应当等待来自步骤11的输入完成(Provision Input Complete)后,发送确认值(Confirm)。

11、设备发送输入完成(B3)

步骤6步骤7后,开始执行生成随机数(RandomDevice)并根据收到的来自设备端公钥生成ECDHSecret
E C D H S e c r e t = P − 256 ( p r i v a t e k e y , p e e r p u b l i c k e y ) ECDHSecret = P-256(private key, peer public key) ECDHSecret=P256(privatekey,peerpublickey)

设备端应当根据配置者显示的Auth Value ,应当在设备端确认值生成后发送输入完成,其中确认值(Confirm)的生成应根据:
A E S − C M A C C o n f i r m a t i o n K e y ( R a n d o m D e v i c e ∣ ∣ A u t h V a l u e ) AES-CMACConfirmationKey (RandomDevice || Auth Value) AESCMACConfirmationKey(RandomDeviceAuthValue)

12、设备发送确认值

设备端收到来自配置者的确认值后,应当发送设备端确认值。

13、配置者发送随机数

配置者收到来自设备端的确认值后,应当发送配置者随机数(RandomProvisioner)。

14、设备发送随机数

设备端收到来自配置者的随机数后,应当与之前收到的来自配置者确认值进行校验,如果匹配,应当发送设备端随机数(RandomDevice),并根据随机数生成Device Key:
D e v K e y = k 1 ( E C D H S e c r e t , P r o v i s i o n i n g S a l t , “ p r d k ” ) DevKey = k1(ECDHSecret, ProvisioningSalt, “prdk”) DevKey=k1(ECDHSecret,ProvisioningSalt,prdk)
其中 ProvisioningSalt应当:
P r o v i s i o n i n g S a l t = s 1 ( C o n f i r m a t i o n S a l t ∣ ∣ R a n d o m P r o v i s i o n e r ∣ ∣ R a n d o m D e v i c e ) ProvisioningSalt = s1(ConfirmationSalt || RandomProvisioner || RandomDevice) ProvisioningSalt=s1(ConfirmationSaltRandomProvisionerRandomDevice)

15、配置者发送配置数据

配置者收到来自设备端的随机数后,应当与之前收到的来自设备端确认值进行校验,如果匹配,应当发送配置数据(Provision Data)。

其中配置数据包括:

  1. Network Key 配置者分发的网络层的密钥。
  2. Network Index 配置者分发的网络密钥索引(其中0x0000为主网,其余为次网)。
  3. Key Reflash Flag 当前的网络密钥更新状态。
  4. IV Update Flag 当前的IV Index更新状态。
  5. IV Index 当前的IV Index值。
  6. Primary Address 配置者分发给设备的主地址。

注意此数据包通过之前协商的数据进行加密:
P r o v i s i o n i n g S a l t = s 1 ( C o n f i r m a t i o n S a l t ∣ ∣ R a n d o m P r o v i s i o n e r ∣ ∣ R a n d o m D e v i c e ) ProvisioningSalt = s1(ConfirmationSalt || RandomProvisioner || RandomDevice) ProvisioningSalt=s1(ConfirmationSaltRandomProvisionerRandomDevice)
S e s s i o n K e y = k 1 ( E C D H S e c r e t , P r o v i s i o n i n g S a l t , “ p r s k ” ) SessionKey = k1(ECDHSecret, ProvisioningSalt, “prsk”) SessionKey=k1(ECDHSecret,ProvisioningSalt,prsk)
S e s s i o n N o n c e = k 1 ( E C D H S e c r e t , P r o v i s i o n i n g S a l t , “ p r s n ” ) SessionNonce = k1(ECDHSecret, ProvisioningSalt, “prsn”) SessionNonce=k1(ECDHSecret,ProvisioningSalt,prsn)

配置数据原始报文为:
P r o v i s i o n i n g D a t a = N e t w o r k K e y ∣ ∣ K e y I n d e x ∣ ∣ F l a g s ∣ ∣ I V I n d e x ∣ ∣ U n i c a s t A d d r e s s Provisioning Data = Network Key || Key Index || Flags || IV Index || Unicast Address ProvisioningData=NetworkKeyKeyIndexFlagsIVIndexUnicastAddress

加密后的数据应当为:
A E S − C C M ( S e s s i o n K e y , S e s s i o n N o n c e , P r o v i s i o n i n g D a t a ) AES-CCM (SessionKey, SessionNonce,Provisioning Data) AESCCM(SessionKey,SessionNonce,ProvisioningData)

16、设备发送配置完成

设备在收到来自配置者发送配置数据并成功解密后,应当发送配置完成(Provision Complete),至此,当前设备已经变成网络中的一个节点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

技术篇之蓝牙Mesh设备是如何加入网络中 的相关文章

  • 国内IoT云平台横向对比

    三年过去了 目前各IoT平台功能有了极大的丰富和优化 行业头部玩家也逐渐浮出水面 目前市场的排名如下 阿里 小米 京东 百度 涂鸦 这几家以开放的生态 接入了千万甚至亿级设备 传统设备厂家如美的 海尔也在积极搭建自己的物联网平台 物联网已然
  • 物联网智能家居系统

    源码部分可以找我我给你的哦 l3O6l4O8O52 扣扣 物联网智能家居系统 18年07 19 实训项目 1 需求分析 原理 基础准备 1 1实验目的 1 2基本功能 1 3模块功能描述 1 3 1主功能函数模块 1 3 2串口通信模块 1
  • 一文读懂Matter协议的前世今生和未来

    从事Zigbee行业的应该都知道今年Zigbee联盟已经改名为CSA联盟 并推出一个全新的 定位于解决IOT碎片化的统一协议 即Matter协议 Matter协议的由来 Matter协议的前身CHIP Connected Home Over
  • android EasyLink给wifi模块配网

    相关文章 博客 http blog csdn net u010924834 article details 49491349 本文使用的是庆科wifi模块 http developer mico io downloads 庆科的开发者地址
  • 技术篇之蓝牙Mesh设备是如何加入网络中

    概述 配网 Provisioning 流程属于蓝牙Mesh网络中的重要一环 正是通过配网流程 才使得蓝牙Mesh设备 Device 变成网络中的一个节点 Node 因此 本文将着重讲解配网流程及其相关概念 希望能够给读者以清晰的理解 名词解
  • 05智慧杆塔

    一张图读懂一个产业之智慧杆塔 智慧杆塔是综合承载多种设备和传感器并具备智慧能力的杆 塔等设施的总称 包括但不限于通信杆 塔 路灯杆和监控杆 智慧杆塔具备的功能由其挂载的设备和传感器决定 这些设备和传感器可通过各种通信技术接入网络和平台 并在
  • 车联网企业排行榜

    1 为紧跟车联网行业发展动态 聚焦优质市场主体 中国价值公司100排行榜之车联网企业排行榜从经营分析 发展能力以及社会责任三个维度对30家车联网重点企业进行综合评分 2 车载信息服务领域 市场主体多样 角色多元 以百度 腾讯 博泰 四维图新
  • 京东、阿里、小米IoT平台设备接入对比分析

    概述 京东 阿里 小米都在积极布局物联网 智能家居方向 经过几年的运营和积累 各家平台接入了不同产品 形成了各自的发展模式 本报告从平台设备的视角 通过分析各平台设备接入情况 对比已接入的设备品类 摸清平台的布局 分析各平台优劣势 为物联网
  • 雅特力AT32F403A, 国产芯片PIN TO PIN 替代STM32F103

    中美贸易摩擦日渐加剧 美国从各个方面到处打压中国 半导体行业也收到一定冲击 逼迫国内企业不得不准备产品国产化方案 自从华为被美国制裁之后 国内的很多手机厂商明白了一个道理 爹有娘有 不如自己有 于是各大厂商纷纷走上了芯片国产化的道路 意法半
  • ML302 4G模块 HTTP AT指令使用流程

    一 首先入网 18 34 00 684 发 AT CGACT 1 1 18 34 00 699 收 AT CGACT 1 1 18 34 00 885 收 CGACT 1 1 OK 二 初始化模块的HTTP功能 18 34 11 214 发
  • 摄像头网络模组的使用

    摄像头和网络模组尾线如上图所示 利用上面两个模组 打算自己做一个简单的网络摄像头 在上面的模组网站上找到对应模组的接口定义资料 因为我们要自己将对应的网线接口等接好 本模组的接口如下 具体的该模组的接线如上所示 该网络模组尾线总共有 根 根
  • BLE连接、配对和绑定

    参考 一篇文章带你解读蓝牙配对绑定 参考 BLE安全之SM剖析 1 参考 BLE安全之SM剖析 2 参考 BLE安全之SM剖析 3 参考 https blog csdn net chengbaojin article details 103
  • ESP32-C2开发板 Homekit烧录教程

    准备 1 1硬件ESP32 C2开发板 如图1 1所示 图1 1 ESP32 C2开发板 1 2软件 CozyLife APP可以在各大应用市场搜索下载 也可以扫描二维码下载如图1 2所示 HomeKit flash download to
  • MQTT.fx连接、订阅、发布OneNet平台(新版)

    第一步 打开MQTT fx 点击设置按钮 第二步 命名的话随便起 中文英文皆可以 token的下载地址 https open iot 10086 cn doc v5 develop detail 242 第三步 token生成密码 时间戳转
  • 蓝牙ble tips3-MAC地址

    和计算机网络IP地址类似 BLE也会有属于自己的一个地址 BLE设备地址 蓝牙地址 也称作 Bluetooth MAC Media Access Control 地址 是一个48位的唯一硬件标识符 用于在蓝牙设备之间建立连接和通信 它由全球
  • 英特尔 Edison MRAA 模块不工作

    我最近下载了 Intel XDK IOT 版本并使用了 LED 引脚 13 闪烁示例 然后我将程序上传到爱迪生上 但它出现了一些错误 其中之一是找不到 MRAA 模块 附带的示例代码是 main js var mraa new requir
  • 一站式体验涂鸦云开发

    涂鸦智能近些年通过深耕物联网领域 沉淀了强大的IoT底层技术 稳定全面的平台能力 持续的创新能力和深厚的行业落地经验 成为更多企业实现智能化建设及应用能力打造的最佳合作伙伴 正在携手开发者共同推动万物互联时代的到来 为满足各类软硬件厂商 个
  • 虚拟下游设备的 Azure IoT Edge 模块身份转换

    我有以下设置 多个 Modbus 传感器 1 通过 ModbusTCP 连接到这些传感器的网关 在此网关上 一个 Azure IoT Edge 模块正在运行 使用 NodeJS SDK 该模块读取每个连接的传感器的所有值 用于设备管理的 A
  • sim800L GPRS 发布请求

    我一直在研究 LoNet 迷你 GSM 模块 SIM800L 并将其与 Arduino 连接 我已插入 SIM 移动卡并且可以连接互联网 通过串行监视器 我可以毫无问题地与它通信 但是当向网络服务器页面发出 GET 或 POST 请求时 它
  • 将 Reactjs 连接到 Myqtthub

    您好 我对所有物联网事物都很陌生 我希望能够使用 mqtt 从 Arduino 发送和接收数据https myqtthub com https myqtthub com作为我们的经纪人 我使用以下代码进行连接 import React Co

随机推荐

  • idea连接数据库实现增删改查

    连接数据库 在application properties中编写代码实现数据库连接 创建Student类 编写插入到数据库里的信息 id name等 并创建set get tostring方法 创建接口 创建StudentImp类实现Stu
  • 安居客滑块js逆向 - 逻辑详解

    注 本篇博客仅供学习使用 请勿用做其他商业用途 如有侵权 请联系本菜鸟 本菜鸟在最近的学习过程中又遇到了一个带有滑块的验证码 觉得有点意思 所以写这篇博客记录一下 对比而言 难度比某验和某盾的简单一丢丢 目标网址 aHR0cHM6Ly93d
  • logback appender简介说明

    转自 logback appender简介说明 下文笔者讲述logback的appender的简介说明 如下所示 logback中appender是负责写日志的组件 appender的功能 用于设置日志输出的目的地 日志输出的位置可为控制台
  • 惨痛的教训,疫情下失业的中年程序员

    最近身边的一个朋友突然间就被辞退了 而且是一线互联网大厂 周末跟我聚了下 喝了点小酒 聊了很多 他说我可以把他的经历发出来 因为他已经看淡了 只要不提他名字就行 我本来不擅长写这种文章 让他把心路历程写了一遍 写完发现简直没法看 这两天被我
  • TypeScript类型注解和类型推断

    类型注解和类型推断 类型注解 let count number count 123 这段代码就是类型注解 意思是显示的告诉代码 我们的count变量就是一个数字类型 这就叫做类型注解 当你明白了类型注解的概念之后 再学类型推断就更简单了 先
  • 类的定义方法

    一 类的定义方法 注意 1 类定义最后的分号不能省略 2 类中的数据成员不能在类中进行初始化 需要在构造函数中初始化 3 类名最好能体现其功能 首字母建议大写 二 类的实现方法 1 在类定义时同时实现 若成员函数中在类中定义 则被计算机自动
  • 陀螺产业区块链第四季

    2020年4月 国家发改委在例行新闻发布会上宣布区块链被正式列为新型基础设施中的信息基础设施 自此区块链正式搭上新基建的 风口 与传统基础设施建设相比 新型基础设施建设更加侧重于突出产业转型升级的新方向 无论是5G还是区块链 都体现出加快推
  • SIFT特征提取-应用篇

    SIFT特征具有缩放 旋转特征不变性 下载了大牛的matlab版SIFT特征提取代码 解释如下 1 调用方法 将文件加入matlab目录后 在主程序中有两种操作 op1 寻找图像中的Sift特征 image descrips locs si
  • 最全iOS 应用上架流程(提交到AppStore)

    一 上架基本需求资料 1 苹果开发者账号 公司已有可以不用申请 需要开通开发者功能 每年 99 美元 2 开发好的APP 借助辅助工具appuploader创建证书跟描述文件 二 证书 描述文件 借助辅助工具appuploader 上架版本
  • django runserver开启服务(开启外网访问与ipv6访问)

    首先setting要设置 ALLOWED HOSTS 然后在启动时 使用 python manage py runserver 8000 或是 python manage py runserver 8000 这样 开启外网访问 ipv4与i
  • numpy中argsort()排序函数的使用

    argsort 函数返回的是数组从小到大的索引值 直接上例子 一 对于一维数组 1 升序排列 默认是升序 import numpy as np 一维数组升序排列 data np array 3 5 1 np argsort data 输出结
  • 数据库原理-关系模式的规范化

    关系数据库的规范化理论是数据库逻辑设计的工具 一个关系只要其分量都是不可分的数据项 它就是规范化的关系 但这只是最基本的规范化 规范化程度可以有6个不同的级别 即6个范式 规范化程度过低的关系不一定能够很好地描述现实世界 可能会存在插入异
  • 通过WIndows命令行访问MySQL数据库

    在cmd命令行里输入mysql h127 0 0 1 uroot p用户密码 这样就可以连接了 使用 show databases 这个命令可以显示出所有的database表以方便我们查看 输入 quit 退出
  • @vant/weapp

    文章目录 一 介绍 二 安装 1 cd 到项目文件目录 2 使用 npm 安装 3 修改项目配置 4 构建 5 其他文件 三 使用 四 参考 微信小程序使用 vant weapp组件 一 介绍 Vant 是一个开源的移动端组件库 在微信小程
  • 基本的tcp套接口编程

    基本的tcp套接口编程 1 socket函数 为了执行网络I O 一个进程必须做的第一件事情是调用socket函数 指定期望的通信协议类型 include
  • 基于dlib的目标追踪

    之前都在做目标检测 训练自己的检测器做检测 缺点就是电脑性能稍微差点的话 预测一次的时间就会稍久 我做的又正好是视频预测 所以连续播放都卡成PPT了 无奈之下选择抽帧检测 于是那闪烁效果堪比蹦迪现场的灯光 最后拍板定案的方法就是目标追踪了
  • 软件开发项目流程 - 立项

    引言 在互联网行业从事开发工作三年余 虽然时间不长 但对于开发流程也有一定的认识 写一篇关于这方面的内容 以记录自己的成长历程 引言 目的 立项流程 标准项目管理 总结 目的 当我们发现市场上有一个项目有利可图 且我们有能力做的时候 发起的
  • 实用的Qt窗口标志(Qt::WindowFlags)

    窗口标志枚举类型用于指定小部件的各种窗口系统属性 其中一些标志取决于底层窗口管理器是否支持它们 以下是一些比较实用的窗口标志 1 Qt Widget 这是QWidget的默认类型 如果有父窗口则为子窗口小部件 如果没有父窗口则为独立窗口小部
  • 微积分基础知识

    微积分基础知识 前言 在信息学算法竞赛中 常有些数学类问题需用到微积分 或用到微积分的算法 如母函数 HNOI2012排队 这里本人总结了一下竞赛中常用的微积分基础知识 供大家参考 有写得不好的地方请多多包涵 感谢学长帮助修改审校 若有错误
  • 技术篇之蓝牙Mesh设备是如何加入网络中

    概述 配网 Provisioning 流程属于蓝牙Mesh网络中的重要一环 正是通过配网流程 才使得蓝牙Mesh设备 Device 变成网络中的一个节点 Node 因此 本文将着重讲解配网流程及其相关概念 希望能够给读者以清晰的理解 名词解