JN5169 ZigBee 3.0 协议栈之 ZPS 配置编辑器
Posted Calvin Chan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JN5169 ZigBee 3.0 协议栈之 ZPS 配置编辑器相关的知识,希望对你有一定的参考价值。
JN5169 ZigBee 3.0 协议栈之 ZPS 配置编辑器
在开发 ZigBee PRO 应用程序时,在构建应用程序之前需要进行某些静态配置。 ZPS 配置编辑器用于简化此配置。该编辑器作为 Eclipse 的 NXP 插件提供,并在 ZigBee 3.0 SDK 中提供。该插件适合与 BeyondStudio for NXP(适用于 JN516x)和 LPCXpresso(适用于 JN517x)一起使用。
ZPS 配置编辑器提供了一种方便的方式来设置 ZigBee 网络参数,例如协调器、路由器和终端设备的属性(例如,通过设置设备描述符的元素)。
一、配置原则
除了应用程序源文件和头文件之外,ZigBee PRO 应用程序的构建过程还需要许多配置文件。 以下文件由 BeyondStudio 或 LPCXpresso IDE 生成,用于构建过程:
- ZigBee PRO 堆栈文件:
- zps_gen.c
- zps_gen.h
- PDM 文件:
- pdum_gen.c
- pdum_gen.h
- 其他文件:
- port.c
- portasm.h
- portmacro
- irq.s
以上所有文件都是根据相同的基本原理生成的。 BeyondStudio/LPCXpresso IDE 中的 ZPS 配置编辑器用于编辑配置数据并将此数据输出为 XML 文件(XML 文件可以在 BeyondStudio/LPCXpresso 之外手动编码,但不推荐这样做)。 作为构建过程的一部分,应用程序的 makefile 调用命令行实用程序,这些实用程序使用 XML 文件生成上面列出的文件。
完整的构建过程如下图所示:
二、ZPS 配置编辑器向导
在开始创建新的 ZigBee PRO 堆栈配置之前,ZPS 配置编辑器插件必须安装在 BeyondStudio for NXP 或 LPCXpresso 中。
要检查插件是否已安装,请启动 BeyondStudio/LPCXpresso 并从主菜单中选择 File > New > Other。 检查 Select a Wizard 对话框中是否存在 Jennic 选项 - 展开 Jennic 选项应显示“ZBPro 配置”,如下面的屏幕截图所示。
使用上面屏幕截图中突出显示的向导,可以开始创建新的 ZigBee PRO 配置。
如果向导不存在,请安装 ZigBee 3.0 SDK 中提供的 ZPS 配置编辑器插件。 JN516x 的 BeyondStudio for NXP 安装和用户指南 (JN-UG-3098) 和 JN517x 的 JN517x LPCXpresso 安装和用户指南 (JN-UG-3109) 中提供了插件的安装说明。
三、ZPS 配置编辑器界面概述
ZPS 配置编辑器允许通过易于使用的 Windows 资源管理器式界面配置 ZigBee 网络参数。 该接口概述如下。
整个网络的参数值存储在一个扩展名为 .zpscfg 的文件中,ZPS 配置编辑器提供了一种方便的方式来查看和编辑该文件的内容。 网络参数显示在可扩展的树中,如下所示。
位于树中同一级别的条目被称为“兄弟”,而位于树中另一个条目(子条目)下的条目被称为“子条目”。
树的顶层显示扩展 PAN ID。 下一个级别显示以下兄弟:
- 网络中使用的 ZigBee 应用程序配置文件的条目
- 协调员条目
- 路由器条目
- 终端设备条目
1、配置文件
应用程序配置文件具有数字 ID 和名称。 配置文件条目包含配置文件支持的集群的子条目 - 每个集群由数字 ID 和名称标识。
注意:必须有网络支持的所有应用程序配置文件的条目。 单个设备可能不会使用所有配置文件,尽管一个设备可以使用多个配置文件来支持多种功能(例如,温度、湿度和光照水平的测量)。
2、协调器
Co-ordinator 条目包含一个名称和一些相关参数,主要与 ZigBee PRO 堆栈的 APS 和 NWK 层相关。
协调员的子条目如上所示,包括以下内容:
- 端点条目,一个用于协调器上的每个端点,每个端点都有指定使用的输入和输出集群的子条目(注意每个输入集群必须与一个 APDU 配对)
- PDU 管理器,带有指定使用的 APDU 的子条目
- 通道掩码,指定创建网络时要扫描的 2.4 GHz 频段通道
- 协调器的节点描述符
- 协调器的节点功率描述符
3、路由器
每个路由器条目包含一个名称和一些相关参数,主要与 ZigBee PRO 堆栈的 APS 和 NWK 层相关。 路由器的子条目包括以下内容:
- 端点条目,路由器上的每个端点一个,每个端点都有指定使用的输入和输出集群的子条目(注意每个输入集群必须与一个 APDU 配对)
- PDU 管理器,带有指定使用的 APDU 的子条目
- 信道掩码,指定尝试加入网络时要扫描的 2.4 GHz 频带信道
- 路由器的节点描述符
- 路由器的节点电源描述符
4、终端设备
每个终端设备条目包含一个名称和一些相关参数,主要与 ZigBee PRO 堆栈的 APS 和 NWK 层相关。 终端设备的子条目包括以下内容:
- 端点条目,终端设备上的每个端点一个,每个端点都有指定使用的输入和输出集群的子条目(注意每个输入集群必须与一个 APDU 配对)
- PDU 管理器,带有指定使用的 APDU 的子条目
- 信道掩码,指定尝试加入网络时要扫描的 2.4 GHz 频带信道
- 终端设备的节点描述符
- 终端设备的节点电源描述符
四、使用 ZPS 配置编辑器
注意:本节假设您希望将 ZigBee PRO 堆栈配置添加到已在 BeyondStudio/LPCXpresso 中创建的项目(在本例中为 HelloWorld)。
1、创建新的 ZPS 配置
步骤1
在 BeyondStudio/LPCXpresso 中,启动 ZPS 配置编辑器向导。 为此,请按照菜单路径 File > New > Other 并在 Select a Wizard 对话框中选择“Jennic ZBPro Configuration”并单击 Next。
ZBPro 配置的新建对话框打开
步骤2
单击项目以将其选为父文件夹。 在文件名字段中,输入配置文件的名称(保留扩展名 .zpscfg),然后单击完成。
一个新的配置(带有默认参数集)将在编辑器中打开,如下所示。
2、添加设备类型
① 添加设备
步骤1
右键单击 ZigBee PRO Wireless Network 并从下拉菜单中选择 New Child > Coordinator。 这将插入一个具有最少必要子元素的 Co-ordinator。
步骤2
根据需要以相同方式添加路由器和终端设备。 网络只能有一个协调器,但可以根据需要使用多种不同的路由器或终端设备类型(即运行不同的应用程序功能和不同的端点)。
步骤3
对于每个新设备,使用 Properties 选项卡(底部窗格)输入所需的顶级参数。 对于处于休眠状态的终端设备,将 Sleeping 设置为 True(通过右键单击该值并使用下拉框)。
注:要显示高级属性,请单击 Properties 选项卡右侧的 Advanced 工具按钮。 这些属性都设置为默认值并且可以保持不变,除非需要进行特定更改。
② 添加配置文件
步骤1
右键单击 ZigBee PRO Wireless Network,然后从下拉菜单中选择 New Child > Profile。 这将插入一个没有子元素的配置文件。
步骤2
编辑属性选项卡中的 Properties 以设置新配置文件的 Name 和 Id。
③ 将集群添加到新配置文件
步骤1
右键单击上面创建的新配置文件,然后从下拉菜单中选择 New Child > Cluster。
步骤2
编辑属性选项卡中的 Properties 以设置新集群的 Name 和 Id。
步骤3
根据需要重复步骤 1 和步骤 2 以添加更多集群。
3、设置协调器属性
① 设置通道掩码和节点功率描述符
步骤1
在编辑器中展开 Co-ordinator 节点。 这将显示协调器、ZDO 端点和 ZDO 服务器的默认功能集。
步骤2
单击 RF Channels 元素以修改通道掩码。
有 16 个可用通道,编号为 11 到 26,现在显示在 Properties 选项卡中。 可以根据需要为通道掩码选择单个通道或一组通道。
步骤3
在 Properties 选项卡中,将所需的通道设置为 true(通过右键单击该值并使用下拉框)。
步骤4
单击以选择 Node Power Descriptor。
步骤5
根据需要在 Properties 选项卡中编辑属性。
② 添加新端点
步骤1
右键单击 Co-ordinator 节点,然后从下拉菜单中选择 New Child > End Point。
步骤2
在 Properties 选项卡中编辑属性以设置终端的 Name 和 Profile(从下拉框中选择配置文件)。
步骤3
对所需数量的端点重复步骤 1 和 2。
③ 添加 APDU
在端点可以发送或接收数据之前,至少需要一个 APDU。 可以使用相同的 APDU 来发送和接收数据,或者可以为发送和接收设置不同的 APDU - 这允许控制缓冲和内存资源,这是应用程序设计人员的决定。
步骤1
右键单击 PDU Manager,然后从下拉菜单中选择 New Child > APDU。
步骤2
在 Properties 选项卡中编辑属性以设置 Name、Instances(数量)和 Size(每个实例的 - 这应设置为要接收的最大 APDU 的大小)。
④ 将输入和输出集群添加到端点
步骤1
右键单击端点并根据需要从下拉菜单中选择 New Child > Input Cluster 或 New Child > Output Cluster。
步骤2
编辑属性选项卡中的 Properties 以设置 Cluster - 从下拉列表中的可用集群中选择。
步骤3
编辑 Rx APDU 或 Tx APDU 属性以将 APDU 分配给集群 - 从下拉列表中的可用 APDU 中选择。要接收数据,集群必须具有分配的 APDU。同一个簇可以既是输入簇又是输出簇,即它既会发送又会接收数据。当有输出簇的端点发送数据时,接收端点必须有输入簇才能接收数据,否则堆栈将拒绝它并且不会通知接收端点。但是,可以将默认集群添加到端点以处理接收到的数据,这些数据目的地是端点不支持的输入集群(请参阅此过程下面的注释)。
步骤4
重复步骤 1 到步骤 3 以添加端点所需的尽可能多的集群。
步骤5
根据需要,对路由器和终端设备重复步骤 1 到步骤 4。
注:在上述过程中,您可能希望添加默认集群(集群 ID 为 0xFFFF)作为输入集群。 包含默认集群意味着接收到的用于端点不支持的输入集群的消息仍将传递给应用程序。 但是,消息必须来自定义的应用程序配置文件,否则它们将被丢弃。
4、设置高级设备参数
可以为设备设置高级设备参数,如下所示:
步骤1
在 Resource Set 窗格中单击相关设备(例如协调器)。
步骤2
单击下方窗格(如下所示)工具栏中的 Advanced Device Parameters 按钮。
步骤3
在下方窗格的 Properties 选项卡中编辑相关参数。
步骤4
保存设置。
ZigBee PRO R22 版本的堆栈允许存在多个 MAC 接口。这是为了使用单个 ZigBee 堆栈支持 2.4G 和 868 MHz 频段。为了解决这个问题,需要在 ZPS 配置图中配置 MAC 接口表。
MAC 接口列表可以作为节点的一个选项找到。例如,如果有带有路由器节点的 ZigBee 网络。可以选择路由器节点并按鼠标右键提供选项。 MAC 接口列表可以在 New Child > Mac Interface List 下找到。
添加 MAC 接口列表后,选择并右键单击 MAC 接口列表以提供选项。 MAC 接口可以在 New Child > MAC Interface 下找到。
添加 MAC 接口后,可以更新属性。默认为 2.4G。可以保留此默认值。 “Router Allowed” 属性应设置为“true”。
注:需要编辑高级设备参数,以更改默认的扩展 PAN ID(APS 使用扩展 PAN ID 参数)和协调器或路由器的最大子节点数(活动邻居表大小参数)值 。
以上是关于JN5169 ZigBee 3.0 协议栈之 ZPS 配置编辑器的主要内容,如果未能解决你的问题,请参考以下文章
JN5169 JN-AN-1217-Zigbee-3-0-Base-Device
JN5169 NXP ZigBee PRO 无线网络应用所需的常见操作