大大通开发板评测专区
直播中

wanner

8年用户 64经验值
擅长:可编程逻辑 电源/新能源 MEMS/传感技术 测量仪表 嵌入式技术 连接器 处理器/DSP 接口/总线/驱动 控制/MCU RF/无线
私信 关注

【大联大世平 NXP ZigBee JN5189开发板试用体验】第四部分

` 本帖最后由 年少的轻狂不用来挥霍 于 2020-11-22 13:19 编辑


在前面,我已经搭建好开发环境,熟悉了开发流程,现在就进入正题,ZigBee通信评估环节了。根据互联网上对ZigBee通信特点的总结主要有以下几个方面:


  • 低功耗:在低耗电待机模式下,2节5号干电池可支持1个节点工作6-24个月,甚至更长。这是ZigBee的突出优势。相比之下蓝牙可以工作数周、WiFi可以工作数小时;
  • 低成本:通过大幅简化协议是成本很低(不足蓝牙的1/10),降低了对通信控制器的要求,按预测分析,以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4KB代码,而且ZigBee的协议专利免费;
  • 低速率:ZigBee工作在250kbps的通讯速率,满足低速率传输数据的应用需求;
  • 近距离:传输范围一般介于10~100m之间,在增加RF发射功率后,亦可增加到1-3km。这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远;
  • 短时延:ZigBee的响应速度较快,一般从睡眠转入工作状态只需15ms,节点连接进入网络只需30ms,进一步节省了电能。相比较,蓝牙需要3-10s、WiFi需要3s;
  • 高容量:ZigBee可采用星状、片状和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254个子节点;同时主节点还可由上一层网络节点管理,最多可组成65000个节点的大网;
  • 高安全:ZigBee提供了三级安全模式,包括无安全设定、使用接入控制清单(ACL)防止非法获取数据以及采用高级加密标准(AES128)的对称密码,以灵活确定其安全属性;
  • 免执照频段:采用直接序列扩频在工业科学医疗2.4GHz(全球)频段。

这个是相对过失的总结,也基本符合,尽管有些出入,比如频率(868欧洲,915美国这两个载波频段占11个Channel),再比如低成本,其实JN5189是Cortex-M4内核,RAM,ROM等都很充足,但就贸泽上的售价来看,成本也不低,所以应用场合也要更高。低功耗,距离等方面应该优化的更好了比如Zigbee 3.0 中的

Green Power:ZigBee Green Power (GP) is an optionalcluster with the aim of minimising the power demands on a network node in order to support:

  • Nodes that are completely self-poweredthrough energy harvesting
  • Battery-powered nodes that require ultra-longbattery life


在评测之前,首先准备有用的调试工具,比如ZigBee的抓包工具,刚好这个USB Dongle版的JN5189就可以作为嗅探工具的硬件,软件使用的是Ubiqua ProtocolAnalyzer(官网下),之所以到官网下这个版本,是因为别的版本太旧的可能不支持,试了V1.4破解版。



对应要下载到MCU中的固件在以下路径:(SDK中)

SDK_2.6.0_JN5189DK6        oolssnifferSniffer_1000000baud_8N1_NoFlowControl.bin

接下来使用官方提供的demo,稍作修改来进行试验:

有以下例子可以使用:
demo.jpg




分别对应,Zigbee中的逻辑角色:
  • 协调器
  • 终端低功耗版
  • 终端
  • 路由器


代码修改部分可以参照NXP官方开发板和大联大开发板的差异修改,比如User Button、LED等,补充一下我对协调器中串口命令处理的修改如下:

Modifiy.jpg


修改原因:如果结尾不是/r而是/r/n的话会有问题(为了方便用已有的工具测试所做的修改)
SerialCommand.jpg
Sniffer.jpg

Demo中,协调器的功能如下:

协调器负责最初形成网络,然后通过信任中心功能管理哪些其他设备可以加入网络,并将安全材料分发给那些被允许加入的设备。协调器支持ZigBee基础设备行为规范中定义的基础设备的强制集群和特性。为了演示查找和绑定功能,协调器还支持作为客户机的On/Off集群。协调器还可以充当OTA服务器。这使协调器能够发布任何ZigBee OTA升级映像。可以托管的最大图像大小是288千字节。假设示例ZigBee协调器的内存占用小于288千字节。通过USB连接到Zigbee设备的PC上运行的终端程序发出的串行命令来控制协调器。协调程序被配置为通信在115200波特,8位数据,1停止位,没有奇偶校验或流控制。串行接口不区分大小写。

一个网络可以由一个factory-new协调器组成(Network Steering但不在一个网络上),在串行上输入“form”到接口(加密狗或载体板)。然后协调器启动一个网络。使用ZigBee数据包嗅探器(运行在一个单独的USB加密狗上),可以看到周期性链接状态消息应该出现在操作通道上。

(从我的实验结果来看间隔是15s的样子)

网络形成后,为了允许路由器或者终端的加入,通过串口再发送steer命令,然后协调器向网络广播一个管理许可连接请求,以打开“Permit Join”窗口,持续180秒。网络转向进程(对于不在网络上的设备)现在可以在要加入网络的设备上触发。

绑定节点“find”命令, “查找和绑定”是ZigBee控制设备通过匹配操作找到ZigBee控制设备的过程群集并在绑定表中创建条目。协调器支持作为尝试查找的“启动器”进行查找和绑定要绑定到的目标。为了演示,协调器将On/Off集群作为客户机支持,因此查找和绑定过程寻找支持开/关集群的设备作为服务器,以便创建绑定。

要作为发起者开始查找和绑定,首先在第二个“目标”设备(比如路由器)上触发查找和绑定,即按下“目标”设备上的user interface按钮。

本演示中的此设备的操作功能由On/Off集群提供。现在可以发送OnOff了,当在串行接口中输入“toggle”时,切换命令到绑定的设备(在绑定表中)。

路由器和终端也都有其承担的功能。详见ZigBee Demo Applications User's Guide.pdf


由于时间仓促,没有尝试OTA功能。通过这一次适用让我认识到了Zigbee中的一些高端SoC ,JN5189、JN5188,K32W061,K32W041,再次感谢厂家和平台给予的机会。







` 1606017873(1).jpg
ZigBee Demo Applications User's Guide.pdf (269.05 KB)
(下载次数: 3, 2020-11-22 13:19 上传)
sniffer.zip (16.66 KB)
(下载次数: 3, 2020-11-22 13:18 上传)

更多回帖

发帖
×
20
完善资料,
赚取积分