JN5169 ZigBee 3.0 协议栈之 ZPS 配置编辑器

  • 一、配置原则
  • 二、ZPS 配置编辑器向导
  • 三、ZPS 配置编辑器界面概述
    • 1、配置文件
    • 2、协调器
    • 3、路由器
    • 4、终端设备
  • 四、使用 ZPS 配置编辑器
    • 1、创建新的 ZPS 配置
      • 步骤1
      • 步骤2
    • 2、添加设备类型
      • ① 添加设备
        • 步骤1
        • 步骤2
        • 步骤3
      • ② 添加配置文件
        • 步骤1
        • 步骤2
      • ③ 将集群添加到新配置文件
        • 步骤1
        • 步骤2
        • 步骤3
    • 3、设置协调器属性
      • ① 设置通道掩码和节点功率描述符
        • 步骤1
        • 步骤2
        • 步骤3
        • 步骤4
        • 步骤5
      • ② 添加新端点
        • 步骤1
        • 步骤2
        • 步骤3
      • ③ 添加 APDU
        • 步骤1
        • 步骤2
      • ④ 将输入和输出集群添加到端点
        • 步骤1
        • 步骤2
        • 步骤3
        • 步骤4
        • 步骤5
    • 4、设置高级设备参数
      • 步骤1
      • 步骤2
      • 步骤3
      • 步骤4

在开发 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 以设置新配置文件的 NameId

③ 将集群添加到新配置文件

步骤1

右键单击上面创建的新配置文件,然后从下拉菜单中选择 New Child > Cluster

步骤2

编辑属性选项卡中的 Properties 以设置新集群的 NameId

步骤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 选项卡中编辑属性以设置终端的 NameProfile(从下拉框中选择配置文件)。

步骤3

对所需数量的端点重复步骤 1 和 2。

③ 添加 APDU

在端点可以发送或接收数据之前,至少需要一个 APDU。 可以使用相同的 APDU 来发送和接收数据,或者可以为发送和接收设置不同的 APDU - 这允许控制缓冲和内存资源,这是应用程序设计人员的决定。

步骤1

右键单击 PDU Manager,然后从下拉菜单中选择 New Child > APDU

步骤2

Properties 选项卡中编辑属性以设置 NameInstances(数量)和 Size(每个实例的 - 这应设置为要接收的最大 APDU 的大小)。

④ 将输入和输出集群添加到端点

步骤1

右键单击端点并根据需要从下拉菜单中选择 New Child > Input ClusterNew Child > Output Cluster

步骤2

编辑属性选项卡中的 Properties 以设置 Cluster - 从下拉列表中的可用集群中选择。

步骤3

编辑 Rx APDUTx 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 配置编辑器相关推荐

  1. 小米(绿米联创)39元 无线开关破解(NXP JN5169 zigbee 3.0开发实战)

    前言 话说小米的39元无线开关,买了两个回来,想着说zigbee alliance的规范规定各家的zigbee应该都是在协议栈ZCL层面兼容的,没想到必须配小米的网关才能使用,而且网关价格不菲,就心想 ...

  2. ZigBee 3.0教程 - 从头开始Light和Switch

    在本教程中,我们将演示如何在Thunderboard Sense 2上使用Simplicity Studio为电灯和开关构建两个简单的Zigbee 3.0应用程序. 这个项目将首先使用AppBuild ...

  3. JN5169 NXP Zigbee 3.0开发环境搭建

    前言 网上目前资料最多的是TI的 zigbee环境,以CC2538/2530,以及最新的26xx为主,关于NXP的JN5xx zigbee几乎很少或者没有,跟别说NXP新一代的LPW芯片KW21Z了, ...

  4. zigbee之Zstack协议栈使用

    zigbee之Zstack协议栈使用 前言 基于zstack协议栈开发的步骤 一.OSAL操作系统 1.操作系统工作流程 2.OSAL初始化函数 3.系统启动函数 (1)任务 (2)事件 4.OSAL ...

  5. 从零开始入门 ZigBee 3.0(以TI为例)

    [源码.文档.软件.硬件.技术交流.技术支持,入口见文末] 前言 本篇主要讲述如何从零开始从零开始入门 ZigBee 3.0,此处以 TI 的 ZigBee 方案为例. ZIgBee的学习本应分为&q ...

  6. EFR32MG21 zigbee 3.0 OTA 升级实验

    EFR32MG21 zigbee 3.0 OTA 升级实验 参考文档:AN728 https://www.sekorm.com/doc/1607600.html 芯片:EFR32MG21A010F76 ...

  7. 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用

    相关系列文章 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用搭建 基于芯科Host-NCP解决方案的Zigbee 3.0 Gate ...

  8. 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(三)-移植到ESP32平台(1)

    相关系列文章 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用搭建 基于芯科Host-NCP解决方案的Zigbee 3.0 Gate ...

  9. ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet-3-04:模板工程创建/编译/下载-Application

    [源码.文档.软件.硬件.技术交流.技术支持,入口见文末] [所有相关IDE.SDK和例程源码均可从群文件免费获取,免安装,解压即用] 持续更新中,欢迎关注! 一.创建 启动运行 Simplicity ...

  10. NXP JN5189 ZigBee 3.0开发环境搭建(续)

    NXP JN5189 ZigBee 3.0开发环境搭建(续) 一.设置 SDK 安装位置 二.导入 DK6 的 SDK 三.安装 NXP Zigbee Configuration Editor 1.插 ...

最新文章

  1. [名词解释] intuitive
  2. 如何将本地jar包放入本地maven仓库和远程私服仓库
  3. Team Work(CF 932 E)[bzoj5093][Lydsy1711月赛]图的价值
  4. Android工程中R.java文件的重新生成——注意资源文件的错误
  5. linux版本与内核对应关系,[科普] Linux 的内核与 Linux 系统之间的关系
  6. HDU2201 熊猫阿波的故事【概率】
  7. Linux内核中的PID散列表实例
  8. CCNA学习指南中文第七版-1
  9. 合成器插件Serum 1.23b7绿化版亲测有效
  10. html vue 动态加载组件
  11. hdu 5053 the Sum of Cube(水)
  12. 作为一个it码农一天不学习你会不会觉得心里不安
  13. 【stm32单片机基础】按键状态机实现长按和短按
  14. docset文件,aviary sdk,一个bug
  15. 人工智能+区块链+云协同赋能工业制造
  16. Excel-VBA文件操作
  17. logo在线生成怎么操作?手机也能轻松生成
  18. 南玻A高管蹊跷离职的三大谜团
  19. Windows下本地路由表
  20. Android天气开源项目之添加城市

热门文章

  1. 蓝桥杯 -罗马数字问题
  2. 基于uniapp开发的一款Android、iOS上使用的小说阅读app
  3. PIL ellipse函数画椭圆
  4. java英文单词断行_CSS样式解决英文换行断词问题
  5. 织梦Dedecms源码文件夹目录模板解释说明
  6. electron选mysql的优缺点_大型Electron应用本地数据库技术选型
  7. Slicer学习笔记(十七)编写一个python扩展模块
  8. Java集合、泛型和枚举
  9. cocos 《成语接龙》---Button(按钮)组件
  10. No.4 - 第一章 启航 - 什么是事件驱动型应用 | Flink 知其然,知其所以然