基于无线传感器网络的温湿度检测系统
2010-03-24吴建锋
张 军,吴建锋
(杭州电子科技大学新型电子器件与应用研究所,浙江杭州310018)
0 引 言
温湿度检测与控制技术被广泛应用于工农业生产中,如温室、烤烟楼、大棚等很多地方都会对温度和湿度进行定时监测,以保证生产要求或植物在最佳环境下生长。如果采用人工定时测量,不但要耗费大量的人力,而且不能够做到实时监控,特别在某些高温场所还有可能造成安全事故。传感器无疑是测量与控制系统中重要的组成部分。但是伴随传感器而来的是布线的复杂和不便,大量的数据线缆还存在着短路、断线隐患,成本高、易老化等问题,给系统的调试和维护增加了难度。无线数据通信技术以其组网简单、使用方便、扩展性强的优点在实际应用中被广泛采用。为此,设计了一种基于无线传感器网络(Wireless Sensor Networks,WSN)的温湿度检测系统[1-3]。
1 系统功能及组成
无线传感器网络是由大量微型、智能、低功耗传感器以某种网络协议构成的无线网络,能够协作地实时监测、感知和采集网络分布区域内的各种环境或监测对象的信息,并对这些信息进行处理,获得详尽而准确的信息,传送到需要这些信息的用户。它综合了传感器技术、嵌入式计算技术、分布式信息处理技术和无线通信技术,是信息感知和采集的一场革命。
系统由测控主机和若干无线温湿度传感器节点组成,如图1所示。其中测控主机主要由上位机、电源、无线收发模块nRF9E5组成,通过MAX3232转换电路,和PC机进行串口通信。它能够接收远程各节点信息,监控节点运行情况,并根据上位机要求发送命令字到指定节点,控制各节点的功能。无线温湿度传感器节点主要由电源、温湿度传感器、无线收发模块nRF9E5组成,能够采样并发送数据到测控主机,接收并执行测控主机发送来的指令,并且可作为中转站间接传输数据[4-10]。本文主要介绍无线温湿度传感器节点的硬件结构和软件设计方法。
图1 系统结构图
2 硬件设计
2.1 传感器节点设计
该系统的传感器节点电路如图2所示。
图2 传感器节点电路图
核心芯片采用了Nordic公司的nRF9E5。nRF9E5是Nordic公司于2004年推出的系统级RF芯片,其内置nRF905 433/868/915MHz收发器、8051兼容微控制器和4输入10位80ksps A/D转换器,数据传输速率100kbps。工作电压1.9~3.6V,功耗低。nRF9E5还具有载波检测功能。它在发送数据前,先进入接收模式侦听,当出现nRF9E5工作信道内的射频载波时,载波检测引脚(CD)被置高。这个特性很好地避免了同一工作频率下不同发射器的数据包之间的碰撞[4]。
传感器采用温度传感器DS18B20与湿度传感器HS1101。DS18B20是美国Dallas公司推出的单线数字式温度传感器,工作电压3.0~5.5V,温度测量范围-55~+125℃,在-10~+85℃范围内测量时精度为±0.5℃。DS18B20温度传感器的检测转换结果以16位二进制的补码形式存放在温度寄存器中,如表1所示,其中S为符号位,温度为正时S=0,温度为负时S=1,其他位为数据位,数据位越多温度分辨率越高,9位数据温度分辨率为0.5℃,12位数据温度分辨率为0.062 5℃。它将现场采集到的温度数据直接转换成数字量输出到nRF9E5的GPIO口P0.0。HS1101型湿度传感器是HUMIREL公司生产的变容式相对湿度传感器,工作电压3.5~12V。该传感器具有检测速度快、高精度、高可靠性、长期稳定性和使用方便、体积小等特点。HS1101型传感器在不同的相对湿度中的电容值不同,利用这个特点与555芯片构成非稳态电路,产生频率随湿度变化的脉冲信号,接入nRF9E5的计数器T0口P0.5,输出频率的典型值如表2所示。每个传感器节点采用6F22 9V电池供电。
表1 DS18B20温度寄存器结构
表2 HS1101典型频率值(参考点:25℃,相对湿度:55%,输出频率:6.660kHz)
2.2 测控主机设计
测控主机的电路与图2基本相似,不同之处是去掉两个传感器,然后通过P0.1、P0.2外接MAX3232电平转换电路,和上位机进行串行通讯。
3 软件设计
本系统中,每个节点具有数据采集与路由功能。为了分辨出数据来自哪个节点,收到的数据是温、湿度值还是命令字,特设计数据协议如表3所示。
表3 数据协议格式
Preamble为引导字节,Add为接收机地址,Payload为有效加载数据(包括接目的机地址Rxid、本机地址Txid、源发送地址Sid及Data字:当选择字S=0时,Data为温、湿度数据,S=1时,Data为命令字),CRC为校验码。
在整个系统中无线通信的频率采用一个频道433.2MHz作为通信载波频率,所以整个系统的通信采用分时技术,测控主机采用扫描方式逐点采集数据,节点采用中断方式采集温湿度,发送采集的温湿度数据和转发来自上位机和其它节点的数据流。首先,测控主机向系统中某一节点发出温湿度转换命令,接着节点对测控主机发出的地址信息进行处理,如果目的机地址Rxid与本机地址Txid相符,则进行温湿度转换,然后上传给主机;如果地址不相符则转发命令包;如果收到其它节点的数据包则转发给主机。传感器节点程序主要由初始化主程序和中断子程序两部分构成。主程序包括单片机系统初始化、nRF905子系统配置初始化等。中断子程序主要包括:(1)采集子程序,用来采集温湿度;(2)接收中断子程序,用来接收上位机和其它节点传递的数据和命令;(3)发送中断子程序,用来发送采集的温湿度数据和转发来自上位机和其它节点的数据流。
在PC机上,用VC++编写上位机程序,把从传感器接收到的数据描绘成曲线,并显示当前值。用SQL Server制作数据库,可以对历史数据进行查询。如图3所示,置于空调前的一个温度传感器节点发回来的数据曲线图中,节点温度从32℃降到了19℃。
图3 上位机部分界面
4 结束语
本文针对当前温湿度检测中面临的检测点分散、布线困难和实时性差等特点,设计了基于WSN的温湿度检测系统,可以显示各测试点的实时温度湿度,还可以通过RS232接口将数据上传到PC机存储,以便进一步分析处理。系统具有如下优点:(1)采用了低功耗的集成化器件,提高了系统稳定性和可靠度,缩减了系统体积;(2)信号传输采取了曼彻斯特编解码、GFSK调制、CRC校验等技术,保证了数据传输的准确性;(3)节点在楼宇内传输距离大于30m,在室外空旷处可达200m以上;(4)在危险区域和大面积检测中布置容易,能够实现低成本连续在线检测,较传统在线检测系统具有更大的优势。
[1] 高廓,田小建,田宁君.基于nRF24E1的多点无线温湿度测量系统[J].现代电子技术,2005,(22):115-118.
[2] 李守勇,董天临.温度湿度无线测控系统设计[J].传感器技术,2005,24(12):64-68.
[3] 于尔,唐厚君.低功耗高性能无线温湿度测量系统的设计和实现[J].电子技术应用,2005,(2):31-33.
[4] 季一锦,尹明德.一种基于nRF9E 5的无线监测局域网系统的设计[J].国外电子元器件,2004,(12):22-25.
[5] 饶云华,代莉,赵存成,等.基于无线传感器网络的环境监测系统[J].武汉大学学报,2006,52(3):345-348.
[6] Nordic Semiconductor.Datasheet nRF9E5rev1_2[DB/OL].http://www.nvlsi.com,2005-01-15.
[7] Cheng M X,Cardei M,Jinhua Sun,et al.Topology control of ad hoc wireless networks for energy efficiency[J].IEEE transactions on computers,2004,53(12):1 629-1 635.
[8] Akyildiz L F,SuW L,Sankarasubramaniam Y,et al.A survey on sensor networks[J].IEEE Communications Magazine,2002,40(8):102-114.
[9] Mainwaring A,Polastre J,Szewczyk R,et al.Wireless sensor networks for habitatmonitoring[C].Atlanta:ACM international workshop on wireless sensor networks and applications,2002:589-599.
[10] 于海斌,曾鹏,梁韡.智能无线传感器网络系统[M].北京:科学出版社,2006:283-319.