张 罡
(武汉船舶职业技术学院,武汉 430050)
无线传感器网络(Wireless Sensor Network,WSN)是当前国际上备受关注的前沿热点研究领域。它集传感器技术、嵌入式处理技术、现代网络技术以及无线通信技术、分布式信息处理技术于一身,通过节点集成的微传感器协作感知、实时监测目标环境的信息,并将这些信息利用无线方式发送到用户终端。因此利用无线传感网络技术构建的远程监测系统可以解决传统模式中布线难和管理难的问题,可以远程获取大量详实而可靠的数据。无线通信技术上,由于传输数据量小且不需要很高的传输速率,而对于资源受限的微传感器节点成本和能量至关重要,因此必须选择一种低功耗、低成本的通信机制,ZigBee标准的公布解决了这一问题[1,2]。
作为一种双向无线通信技术的ZigBee技术来说,其具有低功耗、低速率、低成本,同时还满足短距离和低复杂度的要求,主要使用的范围为工业控制传感和远程控制相关方面,其10~75m为其主要传输距离,工作为2.4GHz的ISM频段上,同时,传输速率为20~250kbps。
ZigBee协议栈基于开放互联模型(OSI)采用的五层模型分别为:物理层、介质访问层、数据链路层、网络层和应用汇聚子层、应用层。
1)物理层。两种物理层使用相同的数据帧格式,采用直接扩频技术(Direct Sequence Spread Spectrum,DSSS)降低了数字集成电路的成本,但是需要注意的是,不同之处在于其调制技术、扩频码片长度、工作频率和传输速率等方面。这里采用2.4GHz频段全球通用的,一般为10一26共16个信道提供250kbps传输速率,采用O-QPSK调裁方式。
2)数据链路层。其中,在IEEES02系列标准中,媒体接人控制层MAC(Media Access Control,MAC)和逻辑链路控制层LLC(Logical Link Control,LLC)为数据链路层两个主要方面。MAC子层使用物理层提供的服务实现设备之间的数据帧传输,其设计目标是低成本、低功耗和低复杂度。LLC子层主要完成传输控制、数据包分段、重组、传输等功能。数据链路层的四种帧类型为:数据帧、信标帧、命令帧和确认帧。ZigBee采用载波侦听多址/冲突避免(CSMACA)信道访问方式和完全握手协议来提高传输可靠性。
3)网络层。网络层采用基于Ad hoc技术的网络协议减小功耗和成本并具有高度动态拓扑结构和自组织、自维护的功能。网络定义了两种设备:全功能设备(FFD)和简化功能设备(RFD)。FFD可以与任何类型设备通信,承担网络协调者和路由的功能。RFD只能与FFD通信。组网方式有三种:星型网、网状网和树状网。
4)应用层。主要是用户应用相关的代码以及一些应用接口,将不同的应用映射到ZigBee网络层如:设备的发现、入网以及事件的发现等。
第一,具有较高的通信数据可靠性。为了有效避免数据发送时候的竞争和冲突问题,CSMACA的避免碰撞机制在ZigBee中被采用,同时专用时隙也为固定带宽的通信业务所预先保留。完全确认的数据传输机制在MAC层中得以保存,另外,较高的通信可靠性通过每个发送的数据包都必须等待接收方的确认信息来体现。另外,AES-128为其加密算法,同时,数据完整性检查和鉴权功能在ZigBee系统中也很有必要,其安全属性可以通过协议栈的各层灵活确定。
第二,设备接入网络快,同时时延较短。对于设备接入网络和数据传送的延时时间来说,一般的时延都在15ms到30ms之间,这样特点在实时的监测和控制应用中就显得十分必要。
第三,具有低成本的省电功能。降低成本可以通过ZigBee协议免专利费实现,同时多种节电工作模式在ZigBee协议中体现,数据收发功耗极低,这样普通的五号电池就能满足长达6个月到2年左右的正常使用。
第四,网络容量大。65536个网络可以在每个信道上存储,另外,65536个网络设备可以在每个网络上存储,这样就说明了在大规模无线传感器网络中的网络容量极其庞大特点。
第五,网络的自组织、自愈能力强。对于ZigBee网络来说,周围节点可以自动进行感应,在没有人工干预的情况下而进行组建网络;另外,ZigBee网络能够自我修复由于节点失效或位置变动会破坏网络拓扑结构的情况,同时相应调整网络拓扑结构,使得正常的系统得以工作。
在某监测区域,通过人工布置载有不同类型传感器的节点,这些节点通过ZigBee协议自动组建网络,以协作的方式适时感知、采集和处理网络覆盖区域中的信息,并通过多跳网络将数据发至基站,基站通过与PC机连接,存储节点信息并进行初步分析处理,将处理后的数据通过互联网传送到远程专家进行统计、分析与判断。
典型的传感器节点由传感器模块、处理模块、通信模块以及电源模块组成。我们采用Jennic公司生产的JN5139-Z01-M0模块,该模块是集成微处理器和RF收发芯片一体的SOC芯片;传感器模块采用SHT10板载温湿度传感器芯片;电源使用两节1.5V电池。
JN5139-Z01-M00模块从低功耗、低成本出发采用RISC结构,吸取了PIC及8051单片机的优点,具有丰富的内部资源和外部接口,提供了多种电源管理模式,尽量节省节点能源;集成的RF射频组件不需要射频电路的调试,数据收发时电流仅为37mA,而且完全兼容2.4GHz IEEE802.15.4的收发器为ZigBee协议的应用提供保证;JN5139使用硬件MAC和高度安全的AES加密加速器,保证了低功耗和处理器的最小工作负荷。SHTl0集成传感器模块体积小,灵敏度高而且功耗低,可以将采集的温度值以数字直接传到微处理器,免去了外围电路的设计。电源单元加入了低功耗的管理与控制,当节点不工作的时候系统进入休眠状态,关闭通信单元供电CPU进入低功耗模式以节省电能。另外,节点还有RS232接口用来将用户程序代码写入JN5139的FLASH存储器,将汇聚节点收集数据发送到PC机;以及I/O扩展口用来扩展片外存储器或其他传感器模块以实现新的功能。
在系统软件程序设计时,采用Jennie公司Code::Blocks作为开发环境,基站采用串口通信模式,利用中断的方法来完成数据的接收和发送。节点向基站发送中断请求,基站唤醒将节点数据转发到PC机,另外基站也负责将本身收集数据发送到PC机。平时节点都处于休眠模式,当有中断时才唤醒工作。
软件程序由基站和节点程序组成。节点电源打开后,初始化ZigBee模块和传感器模块的一些参数,建立通信链路后进入休眠模式。当基站收到节点的中断请求时触发中断,激活节点打开通信单元接收数据,并进行数据的处理,通过串行口将数据包发送到PC机。节点初始化过程中主要是对节点协议栈和传感器模块的初始化,而后进自动调用任务调度系统当有数据发送请求时节点会自动唤醒调用系统的AppWarmStart()函数,进入主程序,开始将采集到的数据向基站请求发送,基站回应后开始数据的传输,传输时设置了阀值来判断数据是否传输完成。完成数据的传输后节点会自动进入休眠模式。
传感器网络的拓扑结构主要有星型、树状和网状三种结构。其中网状结构的系统健壮性最好,有多条链路可以实现数据的转发;树状依赖于各个主干节点,当有一个主干节点失效可能造成其他节点链路的中断;而星型网络简单易于实现,可用于小范围的网络监测。由于本系统实现的是对设备的状态监测,规模和监测范围不是很大,因此采用简单的星型网络结构就可以实现要求,通过多个节点不同传感器的数据综合分析可以判断监测区域的状态。
系统启动后,基站根据拓扑协议进行网络的组建,为节点分配短地址,当节点收到后就返回一个ACK包响应,所有节点都返回以后网络组建完成。当主机执行查询相应的传感器数据时,基站根据地址分配找到相应传感器的位置执行相关的数据采集;而当节点的传感器定时监测中发现异常情况,则需上传数据基站,基站收到后发一个收到响应包,如果节点在没有收到确认信号时将重新发送。
为了验证系统的可行性,我们采用Agilent33220A函数发生器产生500Hz正弦波信号通过节点ADC进行采集和发送,采用单点采集的模式每隔0.2ms采集一个点数据,因此对于500Hz信号每个周期可以采集10点数据,通过星型网络节点讲述数据发送到基站后由串口显示,通过对其中一个节点采集的数据进行了波形的还原,可以看到其峰峰值之间间隔完全符合我们预期的目标,从而说明数据可靠的收集以及监测网络是可行的。另外我们节点的温湿度传感器可以对周围环境情况实时监测报告。
本文提出一种基于ZigBee技术构建的无线监测系统,以Jennic公司推出的JN5139-Z01-M0为核心设计了传感器节点,分析了节点的结构并对其程序的流程进行介绍,通过实验实现了对数据的采集和无线发送。ZigBee技术作为一种新兴的低功耗、低成本、短距离无线通信技术,在无线传感器网络中必然会有广泛的应用前景。随着技术的不断成熟和系统的逐步完善,该方案在工业领域也会有广阔的应用前景。
[1] 郭杰, 雷刚, 施芸, 等. 基于ZigBee的汽轮机汽缸负荷分配监测系统设计[J]. 制造业自动化, 2011, 33(20).
[2] 杨福宝. 基于Zigbee的数据传输系统的研究设计[J].制造业自动化, 2011, 33(2).
[3] 高相铭, 杨世凤, 胡瑜. ZigBee技术在城市管网监测系统中的应用[J]. 电气传动, 2012, 42(1).
[4] 樊志平, 洪添胜, 刘志壮, 等. 柑橘园土壤墒情远程监控系统设计与实现[J]. 农业工程学报, 2010, 26(8).