一.启动配置过程
Provisioning用于向将要添加新设备提供它们加入网络所需的信息。在启动配置过程中,向新加入网络的设备提供一个网络密钥、一个单播地址和一个设备密钥,设备密钥用于provisioner和provisionee之间的私有通信(例如,在供应后配置设备时)。一个设备可以是provisioner也可以是provisionee
二.启动配置总过程图
初始化:
初始化步骤对于provison和provisionee都是通用的,它们都必须设置供应上下文,上下文维护provisioning流程的状态。配置状态是使用nrf_mesh_prov_init()函数初始化的,该函数需要启动配置上下文和其他相关作为参数:
- 公钥和私钥:用于加密的密钥对。可以使用nrf_mesh_prov_generate_keys()函数对这些密钥进行预编程或生成。注意,这些数字必须是特定椭圆曲线上的点,这意味着常规随机数不能用作密钥对
- OOB身份验证功能:用于确定可以与节点一起使用哪种身份验证。如果不使用身份验证,则必须只设置算法字段
PS:
请参考静态provisioner示例(/examples/light-switch/provisioner/src/provisioner_helper.c
)中的prov_helper_supploner_init()。在使用provisioning堆栈之前,必须初始化并启用SoftDevice和mesh堆栈。请参考light switch\server示例或任何其他节点角色的示例的main.c文件中的mesh_init()
认证: