一 基本概念
BLE MESH PROVISIONING:mesh配网就是provisioner给未配网设备分配相应的key,使其变成已配网设备,从而可以和mesh网络中的其他设备收发mesh消息。
为什么需要 Remote Provisioning:A为provisioner,B为其中一个已经配网的device,C为未配网设备;A和C之间由于离的太远,而无法相互收到对端发出的ADV;但是B在A和C之间,B和A、B和C都可以收到对端发出的ADV,由B来协助完成配网流程,即为Remote Provisioning;A作为Remote Provisioning Client,B作为Remote Provisioning Server;
二 定义
常规配网基本流程:provisioner扫描到UDB-->provisioner和未配网设备建立PB-LINK-->provisioner通过Provisioining PDU给设备分配key等消息;
上述配网的几个步骤将由Remote Provisioning Server来代替provisioner操作,provisioner通过发送相应的消息,读或者写Server的state,server根据相应的state去执行对应的操作
Remote provisioning server相关state定义
1.Remote Provisioning Scan Capabilities
代表server能够扫描并且报给provisioner的UDB的最大数量和是否支持active scan
2.Remote Provisioning Scan Parameters
包含几个state:Remote Provisioning Scan表示是否处于scan和scan的类型;Remote Provisioning Scan Items Limit表示当前的scan的最大items;Remote Provisioning Timeout表示scan的最大时间
3.Remote Provisioning Link Parameters
包含几个state,Remote Provisioning Link表示当前PB-link的状态;Remote Provisioning Device UUID表示未配网设备的UUID;Remote Provisioning Outbound PDU Count表示发出的provisioning PDU的数量;Remote Provisioning Inbound PDU Count表示收到的provisioning PDU的数量;Link Close Reason和Link Close Status表示PB LINK关闭的原因
Remote Provisioning相关消息定义
Provisionier作为Remote Provisioning client,已配网设备为Remote Provisioning server
1.Remote Provisioning Scan Start
Client发给server,让server开始scan
UUID为可选,如果不存在,则server只要扫描到UDB,即报给provisioner;如果存在则只扫描Device UUID发出的UDB。
2.Remote Provisioning Scan Status
Server发给client,说明Remote Provisioning Scan Start消息的执行情况,相应参数的设置情况
3.Remote Provisioning Scan Report
Server发给client,上报扫描到的UDB,URI Hash为可选项,因为该项在UDB中也是可选的
4.Remote Provisioning Link Open
Client发给server,使server与未配网设备建立PB-link
UUID为可选,对于remote provisioning,需要填入UUID和Link Open Timeout,NPPIProcedure不填。
5.Remote Provisioning Link Status
Server发给client,说明 Remote Provisioning Link Open消息的执行情况;
6.Remote Provisioning Link Report
Server发给client,当PB-LINK state变化时,会发送该消息。
7.Remote Provisioning PDU Send
Client发给server,需要server帮provisioner发送一个ProvisioningPDU给未配网设备 。
8.Remote Provisioning PDU Outbound Report
Server发给client,表示 Remote Provisioning PDU Send消息的执行情况,也就是server是否有成功帮忙发送Provisioning PDU给未配网设备。
9.Remote Provisioning PDU Report
Server发给client, 未配网设备有回复Provisioning PDU给server,需要server帮忙转达给client
三 Remote Provisioning流程
参考:mesh spec 1.1 Mesh Protocol | Bluetooth® Technology Website