JN5169 ZigBee 3.0 开发环境搭建




参考博客: https://blog.csdn.net/LV9586/article/details/98504838
参考博客: https://blog.csdn.net/code_style/article/details/85841584

JN5169 的所有资源可以 NXP官网 获取。
在这里插入图片描述

1、下载 NXP IDE 开发环境:JN-SW-4141,安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、下载 3.0 SDK 基础包:JN-SW-4170,安装

版本:JN-SW-4170 ZigBee 3.0 v1840
在这里插入图片描述
在这里插入图片描述
安装完成:
在这里插入图片描述

3、安装 ZigBee 插件

打开 BeyondStudio for NXP,选中 Help – Install New Software
在这里插入图片描述
在这里插入图片描述
在 Available Software 界面,单击 Add…
显示如下窗口,Name里面输入 plug-in,浏览到已安装SDK插件的文件夹,例如:D:\NXP\bstudio_nxp\sdk\JN-SW-4170\Tools\Eclipse_plugins\com.nxp.sdk.update_site
在这里插入图片描述
将 NXP ZBPro SDK 展开,将 Jennic RTOS Configuretion Editor 和 Jennic ZBPro Configuration Editor 前面的复选框打上勾。
在这里插入图片描述
完成自动下载一些文件之后,单击 Next:
在这里插入图片描述
出现如下界面,等待进度条跑完:
在这里插入图片描述
出现如下界面,单击OK继续:
在这里插入图片描述
单击Yes,软件自动重新启动,安装完成。
在这里插入图片描述

4、下载 Zigbee 3.0 的示例代码,JN-AN-1219

NXP官网 提供了控制器和开关设备模板 JN-AN-1219。(百度云链接,提取码:sl54)

在D:\NXP\bstudio_nxp 新建空目录 Application,然后解压到里面,解压以后是这样子:
在这里插入图片描述

5、导入工程 Import

右击 Project Explorer 空白处,选择 Import;

选中 General – Existing Projects into Workspace – Next 继续
在这里插入图片描述
在 Select root directory 粘贴 D:\NXP\bstudio_nxp\Application,回车,出现 Projects 框 里面的 Project,这里 只勾选 JN516x 的,取消勾选 JN517x
在这里插入图片描述
单击 Finish 结束,完成工程打开。
鼠标左键 选中工程,先 右键 Clean Project,然后 右键 Build Project(Ctrl+ B) 编译工程。
在这里插入图片描述
但是,如果路径不对,工程文件 在其他文件夹,比如:E:\NXP\Application,这里 就会出现编译错误:
在这里插入图片描述

NXP ZigBee 的 main 是 vAppMain,只有2个位置调用了,这就是NXP提供的真正的示例,只有2个,一个是 app_start_controller.c,一个是 app_start_switch.c,分别对应控制相关应用,还有无线开关类的应用。

很多代码都是被封装起来的,只有很少部分是开放的,NXP的整个协议栈的实现,是基于free RTOS这样的“操作系统”来实现的。

6、工程应用代码说明

6.1 Color Scene Controller Application Code(色彩场景控制器应用代码)

构建 Color Scene Controller 所需的代码保存在应用说明的目录中。

  1. 所有设备在 Common\Source 目录中的代码是公用的,例如事件类型定义和持久性数据记录标识符的定义。
  2. Common_Controller\Source 目录中的代码包含ZLO规范中定义的所有类型的控制器设备都通用的代码。 这提供了所有这些的基本功能设备,如果要开发新的控制器类型,可以重复使用。
  3. ColorSceneController\Source 中的代码包含特定于Color Scene Controller的文件,例如端点注册和构造函数,设备ID的初始化和基本群集属性。 配置ZigBee基本设备和ZigBee群集库的文件也保存在这里。

6.1.1 Touchlink Preconfigured Link Key

Touchlink预先配置的链接密钥用于在Touchlink操作传递给加入设备时对网络密钥
进行加密。 在现实世界的应用程序中应使用的密钥是秘密密钥,由ZigBee组织在成
功完成ZLO认证过程后根据应用程序提供。 本应用笔记中未提供此密钥。

该应用程序已设置为使用基本设备行为(BDB)规范中定义的证书密钥。 拥有真正的Touchlink预配置链接密钥后,需要进行以下更改才能使用此密钥而不是认证密钥。

6.1.2 Common Controller Code

以下是主要的应用程序文件,并且对于所有控制器类型的设备都是公用的。

序号方法描述
1app_start_controller.c管理芯片启动,调用初始化功能并启动主程序循环
1app_main.c承载主程序循环,并定义和初始化系统资源,队列,计时器等
1zlo_controller_node.c托管应用程序的事件处理程序和ZigBee基本设备回调。 基本设备完成所需的任何处理后,此回调将接收ZigBee基本设备事件和AF堆栈事件。 这些事件然后可以由应用程序进一步处理。 这些事件包括传递给ZCL进行处理的数据指示,以及网络管理事件(例如Joined或Failed to Join事件),以使应用程序了解网络状态。 处理应用程序事件队列以接收按钮按下事件,这些事件将传递到菜单事件处理程序。 睡眠调度和数据轮询也在此处处理。
1app_menu_handler_DR1159.c包含基于DR1159的硬件的菜单处理程序。 它解释按键并启动ZCL,以将适当的ZCL命令发送到网络上的设备。
1app_menu_handler_DR1199.c包含基于DR1199的硬件的菜单处理程序。 它解释来自GUI的按键和来自开关的按键,并启动ZCL将适当的ZCL命令发送到网络上的设备。
1app_colour_commands.c包含与ZCL的颜色控制群集交互以发送颜色控制命令的功能的集合。
1app_general_commands.c包含菜单处理程序的一组实用程序功能。
1app_group_commands.c包含与ZCL的“组” 群集交互以发送组控制命令的功能的集合。
1app_identify_commands.c包含与ZCL的标识 群集交互以发送标识控制命令的功能的集合。
1app_level_commands.c与ZCL的级别控制 群集交互以发送级别控制命令的功能的集合。
1app_on_off_commands.c包含与ZCL的On / Off集群交互以发送On / Off控制命令的功能的集合。
1app_scenes_commands.c包含与ZCL的Scenes群集交互以发送场景调用和保存命令的功能的集合。
1app_zcl_controller_task.c托管ZCL初始化和ZCL回调函数。 回调将收到的任何ZCL命令或响应的结果通知应用程序,以便应用程序可以采取适当的操作。 ZCL滴答计时器用于为ZCL提供滴答,以管理与计时器有关的事件或状态转换。
1app_captouch_buttons.c处理来自CapTouch驱动程序(用于DR1159远程控制单元)的按钮按下,将它们打包为应用程序事件,并将它们发布到队列中。
1app_serial_interface.c包含处理从UART接收的字符,管理串行接口协议,验证消息并将键事件传递到应用程序事件队列的功能。 它还管理将LED消息发送到GUI的协议。 该文件仅用于基于DR1199的硬件的构建。
1uart.c包含一个中断处理程序,并处理串行接口的UART管理。 该文件仅用于基于DR1199的硬件的构建。

6.1.3 Code Specific to Color Scene Controller
序号方法描述
1App_ColorSceneController.c包含特定于Color Scene Controller的代码,用于处理端点注册和构造函数以及Basic群集属性的初始化。
1bdb_options.h定义ZigBee基本设备使用的参数,例如主要和辅助通道掩码。
1zcl_options.h定义ZCL选项,例如,支持哪些集群,客户端和/或服务器以及支持的可选命令和属性。 所选集群的强制命令和属性将自动包括在内。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值