谷动谷力

 找回密码
 立即注册
查看: 824|回复: 0
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
发表于 2022-11-25 22:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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

本帖被以下淘专辑推荐:

  • · zigbee|主题: 38, 订阅: 0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-25 19:11 , Processed in 0.090449 second(s), 41 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表