NXP Zigbee 3.0 软件开发流程 - 设备权限机制分析

在 ZigBee 网络中,我们有时候不希望别人的设备加入我们的 ZigBee 网络,我们可以禁用新加入设备的权限,先验证是否我们的设备,再恢复权限的方式,来限制新加入网络的设备。

      

下面来讲解在 NXP ZigBee 3.0 协议栈中的设备权限机制。

 

我们可以使用函数 zps_eAplZdoSetDevicePermission() 在本地设备上设置某些权限。这些权限如下:

权限许可枚举

描述

zps_DEVICE_PERMISSIONS_ALL_PERMITED

允许所有来自其他节点的请求

zps_DEVICE_PERMISSIONS_JOIN_DISALLOWED

不允许来自其他节点的入网请求

zps_DEVICE_PERMISSIONS_DATA_REQUEST_DISALLOWED

不允许来自其他节点的数据请求轮询以及关闭端到端响应

 

当允许设备加入网络时,默认设置 ALL_PERMITED 选项,所以设备可以响应来自其他节点的请求。

然而,如果网络使用 ZigBee 密钥建立集群(the Key Establishment cluster)(例如一个智能能源网络),在新节点加入网络的密钥建立过程中,有必要禁止新加入节点上的数据请求轮询和端到端响应。应用必须实现如下的过程:

1. 一旦发生事件表明设备已加入网络(事件 zps_EVENT_NWK_JOINED_AS_ROUTER 或 zps_EVENT_NWK_JOINED_AS_ENDDEVICE),应用程序必须通过调用 zps_eAplZdoSetDevicePermission() 函数中的 DATA_REQUEST_DISALLOWED 权限来禁止数据请求轮询和 APS 的端到端响应。


2. 然后,可以使用为密钥建立集群(the Key Establishment cluster)提供的函数启动密钥建立过程

3. 一旦密钥的建立过程成功完成,数据请求轮询和 APS 端到端响应可以通过调用 zps_eAplZdoSetDevicePermission() 函数中的 ALL_PERMITED 权限再次允许。

 

密钥建立集群(the Key Establishment cluster)和相关资源在文档密钥建立集群(the Key Establishment cluster)中有充分的说明(例如在 ZigBee 智能能源用户指南中)。

 


 

参考资料

《 JN-UG-3113 ZigBee 3.0 Stack User Guide v1.5.pdf 》

Page 111 – 5.10.4

 jn-ug-3113_zigbee_3_0_stack_user_guide_v1_5.pdf

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论