基于Zigbee技术无线传感器网络平台的设计与实现
2015-10-26孔凡凤朱永平
孔凡凤,朱永平
(湖南邮电职业技术学院,湖南长沙410015)
基于Zigbee技术无线传感器网络平台的设计与实现
孔凡凤,朱永平
(湖南邮电职业技术学院,湖南长沙410015)
文章根据Zigbee技术现状及网络协议结构,模块化的分析了Zigbee协议栈,并进行了基于Zigbee无线传感器网络平台的硬件及软件设计。结果表明,该平台可以实现Zigbee无线传感器网络的基本功能并可以进行拓展。
Zigbee;无线传感器网络;协议栈
WSN是通过部署在监控区域的大量的传感器节点获得基本数据,节点之间协同合作、自组织的收集与传递数据信息的一种网络。随着传感器技术、网络技术、嵌入式技术及芯片技术SOC(Systemon Chip)的发展及无线传感器节点的功耗、体积、信息采集及处理速度提升,WSN也在快速发展,现已广泛运用于农业、交通、物流、智能家居等相关产业,同时我们也可以预测随着物联网技术应用的不断深入,成本的降低,WSN将会获得更加广泛的应用[1]。
1 Zigbee技术特点及协议栈
Zigbee是基于802.15.4协议标准上设计的一种短距离、功耗低、近距离、低速率、高网络容量及组网灵活的无线通信技术,如图1所示,它能根据用户的需求进行应用层的设计开发。
Zigbee联盟将Zigbee协议定义为四层[2],自上而下分别是应用层、网络层、MAC和PHY,与OSI模型中的五层网络相对应。协议栈的结构如图2所示。
图1 无线技术对比
1)物理层(PHY)
PHY层负责无线收发器的开启和关闭;实时信道的能量检测(ED);链路质量检测;侦听过程中空隙信道的评估;信道频率选择,一般工作在868/915Mhz和2.4GHz两个频段。从服务的角度去看物理层提供两种服务:通过物理层数据服务接入点提供物理层的数据服务;通过PLME的服务接入点提供物理层的管理服务。
2)介质访问层(MAC)
MAC层负责网络信标的生成并保持同步;提供CSMA-CA机制,设备安全,为对等MAC提供可靠连接,包括数据服务和管理服务。管理服务包含管理实体(MLME)通过MLME-SAP为其他层的管理函数的服务请求提供接口,同时为本层管理对象提供个域网信息数据库(PIB,PAN Information Base),数据服务通过MCPS-SAP提供。
图2 Zigbee协议栈结构
3)网络层
网络层包括数据实体(NLDE)和管理实体(NLME),数据实体通过接入点SAP提供数据传输,生成网络层协议数据单元,并进行路由分组及拥塞控制;管理实体根据相应的管理协议维护网络正常运转,并对网络信息库进行维护。
4)应用层
应用层主要包括三个部分:应用支持子层(APS)、Zigbee设备对象层(ZDO)和应用层框架。
应用层框架是上层的厂商设备和ZigBee设备连接的构架,通过参数APSDE-SAP来请求、响应、确认、接收和发送数据,规定一个设备上可以有240个独立的应用对象,端点0用于Zigbee设备对象层数据接口,端点255则用于广播数据接口,端口1-254保留。
ZDO层为应用对象、控制设备及APS之间提供网络接口,支持Zigbee的应用操作,对APS、NWK和安全服务规范(SSS)进行初始化,并根据终端接口数据进行信息安全、网络管理及绑定管理服务。
APS包括APS安全管理、APS消息代理及反射管理。APS安全管理负责与安全服务供应商进行对接,APS消息代理负责协议数据单元、绑定、过滤及消息分割等等;反射管理则支持子层的信息库来调用底层的管理函数来提供服务接口。
2 Zigbee与无线传感器网络的融合
RFID是一种自识别的无线射频技术,基本的工作原理就是利用无线信号对物体进行短距离的识别。
射频技术的发展有利的促进了标签的广泛应用,从而实现了实时的信息管理、灵活的制造管理、准确的跟踪和追溯,提高管理效率,使整个业务处理流程化、网络化、一体化。无源RFID例如公交卡识别距离只有几个厘米,距离较短,通常RFID系统是通过阅读器识别标签,识别距离有限,虽然可以通过增强的RFID系统,但是因为考虑到成本使用效果也不是很理想。本文结合RFID技术及Zigbee技术特点,以Zigbee为载体,提出了基于Zigbee的无线传感器网络设计方案。
2.1设备
图3 基于Zigbee的多跳RFID系统
在基于Zigbee的融合系统中,如图3所示,系统的各级设备从低到高生成树状的拓扑结构,从而完成承载数据的收集。在此系统中包括三级的设备结构分别是网关、Zigbee路由器及Zigbee终端。
1)网关
网关是整个拓扑网络的第一级,它集成Zigbee协调器、RFID阅读器、WLAN接口、大型存储器、LCD显示等功能,它是整个网络的组织者和管理者,也是是人机交互的界面提供者。通过网关可以获得传感器、EPC及路由器等相关数据,是整个融合系统的根节点。网关使无线传感器网络的远程控制及扩展提供了必要条件。
2)路由器
在此系统中,路由器的工作模式是源驱动路由协议,主要完成底层设备的添加、寻找路由及与下级的通信。路由器采用部分同步休眠机制,部分节点不是多跳路由的中间节点,则这些节点在可以保证涵盖了子节点活动周期的情况下可以周期性的进入睡眠状态,降低了能源功耗,所以可以使用电池供电。
3)Zigbee终端
Zigbee终端是一个低耗能的终端设备,它由电池供电,被随机部署在网站中,周期收集和上报数据,同时还兼有RFID的阅读器的功能,它可以根据标准选择要加入的网络,周期性的休眠,不但能收集温度、湿度等传感器数据还有大宗物品的EPC信息,并实时的传送给父节点。
在文献[3],应用层将需要的数据要求发送到Zigbee协议栈,协议栈将寻找路由并把信息发送到最低层。在本文中,在应用层生成RFID数据帧和传感器数据帧,因为RFID协议与Zigbee协议是兼容的,所以数据被透明的传送给网关设备。网关提供了与RFID及互联网的接口,可以通过此接口把数据反馈回RFID系统的阅读器。
2.2网络形成
本文的传感器及EPC信息收集过程分为三个阶段:网络初始化阶段;网络结构形成阶段;汇集数据阶段。
1)网络初始化
在此网络中,协调器在上电后开始组建网络,扫描空闲物理信道,然后配置相关参数,例如PAN-ID符、网络拓扑层级和节点最大个数等,并标示一个16位的网络地址,完成初始化。
2)网络结构形成
路由器和Zigbee终端在这一阶段作为子节点加入网络,形成网络拓扑层级,并按照约定分配16位的网络地址。节点的加入是在网络层完成,成功后将设备标识符及RFID数据帧上传给协调器并保存。
3)周期性汇集数据阶段
网络结构成型后,终端节点进行最本质的任务就是接收指令并周期的进行数据采集。通过人机界面可以获知网络的拓扑结构、节点的网络地址及设备信息及网络节点归属,并可是实时获得采集到的数据信息。同时,也可以通过人机界面进行个人操作,比如删除某些节点,修改某些节点的归属等。在此阶段如果还收到了诸如RFID的读取请求,网关将存储的EPC信息反馈给请求者。
3 Zigbee无线传感器网络平台的硬件设计
3.1基于CC2530的硬件设计
本平台的无线传感器部分以TI公司的8051为内核Zigbee芯片CC2530为核心,此芯片支持国际802.15.4标准以及Zigbee、Zigbee RF4CE及RemoTI等系列标准,快闪记忆体256字节,支持芯片无线下载,支持系统编程,并结合高性能的RF收发器与一个8051微处理器,有强大的支持功能和外设功能。
本文无线传感器网络的结构图4所示,网关节点是网络的重要一部分,是网络的核心,通过USB接口跟上层的计算机进行数据的分析、存储和发送,通过内置的Zigbee模块和下层的无线传感器节点进行节点数据的汇集。一旦网关节点收到计算机发出的指令后,首先判断指令的有效性,如果可行则根据指令分析需要送达那个节点,下发后等待节点执行指令并返回采集数据到网关,网关则传递数据到上层,通过计算机的应用软件显示,例如,如果采集的数据是温度或者光照,传感器节点采集到数值后,要通过Zigbee模块的A/D模块先转换为数字电压,再通过射频单元发送给网关,完成整个数据通信过程,其中节点底部包括Zigbee仿真下载接口、Zigbee模块接口、传感器模块接口、液晶屏、功能开关、外接电源接口、电源开关、复位开关及电池盒。
图4 无线传感网络的结构
3.2Zigbee无线传感器网络平台的软件设计
无线传感器网络平台系统开启后,要完成各部分的初始化,为操作系统的正常运行做准备,包括硬件数据的初始化,主要是时钟的校准,检测各个芯片的工作电压,初始化各硬件模块,FLASH存储的清零,初始化堆栈,软件部分则包括初始化相变存储器、初始化MAC层协议、初始化应用帧层协议、初始化系统的操作系统等。
系统初始化完成后进入操作系统的执行阶段,系统中对应每一个任务的事件调用tasksEvents数组,在函数的开始首先要遍历任务事件,然后根据任务的等级首先执行序号idx低等级高的任务,接着调用tasksArr函数来执行具体的处理函数来执行任务。
下面以节点加入网络试验为例说明整个流程:
首先Zigbee无线传感器网络协调器进行调用了ZDAPP网络初始化函数建立网络,同时会调用NetworkFormationRequest函数发起网络形成请求,网络的形成是在网络层完成的,最后向注册有端点描述符的应用层发送一个ZDO状态改变的系统消息(ZDO_STATE_CHANGE),来通知应用层网络已经建立,可以进行用户任务处理了。
接下来是终端节点和路由器节点的启动过程,终端节点则调用NLME_NetworkDiscoveryRequest函数发起网络发现请求,同样是调用了网络层的函数,在发现到可用的网络后网络层会给ZDO层相应的确认,并向ZDO层发送了一个网络发现确认消息(ZDO_NWK_DISC_CNF),确认已经发现了可用网络,然后调用网络加入函数NLME_JoinRequest加入到网络当中,同样对用了网络加入确认,该函数中向ZDO层发送了一个ZDO网络加入消息(ZDO_NWK_JOIN_ IND),并调用了ZDApp_ProcessNetworkJoin函数进行处理,终端节点和路由节点的启动差异也是在该函数中发生分歧的,对于终端设备,设置了ZDO_STATE_ CHANGE_EVT事件,最后向注册有端点描述符的应用层发送一个ZDO状态改变的系统消息(ZDO_ STATE_CHANGE),来通知应用层网络设备加入网络成功,可以进行用户任务处理了。
最后网络状态显示,Z-Stack网络层程序没有开源,但是对Zigbee网络程序调试提供了一个接口,就是提供了一个网络状态显示函数。
4 结论
本文结合了Zigbee技术特点,采用低成本、低功耗的终端节点并使用CC2530芯片设计并实现了Zigbee无线传感器网络平台的搭建,采用模块化的方法设计了Zigbee协议栈,使得该平台具有普适性和易拓展性,解决了从系统设计到产品设计中的典型问题,为Zigbee无线传感器网络的开发和应用提供了很好的参考。
[1]由文凯.基于agBee的无线传感器网络[D].南京:南京邮电大学,2012.30-34.
[2]杨凤,李强,朱灵波.一种无线传感器网络跨层能量模型及能耗计算[J].计算机工程与应用,2008,4(22):172-175.
[3]TI.Z-Stack Developers Guide.http://www.ti.com.cn/[EB/OL]. 2011-05-01.
Design and implementation of wireless sensor network platform based on Zigbee technology
KONGFan-feng,ZHUYong-ping
(Hunan Post and Telecommunication College,Changsha,Hunan,China 410015)
This paper analyzes the present situation and network protocol structure of Zigbee technology.The modular analysis achieves the Zigbee protocol stack and based on Zigbee wireless sensor network platform,the hardware and software are designed. Results showthat the platformcan realize the basic functions ofZigbee wireless sensor network and the expandingfunctions.
Zigbee;wireless sensor network(WSN);protocol stack
10.3969/j.issn.2095-7661.2015.02.005】
TN929.5
A
2095-7661(2015)02-0016-04
2015-04-30
湖南省教育厅科学研究项目(12C0963);湖南邮电职业技术学院课题(2013BZ08)。
孔凡凤(1979-),女,山东莱芜人,湖南邮电职业技术学院讲师,硕士,研究方向:无线传感网络。