1硬件设计
1.1传感器节点的设计
传感器节点被放置在文物保护现场,采集文物所处的环境参数,其硬件主要由处理器模块、无线通信模块、传感器模块和电源模块租场[1],如图2所示.
1.1.1处理器和无线通信模块的设计
处理器模块和无线通信模块采用TI公司生产的CC2530作为核心芯片.CC2530集成了1个优化的低功耗的8051为控制器内核和1个高性能的RF收发器,支持Z-Stack协议,具有2个支持多种串行通信协议的USART,CSMA-CA通道状态侦测,21个通用GPIO和14位的A/D转换器,满足各类传感器与CPU的连接.它是一款针对IEEE805.15.4和ZigBee应用的RF收发器,只需在RF-N和RF-P这2个引脚外接电容电感器件,配以合适的天线构成无线通信模块,简化了无线模块的设计.同时,CC2530有专有或标准兼容的网络协议栈来简化开发[3].这些特性使得CC2530适合应用在野外监测环境中,其外围电路如图3所示.
1.1.2传感器模块的设计
传感器模块根据文物保护的需求,采集文物所处环境的温湿度、光照、降雨量以及振动等参数.其中的温湿度、光照和降雨量等环境参数用来检测文物所处空气环境是否处于合理的范围,避免自然环境造成的侵蚀老化等破坏;另外的振动等环境参数用于检测是否有穿墙、挖地洞等偷盗文物的行为发生,防止人为因素的损失.SHT10内部集成了温度传感器、湿度传感器、14位的A/D转换器及串行接口电路,通过无线网络对各个文物保护区域的温度和湿度进行数据采集,具有极高的安全性可靠性和长期稳定性.其供电电压为2.4~5.5V,测湿精度为±4.5%RH,25℃时测温精度为±0.5℃,满足野外文物环境监测的测量精度要求[4].它与CC2530连接时,只需要将处理器的P1.0和P1.1口分别与SHT10的数据线DATA和时钟线SCK相连,并在DATA端口接入一个10kΩ的上拉电阻,用于将信号提拉为高电平,通过相应的软件设计完成数据的采集和传输,其应用电路如图4所示.
光敏电阻MG41根据不同的光照强度判断紫外线对文物的损坏程度,具有极长的使用寿命和长期稳定性,并且它的暗电阻大于等于0.1MΩ,亮电阻小于等于1kΩ,满足测量精度的要求.在电路中增加100kΩ的分压电阻,可采集不同光照条件下MG41的两端电压,即根据电压值的不同采集不同的光照强度.另外,在电路中加入LM358运算放大器,接成电压跟随模式,可方便的完成光照强度的采集,其连接电路如图5所示.STSM-002型雨滴传感器利用压电效应将机械位移变成电信号.当压电振子受到雨淋时,传感器按照雨滴的强弱和雨量作振动,将雨滴的冲击能量变换成电信号,处理器CC2530的P0.7口检测雨滴传感器的电信号,当超出处理器所设置的条件时发出报警,通知相关人员对文物进行适当的保护措施.其响应时间小于等于10s,恢复时间小于等于30s,满足监测系统的实时性要求.ADXL345是一款超低功耗的加速度传感器,当穿墙或挖地洞等偷盗文物的行为发生时可以在运动或者振动中生成动态加速度,然后转换成可识别的电信号,处理器通过SPI口读取此信号并发出报警[5],其应用电路如图4所示.其高分辨率(3.9mg/LSB)能够测量不到1.0°的倾斜角度变化,测量范围达±16g,供电电压为2.0~3.6V,还可提供多种特殊检测功能,满足文物保护系统测量精度和低功耗的要求.
1.1.3电源模块的设计
传感器节点的核心控制芯片CC2530工作电压为2V~3.6V,推荐工作电压为3.3V.节点可选用2种供电方式:稳压直流电源供电,即通过USB总线供电;电池供电(2节5号干电池)供电[6].由于传感器节点中的模块均为低功耗器件,大部分时间都处于休眠模式,并且传感器节点要随意分布在环境现场,不方便使用USB总线供电,因此采用电池供电即可,通常可供节点工作6个月至两年不等[7].
1.2ZigBee网关的设计
ZigBee网关主要用于将监测数据由ZigBee网络通过3G网络传输到监控中心.因此,网关节点应该包含这两种网络的协议栈,并能完成协议之间的转换[8],以及对数据的处理和存储.其硬件包括处理器模块、无线通信模块、存储模块、3G通信模块、电源模块以及I/O接口,如图6所示.由于网关节点作为整个ZigBee网络数据的出口,其能量消耗和数据流量远远高于传感器节点,需要持久的供电模式和较大的数据吞吐量、较高的数据存储能力,以及较强的数据处理和控制能力,因此选择市电或太阳能供电的方式应对其耗电量大的特点;选择微处理器与无线通信模块于一体的CC2530作为ZigBee网关的控制芯片.其中,CC2530具有的256KB的闪存和8KB的RAM不能满足ZigBee网关快速处理数据的要求,需通过SPI口外接一片AT45DB041(528K)Flash存储芯片.其内嵌的3G模块采用Wavecom公司的Q2338/Q2358实现无线远程数据通信,通过UART口与CC2530相连,并把经TCP/IP协议栈处理过的数据包通过空中接口Um传送外部网上[9].
2软件设计
根据文物现场环境中的节点分布较广、不易更换电池等特点,系统采用休眠—唤醒—休眠的工作方式来降低能耗.ZigBee网络中的节点并不是总处于工作状态,只有在接收到控制命令时才转入工作状态,完成数据的采集和转发等工作.其软件设计移植了Z-Stack协议栈,Z-Stack协议栈提供了完整的路由协议,并且对应用层完全透明,只需将数据下发到协议栈,协议栈便会自动负责找寻路径,将数据送到目的地址[10].因此本系统的主要任务是在Z-Stack协议栈的基础上完成对传感器节点和ZigBee网关的软件设计.
2.1传感器节点的软件设计
传感器节点加入网络后,主要负责温湿度、光照强度、降雨量、振动等环境信息的采集和发送、控制指令的接收和执行.传感器节点多处于低功耗的休眠模式,等待定时器的唤醒.当传感器节点被唤醒且收到网关节点的发送命令时,开始通过传感器采集环境数据,然后将数据通过无线网络发送至ZigBee网关.传感器节点工作流程如图7所示.
2.2ZigBee网关的软件设计
ZigBee网关主要担当无线传感器网络中的协调器和实现信息远程通信的功能.系统启动以后,首先初始化硬件和协议栈.初始化完毕后,启动建立网络原语NLME-NETWORK-FORMATION.request,网关节点扫描并选择一个合适的信道,建立ZigBee网络并设置PANID和短地址.当有新节点申请加入网络时,网关负责给它分配1个16位短地址并允许其加入网络,随后进入休眠状态.当网关节点收到无线控制命令时,开始接收传感器节点采集的数据并进行数据处理,然后通过3G传输给远程的监控中心.网关节点软件流程如图8所示.
2.3信息采集在Z-Stack协议栈中的执行过程
ZigBee网络利用OSAL操作系统[11]抽象层进行任务设计和任务处理,调用信息采集任务处理流程如图9所示.在协议栈应用层UserAppProcess()程序中添加相应温湿度、光照强度、降雨量、振动等采集任务,系统工作时要对系统任务事件是否发生进行判断,然后根据Task-ID和Event-ID调用此任务的总事件处理函数OSAL-START-SYSTEM(),进入该任务的总事件处理函数之后,再根据Events执行相应的事件处理.
2.4系统管理软件的设计
文物监控中心的管理系统需要综合数据库、GIS[12]和无线通信等技术,在VisualStudio2005.Net平台下,以C#为开发语言,以MicrosoftSQLServer2000为后台数据库,实现数据管理,包括对网关上报数据的及时接收、分析和处理对历史数据查询以及对各个文物保护区域地图的存储;组网管理,包括对网络的控制、对网络节点能耗和ID号及网络拓扑的监控;基于GIS的数据管理,包括地图浏览、地图比例尺切换、目标查询;报警信息管理,包括监测数据超标时发出的报警联动,即在地图上单击报警点,显示地理位置信息等功能.管理系统数据通信的可靠性和实时性,由应用层的网络通信协议来保证.
3实验结果与分析
野外文物环境恶劣、地形复杂,为了测试监测系统的连通性与准确性,在实验室的外部模拟一个保护区域进行测试.将传感器节点分布在模拟的保护区域内,ZigBee网关和监控计算机放置在实验室,传感器节点与ZigBee网关之间相隔在50m左右.启动监测系统后,网络成功地将采集的数据传输到监控平台上,数据采集软件界面如图10所示.从监测的数据可知,系统在实验环境下数据传输可靠、准确.
4结论
本文设计的基于Z-Stack协议栈的环境监测系统,能支持多点多区域监测,监测区域的划分取决于野外文物分布的地理位置,并且节点只需部署一次就可以进行长期的监测工作,功耗低、实时性高.在使用的过程中,还可以根据实际需求扩展传感器模块用来监测野外文物所处环境的其他参数(如大气二氧化碳的浓度等),或者可利用外部能量(如太阳能、风能等)来增加网络的使用寿命,实现智能无线监测系统的能源自给、低功耗和自组网.
作者:张洋 陆利军 张运楚 李峰松 单位:山东建筑大学 信息与电气工程学院 东营市建筑设计研究院