Provisioning

Provisioning:Provisioner(比如天猫精灵)把一个Device加入一个Mesh网络成为一个Node的过程。

Provisioning Data:Network Key,current IV index 和unicast address(对应每个Element)。一个Mesh网络中可以有多个Provisoner,为了简单,实际一般就一个Provisioner。

在Provisioning的过程中,每个设备都会提供自己的Device UUID(128bits,可以通过当前时间随机产生,避免地址冲突)给Provisioner用来唯一标识自己(因为这个时候设备还没有被分配16bits的unicast address)。Provisioning承载在PB-ADV或者PB-GATT(不支持PB-ADV的设备选择使用)之上。Provisioning流程如下图所示。

整个Provisioning过程如下图所示,包含5个步骤:beaconing,

invitation, exchanging public keys, authentication, and distribution of the

provisioning data,其中2a和2b通过交换Public Key(32字节Public Key X+32字节Public Key Y=64字节),产生ECDHSecret,公式如下:ECDHSecret = P-256(private key, peer public

key) ;3a,3b和3c是认证过程。

在Provisioning过程中,设备可以选择支持Attention Timer机制,来提醒用户该设备正在注册Mesh网络,不同设备可以有不同提醒方式,比如通过灯闪烁或者马达发出噪声来提醒。这样的好处是,如果有多个设备等待注册网络,则可以提醒用户当前是哪个设备在注册网络。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容