基于IEEE802.15.4的无线传感器网络由于廉价、简单、低功耗、低数据传输速率(250Kbit/s)以及工作在免申请的ISM(工业、科学和医疗)频段的特点,将在自动控制、环境监测等领域得到广泛应用,在对无线传感器网络深入研究的基础上,我们选用了Helicomm公司新推出的IP-link1200模块搭建了一个验证系统,实现了对目标点温度指标与湿度指标的实时监测控制功能。
1 验证系统总体方案设计
无线传感器网络采用大量具有多功能多信息信号获取能力的传感器,利用自组织无线接入网络与传感器控制器连接,构成无线传感器网络,典型的网络结构如图1所示。
无线传感器节点经多跳转发,通过网关接入网络,在网络的任务管理节点对传感器信息进行管理、分类、处理,再把传感器信息送给终端用户。
与传统Ad hoc网络相比,无线传感器网络具有一些明显特征:
以数据为中心,以无连接方式传输数据;网络的拓扑结构变化不大,主要是旧节点的离开和新节点的加入;网络结点密度高,传感器节点数量众多,单位面积拥有的节点数远远大于传统的Ad hoc网络;传感器节点由电池供电,节点能量有限;网络还应该具有容错能力。
对于无线传感器网络协议,IEEE802.15.4满足OSI-RM(开放系统互连参考模型)标准,定义了MAC(媒体接入控制)层和PHY(物理)层协议。Zigbee是全球许多家公司组成的一个产业联盟,它定义了一组基于IEEE802.15.4的有关组网、安全和应用软件方面的技术标准,我们搭建的系统符合Zigbee联盟的规定,而Zigbee的MAC层、物理层则符合IEEE802.15.4协议,由于该标准是开放的,基于该标准的产品不必支持专利费,有利于加快无线传感器网络领域的产业进程。
对于该无线传感器网络验证系统的具体实现,可以由多种方案,有移动网、卫星以及Internet等多种手段,此外还可以建立专网传输数据至管理中心、终端用户。
针对本实验验证系统的实际应用是农业监测控制,所以要考虑它的实际情况:一是建设的周期、资金;二是网络的覆盖范围;三是终端用户获取数据信息的便利性,根据这3个要素,选择GSM(全球移动通信系统)网络较符合系统要求。
如图2所示,无线传感器网络验证系统主要由数据采集和传输网络(本地网络)、GSM网络、管理中心、用户终端4部分组成,其中,用户终端就是普通的手机,它和GSM网络都是非常成熟的稳定的平台,因此验证的主要研究工作在管理中心和本地网络的设计实现以及如何接入GSM网络。
管理中心的硬件由一台PC机和数个GSM模块组成,考虑到网络阻塞问题,管理中心采用多个GSM模块,软件部分由任务管理软件和数据库组成,系统支持Internet网络发布功能,实现数据共享。
本地网络由一个兼做接收器的目的节点负责本地网络的协调,并将采集的数据简单处理后发给GSM网络的管理中心,一个本地网络中最多只能有255个传感器节点,如果要安放更多的节点,可以通过增加本地忘了网络的数目而达到目的。
实验验证系统实现的功能如下:用户只需用普通的GSM手机向管理中心指定的号码按照规定格式发送节点号、时间等数据请求信息,就会收到相应节点在该时间点上对应的温湿度信息,例如,请求信息N112T05/09/01/20:30:00,表示节点号为112在2005年9月1日20时30分;返回信息为N112T05/09/01/20:30:00/W25S56表示112号节点在那一时刻的温度是25摄氏度,相对湿度为65%,另外,在部分节点还加上了控制装置,同样,用户也只需发短信,就能完成控制操作,还提供了Internet上的数据库查询服务,以便为用户提供更多的信息。
传感器采集数据的方式可以是定时采集,也可以是按用户要求采集,数据的时间间隔、传感器的节能等功能可以在管理中心进行设定,采集到的数据存放到管理中心的数据库中,供显示、报表打印使用,并发布到Internet上以利于各种用户共享数据。
2 系统硬件设计和实现
2.1 本地网络
我们把在本地网络中的节点分为以下3种类型:
目的节点(接收器):主要功能是汇总本地网络的数据,并将它通过GSM网络传送给管理中心和用户终端;中继节点:不但有数据采集、而且还具有控制功能(比如控制各种电机动作);源(普通)节点:具有实时采集温度、湿度两项指标的功能。
目的接点如图3所示,由IP-Link1200通信模块、温度传感器、湿度传感器、GSM模块、单片机AT89C51,串口扩展芯片SP2328、辅助接口电路以及电源模块组成。
IP-Link1200通信模块是由Helicomm公司开发的一款基于Zigbee标准的集成无线网络模块,它支持多种组网方式(星形网络、簇树形网络、对等网络以及混合型网络),有1个UART(通用异步收发器)口、2个可用的ADC(模/数转换)口。
温度传感器和湿度传感器(HM150LF)分别连接到ADC0、ADC1口。
GSM模块选用WAVECOM公司生产的Q2403A,它支持900MHz和1800MHz两个频段,接口为RS232C,通过AT指令控制,符合GSM07.07命令集。RS-232接口经过电平转换,接入到串口扩展芯片SP2328。
单片机AT89C51是主节点控制的核心部分,它通过串口扩展芯片SP2328扩展了3个串口UART0、UART1、UART2、分别与GSM模块、IP-Link1200模块以及控制电路相连,控制电路部分,其实只是一个接口转换电路,它把UART2口传送过来的数据送到标准RS-232串口与各种不同类型的控制器相连,控制信号的数据解码任务由AT89C51完成。
目的节点除去GSM部分的功能,就成为中继节点。而普通节点具有温湿度数据采集和网络通信功能,由IP-Link1200模块、传感器和电源3部分组成,值得强调的是普通节点必须为配置结点参数留有一个UART接口。
2.2 管理中心
在管理中心的一台PC机通过它的3个RS-232接口与相应的3个Q2403A模块相连,多个GSM模块的运用可以避免网络忙时造成阻塞。
3 软件流程和实现
3.1 本地网络的软件
软件部分由节点程序和远程管理中心程序两部分组成。
节点程序主要流程图如图4所示。
设备初始化成功后对信道进行扫描,这里加入了节能考虑,查询次数大于M时,设备自动转入休眠计时状态,休眠时间大于Tmax后,又返回扫描状态。
节点程序的物理层、MAC层和网络层部分运行于IP-Link1200通信模块中,而应用层的程序则运行在AT89C51中,主要功能是通过控制3个UART口完成温湿度数据采集、与GSM网络的通信和对控制器的操作,它的一般帧结构如图5所示。
3.2 管理中心
在位于远程的管理中心,运行于PC上的管理软件用Visual C++6.0开发,支持数据库查询,该数据库由微软的Access 2002创建,当需要查询某一本地网络中某个节点的温湿度指标时,仅输入对应的节点号即可,界面如图6所示,这时可以看到相应节点的温湿度参数以及数据采集时间,界面如图7所示,通常,在不进行手动采集时,设定一定的采集时间间隔,系统会自动采集并存储数据。