一个节点可以通过带外(out-of-band)的方式 commissioned 到 ZigBee 网络。也就是说,不使用在目标网络使用的无线信道上运行的 IEEE802.15.4 数据包。例如,可以从另一台使用 inter-PAN 数据包(运行在不同的无线信道上)的 ZigBee 设备或使用 NFC(近场通信)的 commissioning 设备来引导带外 commissioning。

通过启动协调器或将 路由/终端设备 加入到现有的网络,可以使用带外 commissioning 来创建新的网络。为此,commissioning 数据必须通过带外的方式发送到节点。这些数据包含了网络的细节(见 2.7.5 节)。应用程序必须将收到的 commissioning 数据传递给 ZBD,并且使用函数 BDB_u8OutOfBandCommissionStartDevice() 来启动带外 commissioning。然后这些数据将存储在本地。

作为节点到现有集中式网络的带外 commissioning 的一部分,被加入网络的 TC 可能需要通过检查节点是否包含合适数据值来验证新的节点,如正确的网络密钥和 TC 地址。如果节点收到这样的验证请求,则应用程序可以通过两种方式来请求所需的数据值:

  • 可以使用函数 BDB_vOutOfBandCommissionGetData() 来读取相关的数据值。在这种情况下,应用程序应在将数据发送到 TC 之前加密获取的网络密钥。应在此加密中使用该节点的安装码(install code)。
  • 可以使用函数 BDB_eOutOfBandCommissionGetDataEncrypted() 来读取相关的数据值,并对获取的网络密钥进行加密。因此,网络密钥将以已加密的方式传递。必须在此函数调用中指定要在加密中使用的此节点的安装码。然后,应用程序可以将获得的数据发送到 TC。

一旦 TC 接收到请求的数据,它可以使用函数 BDB_bOutOfBandCommissionGetKey() 来解密获得得网络密钥,然后检查是否正在使用正确的密钥。此函数需要新节点的安装码,该码必须通过带外的方式(例如通过小键盘)提供给 TC。

安全密钥和安装码在 2.3 节中详述。

results matching ""

    No results matching ""