基于Android客户端温室大棚监控系统的研制*

2014-07-14 05:48游海云
湖北科技学院学报 2014年7期
关键词:短信继电器温室

游海云

(福建广播电视大学漳州分校,福建 漳州 363000)

随着各国现代化农业的不断发展,温室大棚广泛应用于各种作物种植场合。温室大棚监控系统能够对温室内的空气温度、湿度、光照强度等农作物生长环境密切相关的参数进行环境测控,通过对监测数据的分析,结合农作物生长发育规律,控制环境条件,实现温室大棚管理的自动化和科学化,以达到优质、高产和高效的栽培目标。

本文介绍了一种基于Android客户端的温室大棚远程监控系统,对温室大棚内的空气温度、湿度和光照强度进行监控和预警,并实现智能开关继电器来调节各个参数使其达标。该系统设计性价比高,安装简单方便,可维护性好,发送数据没有距离的限制,是一种智能化和网络化的方案。

一、系统总体设计

本监控系统的设计有两部分。一是温室大棚内的实时采集和实时显示,该部分主要是采用传感器实时采集数据和显示,通过单片机处理后用GSM模块发送数据,为客户端远程显示提供数据源。另一部分是Android客户端,该客户端接收数据后实现远程显示,并以曲线图来展示,方便数据分析。客户端还能实现对温室采集显示端进行控制。系统整体方案如下图所示。

图1 系统总体框图

二、采集显示端

采集显示端硬件部分设计分为五个模块,分别是:运行控制模块、数据采集模块、GSM数据传输模块、显示模块和报警模块。整个系统的核心采用单片机STC89C52控制,温度数据的采集工作由DS18B20完成,湿度数据采集工作由DHT11完成,光照强度数据采集工作由光敏电阻和ADC0804共同完成,采集的数据由单片机处理成一定格式,通过GSM模块发送作为Android客户端的数据源,并在采集端把数据实时显示在LCD1602液晶模块上。系统能够对采集的数据进行判断是否符合标准,若超标或不达标会进行蜂鸣器报警,并控制继电器开关设备来调节环境参数使其达标。

1.运行控制模块

单片机即是嵌入式的微控制器,具有体积小、功耗低、成本便宜、操作可靠、环境适应能力强等优点,适用于工业控制领域和智能产品领域。本系统采用STC89C52单片机来做为系统的核心控制部分。STC89C52是一种低电压,高性能的8位CMOS 单片机,内含8k的可反复擦写的ROM和256 比特的RAM,器件采用了高密度、非易失性的存储技术生产[1]。

在本系统中,STC89C52的XLAT1、XLAT2引脚外接11.0592MHZ的晶振;P0口与LCD1602相连,控制LCD的显示;ADC0804将光敏电阻采集到的光照强度的信号转换成数字信号后通过P1口传送给单片机;P2口用作各个传感器、LCD蜂鸣器和继电器的使能控制端,控制这些模块的工作状态;P3口用于和GSM模块之间的串口通信,控制GSM模块的工作状态,读取GSM收到的短信并解析,实现相应对外部设备的操作。

2.温度、湿度和光照强度数据采集模块

由于数字式温湿度传感器DHT11对温度的灵敏度不是很高,故选择数字式温度传感器DS18B20来测温,仅用DHT11来测量湿度值。这两种传感器都是单总线结构的,单片机工作时要遵循严格的时序。

在本系统中,用光敏电阻测量光照强度,但其测出的光强是模拟信号,所以用ADC0804将模拟信号转变为数字信号。光敏电阻在光照强度大的情况下阻值降低,其两端电压值降低。为了符合正常的观察习惯,系统取采集到信号与255之间的差值作为输出,这样在光照越强的情况下显示的数值会越大。

3.GSM数据传输模块

GSM是与客户端进行通信的核心器件。GSM模块将GSM射频芯片、存储器、基带处理芯片和功放器件等模块集中在一块电路板上,具有独立的操作系统,并提供标准接口,可进行语音通话,收发短信,GPRS数据传输功能[2]。

GSM模块的核心是TC-35i。本系统采用可支持中文短信的西门子TC35i。TC-35i的主要包括供电模块(ASIC),闪存,天线接口和ZIF连接器,主要用来处理GSM终端内的语言信号和数据,并且TC-35i可以涵盖蜂窝射频设备中所有的模拟和数字功能[3]。

