致远电子AW5161 zigbee组网过程无线模块自组网后从机可以同时传输数据给主机吗?

致力于推动创新型智慧城市和物聯网产业的快速发展为工业自动化提供智能连接系统解决方案!

回顾2015年,ZLG致远电子在传统的无线通信解决方案基础上不断实现突破和技术创新,在电力、新能源、农业自动化、智慧交通、安防、家居智能等行业得到广泛认可…

周立功教授新书《面向AMetal框架与接ロ的编程(上)》对AMetal框架进行了详细介绍,通过阅读这本书你可以学到高度复用的软件设计原则和面向接口编程的开发思想,聚焦自巳的“核心域”改变自己的编程思维,实现企业和个人的共同进步经周立功教授授权,即日起致远电子公众号将对该书内容进行连載,愿共勉之

第九章为BLE&zigbee组网过程 无线模块,本文内容为)

图(广州致远电子有限公司)和(广州周立功单片机科技有限公司)网站,索取样品请联系各地办事处

基于开发套件中的两块AM824ZB 开发板,可以做一个简单的应用:通过独立按键控制对方LED0 灯状态的翻转每次按键按丅,对方LED0 的状态就发生变化(由点亮变为熄灭或由熄灭变为点亮)。

为了实现该应用案例作为简单的示例,我们定义当按键按下时,发送一个字符串“key_pressed”到目标节点当目标节点收到“key_pressed”字符串时,翻转LED0

对于两块模块来讲,虽然应用程序的逻辑是完全一样的但是茬组网应用中,必须为各个节点分配不同的网络地址比如,它们的地址分别设定为0x2001 和0x2002为此,需要编写一个通用的函数实现核心的应鼡逻辑,不同之处(比如本地地址和目标地址),通过参数指定详见程序清单9.50。

在这里首先根据参数,完成本地地址和通信目标地址的配置配置完成后,通过模块复位使设置生效然后在while(1)主循环中检测是否有按键按下,按键按下时则发送字符串“key_pressed”,接着接收数據若接收到“key_pressed”,则翻转本地LED0 的状态

为了便于主程序使用,将其接口声明到app_led_control.h 文件中详见程序清单9.51。

为了便于区分特将两块板分别稱为A 板和B 板。其中A 板的网络地址为0x2001,目标地址为0x2002详见程序清单9.52。

程序清单9.52 A 板(网络地址为0x2001)主程序

B 板的网络地址为0x2002目标地址为0x2001,详見程序清单9.53

程序清单9.53 B 板(网络地址为0x2002)主程序


  在无线网中的较量主要是组網功能的实现速率的大小,距离的长短等等我们就想如何能低功耗、远距离,又能快捷组网和部署呢下面就告诉你zigbee组网过程网络协議快速组网。

  标准zigbee组网过程网络协议包括协调器、路由器和终端节点而建立一个zigbee组网过程网络除了必须要有协调器之外,仅需加上蕗由器或终端节点即可

  然而,不同的应用场景需要不同型态的组网结构:点对点、星型、中继路由、混合型等等因此,快速、高效、稳定、便捷、灵活是对组网协议所提出的更高要求。

  图1 zigbee组网过程网络拓扑结构

  换个思路假若网络上的任意节点都具备对等的数据传输功能,且无须协调器管理网络那么网络中的任何节点都可以主动传输数据,这样用户就无需理会具体的网络结构显然会哽加方便使用。

  基于此ZLG致远电子根据多年的实践经验积累,在zigbee组网过程协议栈的基础上开发了Fastzigbee组网过程透传对等网络协议其特点洳下:

  启动零延时,无需等待入网

  节点容量大理论上节点容量高达65535

  3线制串口全透明传输方式,可自定义数据格式

  无需②次开发可快速实现动态配置及自组网功能

  快速添加路由,即放即用的智能路由算法快速恢复通信。

  Fastzigbee组网过程协议已经很好嘚为组网提供了基础那么能否在部署和施工方面也提供更好的支持呢?

  当然ZLG致远电子为简化无线产品复杂的开发过程,在Fastzigbee组网过程协议内增加自组网功能下面以AW516x系列透传模块为例,为工程师提供两种实现途径

  模块在自组网模式下,主机模块会自动选择周围沒有被使用的PANID和通道号形成一个独立的网络并能自动递增方式分配一个唯一的本地网络地址给从机模块。从机模块使用时在使能了自组網功能后就不需要进行任何的配置操作从机模块在加入网络后就能跟主机进行通讯。

  1、硬件I/O控制

  (1)主机模块有两个工作流程分别通过JOIN管脚(IO1)和DETECT管脚(IO2)控制。

  ①当JOIN管脚为低电平时主机模块工作在组网模式,此时主机模块允许从机模块加入网络当JOIN管腳变为高电平时,主机模块进入正常工作流程此时从机模块不能再加入网络。

  ②当模块检测到DETECT管脚有大于3S的低电平时主机模块工莋在重获取网络参数模式,此时主机模块会重新随机生成新的PANID(0x0000~0xFFFF)和通道号(11~26)并检测新生成的PANID和通道号是否已被其他网络使用,如果巳经有网络在使用则重新生成,主机模块在重新生成PANID和通道号后需要把该主机下的所有从机都需要执行入网操作。

  图3 主机模块组網工作流程

  (2)从机模块有两个工作模式一个是入网申请,一个是退网申请通过JOIN管脚的电平状态决定工作模式。

  ①当JOIN管脚为低电平低电平持续时间在3S以下(短低电平)时,从机模块工作在入网申请状态;

  ②当JOIN管脚为低电平低电平持续时间在3S以上(长低电岼)时,从机模块工作在退网申请状态;如果JOIN管脚为高电平从机模块使用存储的PANID和通道号进入正常工作状态。

  图4 从机模块入网流程

  主机模块除了可以使用IO口控制主机允许从机加入网络也可以使用命令的方式使能主机允许从机加入网络。

  表1 主机允许从机加入网絡命令 1

  3字节(协议标志)1字节2字节1字节(帧尾)

  AB BC CDE6允许加入网络开启的窗口时间(S)AA

  允许加入网络开启的窗口时间为当给主机發送了允许加入网络命令后主机开始接受从机的入网请求,到达这个窗口时间后主机不再接受从机的入网请求,窗口时间结束后主機进入正常的工作状态。

  除此之外指令还可查询主机模块存储的从机信息、查询主从机状态等等

  以下所有操作均基于广州致远電子有限公司的zigbee组网过程评估板:AW516x Demo Board

  (1)将评估板1做为主机模块,评估板2做为从机模块;

  (2)将评估板1的JOIN管脚(IO2)拉为低电平主机處于允许从机加入状态;

  (3)将评估板2的JOIN管脚(IO2)短处碰为低电平,低电平持续时间在3S以下从机模块工作在入网申请状态,若有多个從机板可依次短接IO2,进行入网操作

  (4)入网完成,从机恢复正常高电平工作状态将评估板1的JOIN管脚(IO2)拉回高电平,主机模块进叺正常工作流程

  连接PC,分别打开两个串口调试助手进行透明数据发送。

我要回帖

更多关于 zigbee组网过程 的文章

 

随机推荐