摘要
经过剖析ZigBee和WiFi协议,结合嵌入式技能,提出了一种完结双模无线网关的计划。借助于ZigBee2007,自界说通讯传输协议帧,规划 Linux和CC2530F256串口传输协议。其次,树立通讯模型,进行协议解析,完结协议转化。终究规划体系软件,验证双模无线网关可行性。
近年来,跟着通讯技能的开展,无线信息的传递越来越安稳牢靠,其纠错才能和抗干扰才能也越来越强。特别跟着物联网的蓬勃开展,无线通讯技能凭仗其本身的快捷性,也越来越受人们的喜爱与注重[1]。
依据IEEE802.15.4规范的ZigBee协议具有自组织、安稳性好、抗干扰性强、功耗低一级长处,首要应用于农业、工业检测、军事和医疗等方面。但其操控中心多是PC,不能适应户外等特别环境。WiFi作为一种越来越遍及的无线通讯技能,凭仗掩盖规模广、无需布线等长处,广泛存在于人们的出产日子中。以此提出一种适应于杂乱环境的双模无线网关规划计划,具有杰出的应用性和前瞻性[2]。
1 体系整体结构
体系由ZigBee模块、开发板模块和WiFi模块组成。ZigBee模块中,Coordinator作为ZigBee网络的中心节点,担任操控和监测ZigBee路由节点,每一个路由节点带着一个传感器,担任把传感器收集的数据发送给Coordinator。开发板模块作为协议转化的纽带,用于解析 Coordinator传输的数据。WiFi模块,将开发板解析的数据封装成WiFi帧。这样就完结双模无线网关的转化,体系结构如图1所示。
图1 体系整体结构
2 无线网关的规划
2.1 ZigBee数据流剖析
ZB253002模块是依据TI公司CC2530F256芯片,履行ZigBee2007/PRO协议的 ZigBee模块,它具有ZigBee协议的悉数特色。其首要的特色:
①主动组网。一切的模块通电即主动组网,和谐器(Coordinator)主动给一切的节点分配地址,不需要用户手动分配地址,网络参加、应对等专业ZigBee组网流程[3]。
②简略数据传输。ZB253002模块能够理解为“无线的 RS232 衔接”,经过串行端口即可在恣意节点间进行数据传输。ZigBee模块有两种数据的传输方法:数据通明传输,只需传送的第一个字节不是0xFE、0xFD 或0xFC,则主动进入数据通明传输方法;点对点的数据传输方法,数据传输的格局为0xFD(数据传输指令)+ 0x0A(数据长度)+(方针地址)+(数据)。由和谐节点传输给开发板的数据增加以0xFE最初的15字节的节点信息,用来供给给 TI Sensor Monitor,调查网络结构。
Zigbee模块设置指令表如表1所列。
表1 Zigbee模块设置指令表
2.2 通讯和谐器的规划
Coordinator是整个网关转化和无线传感器网络树立的中心,是数据传输的中心纽带。因而,Coordinator的规划关系到整个体系的安稳性和牢靠性。Coordinator CC2530选用ZigBee2007协议栈。ZStack是TI公司供给的一种轮询式操作体系,借助于Z-Stack,Coordinator上电后,首要进行硬件和网络初始化,然后创立3个使命:①ZigBee网络使命,该使命经过Coordinator与其子节点的“绑定”完结。其绑定的进程,和谐器树立网络,创立绑定表,并设定答应绑定方法,子节点发送绑定恳求,Coordinator更新绑定表并呼应子节点。②串口协议解析使命,该使命用于解析来自开发板和子节点的数据,并将解析后的数据传输给子节点使命或发送给开发板[4]。③子节点使命,该使命首要用于接纳子节点回来的数据,并将数据传输给串口协议解析使命。这样ZigBee协议帧的解析就转到开发板端,由Linux操作体系完结,Linux解析完结后,将有用的数据放入指定的同享内存。当 BOA收到外部Web恳求,调用相应的CGI获取同享内存中的数据,并经由无线网卡以WiFi的方法传送给用户。
2.3 传输协议的完结
本规划经由Linux操作体系完结ZigBee协议的解析和WiFi协议帧的构成,首要的要点在于Coordinator与Linux串口传输协议的规划。串口传输协议自界说帧格局如下:
自界说帧的格局由帧头、功用号、有用数据长度、有用数据和FCS校验5部分组成。帧头界说为0x02;功用号因获取的数据类型不同而异,有关帧格局功用码界说如表2所列;有用数据长度用于标识读取有用数据的长度规模,最大值为255;有用数据寄存ZigBee协议帧;FCS校验用于数据段的校验。
表2 协议帧功用码
依据规划中的自界说帧格局,报文中的有用数据被封装成固定格局,经过串口进行传送。开发板和Coordinator经过监听串口数据分别对收到得数据包进行解析。解析流程(以Coordinator为例)如图2所示,具体解析进程如下。
Step1:Coordinator监听串口(以中止的方法),直到串口有数据。
Step2:读取一个字节,断定是否为自界说帧头。若不是,丢掉数据,回到Step1。
Step3:读取两个字节,匹配功用码。匹配失利,置过错标志位,丢掉数据,回到Step1。
Step4:读取一个字节,若该字节数据为0,则直接跳到Step6。
Step5:若读到的数据值为N(0 Step6:读取两个自己数据,对Step1~5读到得数据FCS校验,若无过失,发送N个字节的有用数据给Z-Stack协议栈,由ZStack协议栈发送给子节点。回到Step1。
Step7:若FCS校验过错,置过错标志位,丢掉已读数据,回到Step1。
图2 串口协议解析流程图
3 体系软件规划
3.1 体系软件架构
无线网关软件选用模块化规划,如图3所示,由硬件驱动层、操作体系、网络协议层和应用程序组成。硬件驱动层首要描绘网关节点中ZigBee模块、 WiFi模块以及其他外设的一些驱动;操作体系层移植ARM Linux,增加无线网卡驱动模块;网络协议层首要包含ZigBee协议栈和WiFi协议栈;应用程序层首要移植了嵌入式Web服务器(BOA)、嵌入式数据库(Sqlite)、CG%&&&&&%库和图形化用户界面(Qt)[5]。
图3 体系软件架构图
3.2 体系软件流程
依据体系软件架构图,体系软件数据流具体规划如图4所示。
图4 体系数据流图
以ZigBee终端节点发送至异地终端浏览器的数据为例,介绍数据传送的整个进程。当ZigBee和谐器接纳到来自ZigBee终端节点的数据后,封装成自界说帧的格局经由串口传送给Linux传输协议,经协议解析,将有用数据写入同享内存。当收到外部Web恳求时,Web服务器经过CGI实时获取同享内存中的数据,并动态更新网页,经由WiFi无线网卡以无线的方法传送至终端浏览器。
3.3 测验与验证
使用嵌入式技能对两种协议进行解析,完结协议转化,终究使用手机经过WiFi长途拜访Web页面,读取ZigBee终端传感器数据,并对ZigBee终端的小灯开关进行长途操控,完结双模网关的基本功用。试验成果如图5所示。
图5 试验成果图
结语
本文经过剖析ZigBee与WiFi协议栈的特色,提出了一种双模无线网关转化的计划,该计划能够很好地完结ZigBee组网、长途数据收集和长途操控等使命。试验成果表明,依据ZigBee和WiFi的双模网关切实可行,能够完结全无线网络的组成,为网络通讯从有线向无线过渡供给了一种解决计划。