宋勇迪,张素娴(湖州师范学院信息工程学院,浙江 湖州 313000)
远程多点环境参数无线监控系统
宋勇迪,张素娴
(湖州师范学院信息工程学院,浙江湖州313000)
摘要:本文设计了基于无线传输模块XL105-232AP2和数字温湿度传感器DHT21/AM2301的远程多点环境参数无线监控系统。整个系统是以AT89S52单片机为核心来进行各终端节点温湿度数据采集,并通过无线收发模块进行数据的传输,在接收端也通过AT89S52单片机对数据进行处理,并且传输给液晶屏,从而实现无线的温湿度监控。文中给出了各硬件模块的功能和特点进行了详细的说明,软件部分给出了数据采集和数据处理的具体操作过程。
关键词:无线传输;单片机;温湿度传感器;数据采集
随着当今电子技术的发展,数字式温度传感器出现了,这使温度测量技术发生巨变,从模拟测量方法过渡到数字式测量方法。然而温度测量和湿度测量相结合又是一大技术突破,数字式温湿度测量方法无论在测量精度还是实时性方面都有了很大的提高[3]。随着网络及通信技术的飞速发展,短距离无线通信以其特有的抗干扰能力强、可靠性高、安全性好、受地理条件限制少、安装施工简便灵活等特点,在许多领域都有着广泛的应用前景。
远程多点环境参数无线监控系统是一种基于射频技术的无线温湿度检测装置,其中包括一个数据接收显示模块和若干个数据采集发送模块,其中数据接收端主要负责N路环境参数即温湿度数据的汇总接收处理显示,是整个控制系统的核心,是负责与各采集端通信并完成显示任务和控制功能的,数据采集发送端也就是温湿度采集端负责对测量点的温湿度测量,并根据接收端的控制要求把测量点的信息返回给控制系统,他们之间是通过无线方式进行有效的实时数据传输,也就是说采集端之间是不可以直接通信的[4]。数据采集网络中每个采集端由一片数字温湿度传感器DHT21/AM 2301采集环境温湿度数据,通过XL105-232AP2微功率无线透明传输模块将数据传输到接收模块,完成对环境多点温度、湿度数据的采集和无线发送;接收显示模块同样有一块XL105-232AP2微功率无线透明传输模块接收数据,经过单片机处理传输到液晶显示屏LCD1604分别显示出每个采集端的温度以及湿度数据,并且可通过扩展显示、键盘、RS-232等接口模块,完成温度、湿度数据的接收、显示和上传功能。
传感器SHT11是比较好的选择。该传感器将CMOS芯片技术与传感器技术结合在一起构成高集成度、体积极小的数字式温湿度传感器,使得传感器的耐久性、元件尺寸、数字化、简单和快速的系统应用等性能均有较大的提高。而且使用SHT11传感器无需外加任何转换电路,可与微处理器直接连接实现湿度以及温度的测量。SHT11传感器分别默认为14位、12位的测量温度和相对湿度的分辨率,通过状态寄存器则降至12位、8位,湿度测量范围是0~100%RH,对于12位的分辨率为0.03%RH,测温范围为-40°C~+123.8°C,对于14位的分辨率为0.01°C。每个传感器芯片进行标定都在极为精确的湿度室中,校准系数在OTP内存中以程序形式储存,在测量过程中可自动校准相对湿度,使SHT11具有100%的互换性[5]。
数据接收显示模块部分接收数据采集发射模块发送过来的温度湿度数据之后,然后在本地LCD上显示远端的温度和湿度,所以该模块的主要功能即以中断方式从射频接收模块获取得到远端发送的数据,每获得一个字节中断一次,此方法适用于本系统需要发送的数据量较小的情况,当接收到一次完整的数据之后,通知应用将获取的数据显示至本地LCD屏幕,从而完成整个无线温度湿度监控过程。
我们可以进行对比试验,先对型号为LCD 1602和AT 89S52的进行初始化,然后查询N路数据温湿度采集端,接收并显示出N路温湿度采集端的温湿度数据。查询过程的具体步骤应该是该模块首先给某一路温湿度采集端发送数据采集命令,同时监控定时器启动并等待接收应答,如果在规定的时问内相应的数据应答没有收到,将重新发送查询命令,并进行错误计数,避免数据丢失,如果错误计数达到一定程度,发送方就停止发送查询命令,进入错误处程序理,收到数据应答后,首先对数据进行校验合格后再把数据进行处理[2]。
数据接收显示模块部分接收数据采集发射模块发送过来的温度湿度数据之后,然后在本地LCD上显示远端的温度和湿度,所以该模块的主要功能即以中断方式从射频接收模块获取得到远端发送的数据,每获得一个字节中断一次,此方法适用于本系统需要发送的数据量较小的情况,当接收到一次完整的数据之后,通知应用将获取的数据显示至本地LCD屏幕,从而完成整个无线温度湿度监控过程。
3.1显示模块软件设计
显示模块初始化程序流程图显示模块实现的功能是将传感器获取的数据整理成符合显示格式的字符串,并送显到本地的LCD,流程较为简单,初始化串口的工作,也和采集发射模块的串口初始化类似,完成对定时器设置,对串行工作方式和波特率的设置,并打开串行中断和系统的全局中断。本系统中,在获取射频接收模块接收到的数据时,采用的是中断串行接收的方式,每获取一个字节,则产生一个中断,进入中断服务程序,完成将接收缓冲数据赋值至全局变量,直到完成6个字节的接收后,设置接收完成标志,在主程序中,当接收完成标志为1时,即已经完成一次完整的数据接收,则可以送至LCD显示屏,将获取的数据显示给用户,完成整个系统的功能,也就是说在接收显示模块中,除了主程序周期性的执行之外,还有一个中断一直处于活动状态,当系统接收到数据时,则触发中断,进入中断服务子程序,完成获取远端数据的任务。
当接收模块接收到正确的温湿度数据后就会把下位机编号和温湿度数据值显示出来,比如当LCD 1602显示“T0:11.8°C、R0:61.5%RH”表示数据采集端T0环境的温度值为11.8摄氏度,湿度值为61.5%,当显示“T0D isconnected”表示接收端与采集端T0失去联接。
3.2数据采集发送模块程序设计
数据采集发送模块部分程序流程图该模块在系统开启之初处于查询状态,当接收到接收控制端发送来的数据采集命令后进行温湿度采集,然后把数据打包发送给数据接收端,之后连续采集温湿度数据,一直送采集控制端,这样就可以实现温湿度的动态采集与显示。
该模块程序设计中主程序负责初始化系统,包括初始化LCD,初始化串口等,并形成周期循环,读取由传感器获取的温度湿度数据,在本地LCD上显示(本系统采集模块中未设置LCD液晶显示器),并通过无线发送模块发送至远端接收端,完成数据的采集和发送过程。
开始即程序的入口地址,从main开始执行,因为需要在本地显示温度湿度传感器采集的数据,所以包括了初始化LCD模块和本地显示模块,其中初始化LCD模块完成初始化LCD显示屏工作,设置显示屏的点阵显示方式,屏幕清口,并在屏幕的左边上下两行,分别显示温度湿度标号。初始化模块负责单片机的定时器1工作方式,串口波特率,串口工作方式为允许接收,最后打先开串行中断,然后打开系统的中断允许,完成初始化工作。在系统顺利完成整个初始化工作之后,系统进入周期执行阶段,首先读取传感器采集的温度湿度数据,在本地LCD上显示结果并发送数据至远端接收端,在完成一个周期之后,保证系统继续周期运行,进入下一个周期的采集读取和发送,保证接收端获取的数据有较高的实时性。下面介绍读取数据,本地显示和数据发送模块程序设计。
3.2.1读取数据模块程序设计
读取数据模块,即从传感器获得采集到的温度和湿度数据,完成数据采集功能。
3.2.2发射模块软件设计
数据发送模块完成模块功能,即将采集端在本地获取的温湿度数据,通过无线射频模块,发送至远端采集端,本系统中,只需要将数据通过串行方式,存入无线射频模块发送缓存区,无线射频模块完成将数据以无线模式发送出去,所以上面所述的发送模块,其实是以串行方式,将数据放入发送缓存中,并在每存入一个字节时进行适当的延迟,保证射频模块能成功的发送出去。
本文针对农业和温室环境的特点,在综合考虑性能与价格等因素后,提出了一种基于数字温湿度传感器DHT21/AM 2301和XL105-232AP2微功率无线透明传输模块的远程多点环境参数监控系统设计方案,并探讨软硬件实现的可行性。使用该技术主要有以下的优点:一是可以实现地理上分散的温室集群管理与监控,节省人力资源;二是可以充分利用免维护的网络资源,实现分布式远程数据采集;三是可以通过建立网络数据库,实现网络数据的共享功能。
参考文献:
[1]曹柏荣,冯运达.无线温湿度测量系统及其应用[J].自动化仪表,2005,26(07):30-34.
[2]高廓,田小建.基于nRF24E1的多点无线温湿度测量系统[J].现代电子技术,2005(22):115-118.
[3]何希才.传感器及其应用电路[M].北京:电子工业出版社.2001 [4]李春茂.传感技术[M].北京:科学技术文献出版社.2006.
[5]樊建明,陈渊睿.基于SHT11的温室多点测量系统设计[J].2006,25(11):4-8.