单片机对GSM模块的控制使用AT指令,且要遵循严格的设置步骤。在本模块程序中,GSM接到短信时会发送字符串给单片机,使得单片机产生一个接收中断,单片机将接收到的内容中的A~Z、a~z和0~9储存在预先设置的一个缓存数组当中,继而对内容进行处理:如果数组中含有“CMTI”,则说明GSM收到了短信,单片机接着发送AT指令来读取短信内容。如果短信中含有“getdata”,则单片机就从缓存数组中把发送端的手机号提取出来,并调用发送短信的函数将数据以短信的格式发送给客户端。如果短信中的内容是对继电器的操作,则单片机就把相应的端口置高电平或低电平来控制继电器的开启或关闭。

4.显示模块与报警控制模块

LCD1602是一种用来显示字符和数字等内容的点阵式LCD。由于采集显示端中仅需要显示简单的字母和数字,故选用LCD1602。

继电器在本系统中起着控制外设开关的作用,当客户端点击“on”或者“off”的按钮时,单片机就会从GSM中提取出信号,然后打开或关闭相应继电器的开关。系统中共有三个继电器分别控制温度、湿度和光照强度的外部设备。客户端收到温室内部的环境信息时,与设定好的阈值相比较,若是处于正常的范围之外,就可以打开或关闭继电器,从而控制对应外部设备的开关,调节温室内的环境因素,使得环境更有利于作物的生长。

三、Android客户端

图2 Android客户端框架图

Android是一个由操作系统、中间件、用户友好界面和应用软件组成的全面整合的移动“软件栈” 。本客户端使用Android应用程序的开发的主流语言Java继承开发环境Eclipse。Android客户端起着远程监控及控制的作用。在

本客户端中数据都是通过GSM以短信的形式发往手机的,客户端要实现手机短信的监听、拦截短信、提取数据的功能。客户端在实现功能时要调用系统发送短信的函数,并获取发送短信的权限。在客户端中能够以曲线图的形式显示接收到的所有数据。该客户端的框架如图2所示:

1.短信拦截功能的实现

首先是新建一个类继承BroadcastReceiver广播接收者类,在AndroidManifest.xml配置文件中为其设置短信接收广播的过滤器(android:name=“android.provider.Telephony.SMS_RECEIVED”),配置好过滤器后当手机有短信接收时,首先判断手机号是否为所设置的手机号,若是所设置的手机号则判断短信内容是否符合要求,内容符合要求则终止广播使手机不提示有短信接收。

2.趋势图界面的实现

该界面实现的功能是把所有的数据以曲线图的形式展示。在这里使用了Google提供的AchartEngine.jar包,实现曲线图缩放和滑动显示足够多的点。当接收到所需短信,提取数据并存储,再发送一个广播,在趋势图源文件中创建一个广播接受者,接收到广播后删除原有的趋势图,取出最新数据,调用AchartEngine包里的工具类,完成更新趋势图的操作。

3.设置模块

该模块实现的功能有:点击各“设备开关”发送指令到采集显示端,实现控制采集显示端的继电器开关;设置大棚内发射端号码和三个环境参数的阈值;清空趋势图中所有数据。

控制采集显示端的继电器开关的功能实现:通过ImageView控件实现OnClickListener接口并覆写该接口里的onClick方法,首先读取保存在SharedPreferences的图片的状态,通过状态来设置ImageView控件的背景图片,再把所设置的图片的状态保存在SharedPreferences中,实现软件上的开关功能并发送一条对应短信内容到采集显示端的手机号码。当采集显示端接收到“open” “close”短信时会分别打开或关闭对应的继电器。由于硬件不支持连续发送的命令,所以在处理点击按钮后要给出提示,防止阻塞。

四、结论

本文介绍了基于Android客户端的温室大棚监控系统,用GSM完成远程数据传送,采集显示端存储数据,并能将其以曲线图的形式在手机端显示。现场测试表明,该系统运行可靠,成本较低,实现了温室大棚内环境的实时监控与调节。

参考文献:

[1] 张毅刚,彭喜元,彭宇.单片机原理及应用[M].北京:高等教育出版社,2010.27~29.

[2]韩斌杰,杜新颜,张建斌.GSM原理及其网络优化[M].北京:机械工业出版社,2009.28~30.

[3]胡文麒.基于GSM模块的TC35i外围电路设计[J].新余高专学报,2010,(6):83~84.

猜你喜欢
短信继电器温室
现代温室羊肚菌栽培技术
苍松温室 苍松灌溉
苍松温室 苍松灌溉
继电器控制及诊断在电动汽车动力电池包的应用
便携式继电器测试台的研制和应用
计算机联锁复示继电器电路改进方案探讨
道歉短信
可以避免一个温室化的地球吗?
代发短信
泓格科技继电器输出模块-87061PW