蓝牙Mesh基础(9)设备配网

设备配网过程

在这里插入图片描述

  • 首先,需要配网的设备先进行未配网广播,这个广播不同于普通的ble广播,广播数据结构类型(AD Type)为mesh Beacon,专门用于mesh未配网广播和网络安全广播,数值为0x00时表示未配网广播(Unprovisioned Device beacon);0x01时表示网络安全广播(Secure Network beacon)。

    当数值为0x00时,广播数组包含字段如下图所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
       device UUID是每个设备特有的128位UUID;OOB information 用于给启动配置设备表明自己支持OOB类型,每一位表示 一 种类型,如下表所示:
在这里插入图片描述      URI Hash:没整明白,,,,,望知道的评论区回复一下》》

  • 邀请------ 启动配置设备(手机、平板或者其他的配网节点)收到设备的未配网广播后会发出一个邀请入网类型的PDU,设备收到后回复一个Provisioning Capabilities类型的消息,表明设备的功能(元素数量、支持的算法(FIPS P-256 Elliptic Curve)、PublicKey格式、OOB形式)

  • 交换公共密钥------启动配置设备在收到设备的Provisioning Capabilities PDU后,会判断自己能否给设备配网,当有能力时会对设备发送Provisioning Start PDU,消息字段如下表所示,用于表明自己按设备的能力已经配置了加密方式OOB方式等
    在这里插入图片描述
          根据设备public key支持的格式,分为两种交换方式,
          ①public key字段值为0–No OOB Public Key is used,使用下图所示方式直接交换公共密钥
    在这里插入图片描述
          ②public key字段值为1–OOB Public Key is used,使用下图所示方式在OOB信道中交换公共密钥
    在这里插入图片描述

  • 认证------认证需要根据设备的OOB能力(output OOB、input OOB、static OOB)选择不同的方式,可能是闪几下灯,输个数啥的
    天猫精灵的开发者平台阿里精灵采用的static OOB方式,Authentication value计算公式:
                 AuthValue = SHA256(Product ID,MAC,Secret)。

    即:将ProductID,MAC,Secret三元组通过字符串用英文逗号连接,然后进行SHA256摘要计算,取前16字节。注:这里用于计算SHA256的英文字母全部为小写。
    在这里插入图片描述

  • 分配数据------认证完之后,启动配置设备就可以给待入网设备发送加入网络相关的信息了(前奏那么长,重点终于来到了)。认证成功完成后,会通过两台设备的私有密钥和交换的对等公共密钥生成会话密钥。会话密钥用于加密分配数据,包括称网络密钥(NetKey)、单播地址等。分配的数据如下表所示,
    在这里插入图片描述
    完事之后待入网设备给启动配置设备发送一条Provisioning Complete PDU结束整个配网过程。
    在这里插入图片描述

配网PDU

在这里插入图片描述
在整个配网过程中有统一的PDU格式,有三个字段,各个字段的大小和解释如下表所示:
在这里插入图片描述
Type表示具体的PDU类型,共有10中类型,如下表所示:
在这里插入图片描述

配网PDU如何传输呢

字节序:大端
由于启动配置设备可能不支持Mesh(手机),为了解决这个问题,协议在配网中设置了两个承载:PB-ADV、PB-GATT,对于不支持Mesh的启动配置设备,待入网的设备通过PB-GATT承载传输配网信息。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值