JN5169 ZigBee 3.0 开发环境搭建
文章目录
- 1、下载 NXP IDE 开发环境:JN-SW-4141,安装
- 2、下载 3.0 SDK 基础包:JN-SW-4170,安装
- 3、安装 ZigBee 插件
- 4、下载 Zigbee 3.0 的示例代码,JN-AN-1219
- 5、导入工程 Import
- 6、工程应用代码说明
- 6.1 Color Scene Controller Application Code(色彩场景控制器应用代码)
- 6.1.1 Touchlink Preconfigured Link Key
- 6.1.2 Common Controller Code
- 6.1.3 Code Specific to Color Scene Controller
参考博客: 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 所需的代码保存在应用说明的目录中。
- 所有设备在 Common\Source 目录中的代码是公用的,例如事件类型定义和持久性数据记录标识符的定义。
- Common_Controller\Source 目录中的代码包含ZLO规范中定义的所有类型的控制器设备都通用的代码。 这提供了所有这些的基本功能设备,如果要开发新的控制器类型,可以重复使用。
- 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
以下是主要的应用程序文件,并且对于所有控制器类型的设备都是公用的。
序号 | 方法 | 描述 |
---|---|---|
1 | app_start_controller.c | 管理芯片启动,调用初始化功能并启动主程序循环 |
1 | app_main.c | 承载主程序循环,并定义和初始化系统资源,队列,计时器等 |
1 | zlo_controller_node.c | 托管应用程序的事件处理程序和ZigBee基本设备回调。 基本设备完成所需的任何处理后,此回调将接收ZigBee基本设备事件和AF堆栈事件。 这些事件然后可以由应用程序进一步处理。 这些事件包括传递给ZCL进行处理的数据指示,以及网络管理事件(例如Joined或Failed to Join事件),以使应用程序了解网络状态。 处理应用程序事件队列以接收按钮按下事件,这些事件将传递到菜单事件处理程序。 睡眠调度和数据轮询也在此处处理。 |
1 | app_menu_handler_DR1159.c | 包含基于DR1159的硬件的菜单处理程序。 它解释按键并启动ZCL,以将适当的ZCL命令发送到网络上的设备。 |
1 | app_menu_handler_DR1199.c | 包含基于DR1199的硬件的菜单处理程序。 它解释来自GUI的按键和来自开关的按键,并启动ZCL将适当的ZCL命令发送到网络上的设备。 |
1 | app_colour_commands.c | 包含与ZCL的颜色控制群集交互以发送颜色控制命令的功能的集合。 |
1 | app_general_commands.c | 包含菜单处理程序的一组实用程序功能。 |
1 | app_group_commands.c | 包含与ZCL的“组” 群集交互以发送组控制命令的功能的集合。 |
1 | app_identify_commands.c | 包含与ZCL的标识 群集交互以发送标识控制命令的功能的集合。 |
1 | app_level_commands.c | 与ZCL的级别控制 群集交互以发送级别控制命令的功能的集合。 |
1 | app_on_off_commands.c | 包含与ZCL的On / Off集群交互以发送On / Off控制命令的功能的集合。 |
1 | app_scenes_commands.c | 包含与ZCL的Scenes群集交互以发送场景调用和保存命令的功能的集合。 |
1 | app_zcl_controller_task.c | 托管ZCL初始化和ZCL回调函数。 回调将收到的任何ZCL命令或响应的结果通知应用程序,以便应用程序可以采取适当的操作。 ZCL滴答计时器用于为ZCL提供滴答,以管理与计时器有关的事件或状态转换。 |
1 | app_captouch_buttons.c | 处理来自CapTouch驱动程序(用于DR1159远程控制单元)的按钮按下,将它们打包为应用程序事件,并将它们发布到队列中。 |
1 | app_serial_interface.c | 包含处理从UART接收的字符,管理串行接口协议,验证消息并将键事件传递到应用程序事件队列的功能。 它还管理将LED消息发送到GUI的协议。 该文件仅用于基于DR1199的硬件的构建。 |
1 | uart.c | 包含一个中断处理程序,并处理串行接口的UART管理。 该文件仅用于基于DR1199的硬件的构建。 |
6.1.3 Code Specific to Color Scene Controller
序号 | 方法 | 描述 |
---|---|---|
1 | App_ColorSceneController.c | 包含特定于Color Scene Controller的代码,用于处理端点注册和构造函数以及Basic群集属性的初始化。 |
1 | bdb_options.h | 定义ZigBee基本设备使用的参数,例如主要和辅助通道掩码。 |
1 | zcl_options.h | 定义ZCL选项,例如,支持哪些集群,客户端和/或服务器以及支持的可选命令和属性。 所选集群的强制命令和属性将自动包括在内。 |
JN5169 ZigBee 3.0 开发环境搭建相关推荐
- NXP JN5189 ZigBee 3.0开发环境搭建(续)
NXP JN5189 ZigBee 3.0开发环境搭建(续) 一.设置 SDK 安装位置 二.导入 DK6 的 SDK 三.安装 NXP Zigbee Configuration Editor 1.插 ...
- NXP JN5189 ZigBee 3.0开发环境搭建
NXP JN5189 ZigBee 3.0开发环境搭建 一.下载相关软件 1.IDE 2.SDK 3.MCUXpresso Config Tools 4.GCC Arm Embedded tool c ...
- JN5169 NXP Zigbee 3.0开发环境搭建
前言 网上目前资料最多的是TI的 zigbee环境,以CC2538/2530,以及最新的26xx为主,关于NXP的JN5xx zigbee几乎很少或者没有,跟别说NXP新一代的LPW芯片KW21Z了, ...
- udig-1.4.0 开发环境搭建
udig-1.4.0开发环境搭建 下载需要的文件 dropins-3.7.2.zip: http://udig.refractions.net/files/downloads/extras/ ...
- 音视频开发-SRS 4.0开发环境搭建丨webrtc丨FFmpeg丨SRS流媒体服务器开发
SRS 4.0开发环境搭建 视频讲解如下,点击观看: 音视频开发-SRS 4.0开发环境搭建丨webrtc丨FFmpeg丨SRS流媒体服务器开发 音视频高级开发学习学习资料链接:FFmpeg/WebR ...
- 小米(绿米联创)39元 无线开关破解(NXP JN5169 zigbee 3.0开发实战)
前言 话说小米的39元无线开关,买了两个回来,想着说zigbee alliance的规范规定各家的zigbee应该都是在协议栈ZCL层面兼容的,没想到必须配小米的网关才能使用,而且网关价格不菲,就心想 ...
- Cocos2d-x.3.0开发环境搭建
配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 前言:本文介绍在上述配置下进行游戏开发的环境搭建.开发语言为C++.如果读者不需要查看 ...
- Tigase 8.1.0开发环境搭建
源码编译成功截图 Tigase 官网 https://tigase.net/ 源码下载地址 https://repository.tigase.org/git/tigase-server.git 小编 ...
- Ubuntu11 10 64Bit版上的Android 4 0 开发环境搭建
据说Android以后新版本只支持64bit版本开发,所以搭建一个64bit系统的Android开发环境为将来的Android4.0 及更高版本 开发打好基础. 一.准备工作 1.1 硬件 PC 一台 ...
- 杰里695N系列(soundbox)之0.0 开发环境搭建
查看全部文章请点击:杰里AC695N开发详解汇总(持续更新中) ==================================================================== ...
最新文章
- 技术 | Web前端开发(4)持续更新
- linux mysql设置数据库utf_Linux系统下MySQL数据库服务器字符集设置
- Spark和Scala当中的collect方法的用法和例子
- MYSQL问题解决方案:Access denied for user 'root'@'localhost' (using password:YES)
- vs2003 局部友元访问私有不可访问_C++ 类:重载运算符与友元
- linux驱动之ioctl
- 阿里的盔甲、未来20年发展的动力以及对未来的洞察
- mariadb10.2 mysql5.7_说说在MySQL5.7迁到MariaDB10.2时栽的一部分坑
- 1106冒泡排序语法树
- linux 单用户模式 挂载u盘_(原创)Linux文件系统只读Read-only file system的快速解决方法...
- [转载] numpy.argmin 使用
- 奶粉中的php是什么,婴儿配方奶粉的分类及用途
- BZOJ 2005 2005: [Noi2010]能量采集 | 容斥原理
- 软件测试文档模板 ppt,软件工程课件:软件测试用例文档模板.doc
- 西门子atch指令详解_轻松记住西门子PLC指令,简单明了!
- 信息安全 —— 密码学
- 【python10个小实验】2、石头、剪刀、布
- PHP AES加密解密
- 解决‘adb‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
- excel中替换功能的新颖用法