- 收藏
- 点赞
- 分享
- 举报
如何上手Zigbee产品开发的
分享一些个人关于如何上手ZigBee产品开发的观点。
先说明一下,这里提及的Zigbee产品是需要过Zigbee认证的。
目前网上不少中文资料都略显陈旧,论坛中有些贴子还混淆了Zigbee的概念,比如MAC和PHY属于IEEE 802.15.4,这不属于Zigbee协议。
Zigbee产品按设备类型基本分为三类:Coordinator(网关)、Router(灯)和End device(开关,传感器等)
网关基本采用Host+Slave,其中Host配以功能强大的MCU,Slave就是类似Ti CC2538这样的Zigbee全栈芯片,Host和Slave之间多数采用UART通讯。按照网络节点规模通常有这么两种实现: (1) 如果网络节点数在100以内,Host上跑应用,Slave上跑所有的Zigbee协议;
(2)如果网络节点数达到甚至超过200,则采用NCP模式:Slave跑AF以下的Zigbee协议,而诸如ZCL则放到Host上,对于更大规模的网络,甚至Slave只跑802.15.4而将Zigbee协议完全放到Host上
Router以灯居多(不断电),主要有Dimmable,RGB及色温(ColorTemperature)等,对于RGB的灯,Zigbee芯片资源占用较多(由于Zigbee联盟强制Router设备支持Greenpower功能,即使最终网络中没用GreenPower设备,也必须过GP认证从而增加了GP实现的代码)
End Device的产品类型较多,而且不少是使用电池供电,因此基本需要休眠(Sleep),这时芯片选型就比较重要,比如除了芯片的最大输出功率Tx和接收灵敏度Sensitivity外,Tx和Rx的电流也是关键参数;此外,设备是否支持OTA及如何进行OTA也是一个比较困难的选择。
个人觉得,就初学者而言,从掌握上述三种设备类型及相应的应用入手,比一开始就纠缠到Zigbee协议的细节之中,学习效果更明显。
以本人当初学习NXP的JN5169为例(如果没有NXP的JN5169 EVM板,可以用4个JN5169 USB Dongle代替:1个配Ubiqua作为抓包用,1个Coordinate,1个Router,1个End Device),
在NXP官网免费注册一个用户,然后从官网下载JN-SW-4141,JN-SW-4170和JN-AN-1216(Coordinator),JN-AN-1218(Router灯),JN-AN-1219(End Device开关)
&nBSP; (这几个AN里的工程都是可以过ZTT认证的)
1)安装JN-SW-4141,即JN5169的开发环境BeyondStudio
2)安装JN-SW-4170,即Zigbee协议栈
3)依次把JN-AN-1216,JN-AN-1218和JN-AN-1219的工程复制到Beyondstudio的工作目录中
可以先用Pre-Build的binary文件:
ZigbeeNodeControlBridge_JN5169_GP_Proxy_FULL_FUNC_DEVICE_1000000,
DimmableLight_GpProxy_JN5169_DR1175.bin,
DimmerSwitch_NtagIcode_JN5169_DR1199.bin
分别烧录3个JN5169 USB Dongle
也可以根据各个AN下\doc\里的PDF说明文件,修改MAKEfile(比如去掉GreenPower功能)或编译配置(去掉NtagIcode),分别编译
上述三个文件,
4)参考AN1216\doc\JN-AN-1216-ZigBee-3-0-IoT-ControlBridge-UserGUIde.pdf目录第五章的说明,
在PC上运行\Tools\TestGUI\TestGUI\ZGWUI,控制Coordinator,实现Zigbee组网,依次将烧录了DimmableLight和DimmerSwitch
的两个JN5169 USB Dongle加入该网
(如果有Ubiqua,可以通过入网过程所抓的包,结合Zigbee标准,理解Zigbee的CoMMIssioning/Provision概念)
5) 通过PC上的串口工具(如串口调试助手)可以看到Router和EndDevice的打印信息(各工程对应的Makefile中有多种打印选项供组
合)
6) ZGWUI中的很多命令可以帮助有效理解各种Zigbee概念,如ZCL和ZDP及Nwk层的命令
(强烈建议配合Ubiqua抓包,学习效率和进度都会明显加快)
7)阅读AN的代码,配合SDK中ZCL和BDB的代码,可避免新人从一开始就陷入学习复杂枯燥的Stack实现细节,从而能够比较快的理解掌握Zigbee概貌,减少产品开发的入门时间。
Zigbee问世已经十多年了,始终不温不火,十分小众地自嗨,只是从前几年才开始逐渐显露出一些生机,
愿以拙文抛砖引玉,为推广Zigbee的应用出一点力,希望大家直抒己见。
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
-
2018-08-21 14:58:36
-
222016-07-06 13:46:39
-
2010-04-18 13:11:58
-
2020-12-04 14:11:30
-
2015-10-03 15:20:45
-
2019-08-22 15:39:52
-
2018-09-17 15:37:36
-
2019-01-24 15:07:54
-
2013-11-22 22:19:36
-
2018-12-14 11:31:27
-
2019-01-11 11:02:26
-
2018-08-30 15:19:44
-
2012-12-05 11:21:56
-
2013-08-28 14:01:40
-
2013-11-17 19:32:13
-
2013-08-29 23:48:54
-
2013-11-16 11:22:01
-
2018-08-30 17:25:25
-
2020-12-30 14:46:01
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明