鲸落

鲸落

0个粉丝

35

问答

0

专栏

22

资料

鲸落  发布于  2020-12-04 14:10:37
采纳率 0%
35个问答
3368

如何上手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的应用出一点力,希望大家直抒己见。

我来回答
回答1个
时间排序
认可量排序

1

0个粉丝

1

问答

16

专栏

6

资料

1 2020-12-13 21:39:10
认可0

分享一些个人关于如何上手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的应用出一点力,希望大家直抒己见。

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区