APP下载

温室大棚温湿度监测短信报警系统设计

2016-11-30

传感器世界 2016年10期
关键词:温湿度短信指令

辽宁建筑职业学院 自动控制系,辽宁 辽阳 111000

一、引言

我国是农业大国,同时也是农业设施大国,设施农业起步较晚,但发展较快。设施农业同普通农业相比,产业化程度高,效益好,接受新技术的能力强。

据不完全统计,目前我国日光温室和塑料大棚种植面积分别达到330,000hm2和670,000hm2,很多中小型农户或者企业仍然采用人工查看温湿度计并派人值守的方法来监测农业生产,其效率低下,人工成本高。随着信息技术的发展,传统农业中人员密集型的数据采集与监测和有人值守的共组方式将被电子信息监控系统所取代,实现监控现场无人值守,监控中心集中监控、集中管理、集中维护的现代无线通信系统[1][2]。

温室环境是封闭和相对独立的生态环境,在这样的环境中,有很多因素制约着温室作物的生长,其中的温湿度指标直接关系到农作物的产量和质量,是温室大棚种植的重要参考指标。

本文基于51内核单片机和GSM短信模块,针对中小型农户温室大棚种植特点,设计并开发一种适用于温室大棚温湿度监测短信报警系统,解决了人工监测效率低下以及无人值守监测不及时等问题,同时也便于对大棚内温湿度参数及时掌握,对历史数据进行存储、分析,是电子信息技术在传统农业和农业信息化方面的有益探索和实践。

二、系统总体设计

根据系统设计要求,能够对温室大棚内温湿度参数进行实时连续采集和分析,对关键参数点进行检测和报警,根据实际需要,系统设计温度检测范围在-20℃~ 60℃,精度为±0.5℃,湿度检测范围在0~100%RH,精度为±3%RH,并具备较强的抗干扰能力。系统触发报警后,应以短信形式发送报警消息,同时发出声光电报警信号。系统GSM网络工作频段在GSM900/1800MHz双频网络,通信状态下整体电流小于150mA,待机状态下电流小于50mA。此外,系统应具备存储数据的功能,以便阶段时间内对大棚温湿度参数进行提取和分析。

根据系统设计要求,给出总体设计方案:以STC15系列增强型单片机IAP15W4K32S4为核心,使用数字式温湿度传感器DHT21来采集数据,通过TC35i-GSM模块发送状态数据短信,接收命令设置短信。使用DS1302作为时钟信号发生器,使用SD卡保存数据,用于日后数据分析和温度曲线的绘制;同时配备LCD12864液晶显示屏用作人机交互,可显示测量数据、显示系统时间、显示系统参数;配备按键以实现手动发送信息,手动设置系统参数功能等功能。系统结构框图如图1所示。

单片机在每一个监控点完成对温湿度信号的采集,根据设置的上下限预警值,将此事件的性质和必要的数据信息通过GSM短信息形式发送给监控中心及系统设置的手机里,以便相关人员及时掌握情况并采取措施将参数调整回合理范围。短信息(SMS)数据传输业务在数据量不大、需要长时间连接或者所监控的节点位置经常变化的情况下,对于那些实时性要求不高的远程监控对象,具有系统可靠性高、地域空间限制小、开发成本低、开发周期短等明显优点[3][4]。

三、系统硬件设计

1、单片机

在单片机的选择上,使用宏晶科技有限公司最新推出的STC15系列新型Flash单片机,与传统8051指令兼容,但在片内资源、操作性能和运行速度上做了很大的改进[5]。开发过程中选用IAP15W4K32S2单片机,其特点如下:增强型8051内核,每个机器周期只需要1个系统时钟,速度比传统8051快8~12倍;内部高精度R/C振荡器,可省略外部晶振,内部时钟频率5~35MHz可选;内部集成高可靠复位电路,8级可选复位门限电压,可省略外部复位电路;具有ISP(在系统编程)/IAP(在应用编程)功能,片机本身就是仿真器,为调试提供极大方便;32KB片内Flash程序存储器;IO端口可设置四种模式,即准双向/弱上拉、强推挽/强上拉、仅为输入/高阻以及开漏模式。

2、短信模块

短信模块选择使用TC35i-GSM模块。TC35i是德国西门子公司的一款双频900/1800MHz高度集成的GSM模块,它可以安全可靠地实现语音、数据、短信息服务等功能,它的工作电压是3.3~5.5V,在GSM网络日臻完善的今天,TC35i是一款优秀品质的产品,它集成度高,可以在短时间内花费较少的成本开发新产品[6]。TC35i电路注册主要包括:基带处理器、射频电路、内存、供电电路、天线等。基带处理器是TC35i的核心组件,它具有该模块所有的数字和模拟功能,主要实现数据信息和语言信息的处理[7]。TC35i模块框图和实物图如图2所示。

TC35i模块工作可靠,性能稳定,接口简单,可以直接与单片机串口连接,电路图如图3所示。

3、温湿度传感器

温湿度传感器选择DHT21数字式温湿度传感器,这是一款体积小、精度高、响应灵敏、性价比高的传感器,非常适合农业现场环境使用。DHT21内部包含一个NTC测温元件和一个电容式感湿元件,能够直接输出校准过的数字信号,信号传输距离可达20m以上,抗干扰能力强。四脚封装的DHT21接口简单,其与单片机连接电路如图4所示。

4、数据存储

数据存储介质选择使用SD卡,SD卡具有价格低廉、存储容量大、使用方便、通用性与安全性强等优点,已经成为最为通用的数据存储卡。工业控制器及数据采集等设备也常需要使用SD卡提高数据存储的灵活性。SD卡的接口可以支持两种操作模式:SD模式和SPI模式。通过这两种模式都可以实现数据的传输,SD模式是SD卡标准的读写方式,其采用6线制,使用CLK、CMD、DAT0~DAT3进行数据通信,数据传输速率高,但是协议复杂,只有少数单片机才提供此接口;而SPI方式采用4线制,使用CS、CLK、DataIn、DataOut进行数据通信。单片机对SD卡进行读写时一般都采用 SPI模式。因为大多数中高档单片机都提供SPI接口,易于实现。

SD卡的操作模式选用SPI模式,单片机通过软件编程实现SPI模式的数据传输。在SPI模式下,单片机与SD卡的连接主要有4根线:包括时钟线,两根数据传输线和一根片选线。引脚1作为SPI片选线,引脚2作为SPI总线的数据输入线,引脚7作为数据输出线,引脚5用作时钟线(CLK)。除了电源和地,保留引脚可悬空。SD卡SPI模式下与单片机的连接图如图5所示。

5、报警电路

声光报警电路如图6所示,当检测到温湿度参数高于或者低于上下限时,单片机P26引脚输出低电平驱动红色指示灯点亮,同时P27经过三极管驱动蜂鸣器发出报警声,当温湿度参数恢复到正常范围后报警自动解除,停止声光报警。

四、系统软件设计

1、主程序流程

温湿度监测及报警的逻辑流程是在程序控制下完成的,主程序包括系统初始化、监测温湿度数据、判断是否超过报警上下限值、发送报警信息、数据存储、报警状态存储、LCD显示、响应参数设置和控制命令等功能。主程序流程图如图7所示。

在系统初始化阶段,主要完成GSM模块、LCD模块、SD卡的初始化,读取EEPROM中存储的参数值对系统状态进行初始化。

2、DHT21模块子程序

温湿度数据采集程序基于DHT21单总线时序,单片机在读取DHT21数据之前需要先给一个18ms以上的低电平,单片机发送一次开始信号后,DHT21从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT21发送响应信号,送出40bit的数据,并触发一次信号采集。因为DHT21对时序要求严格,运行该子程序时应关闭中断,不调用延时函数,以避免对时序的干扰。

3、TC35i模块控制

TC35i模块操作接口是基于AT指令集。AT指令一般应用于终端设备与控制器设备之间的连接与通信。AT指令简单易懂,采用标准串口来收发AT命令,大大简化了对设备的控制,将相应的操作转换成简单串口编程。AT指令以AT作首,字符结束的字符串,指令响应数据包在其中,每个指令执行成功与否都有相应的返回。使用AT指令控制TC35i模块发送短息需要四个步骤:发送短信格式设置指令、发送短信目标号码设置指令、填写短信内容、发送短信结束符。

发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。系统默认为TEXT格式,使用中通常需要发送中文字符,可设置选择使用PDU模式,在初始化阶段添加发送相应指令(”AT+CMGF=0 ”)进行格式转换。

单片机通过串口向TC35i模块发送指令“AT+CMGS=”xxxxxxxxxxx””来设置短信目标地址,其中x部分就是目标电话号码;然后通过串口向TC35i模块设置发送短信内容,最后发送短息结束符0x1A,等待接收到返回值“OK ”即可。

4、SD卡读写操作

SD卡的软件设计主要包括两部分内容:SD卡的上电初始化过程和对SD卡的读写操作。SD卡在进行通信和数据读写时采用标准的SPI接口。SD卡的命令列表都以CMD和ACMD开头,分别指通用命令和专用命令,后面接命令的编号。

SD卡上电后,主机首先向SD卡发送74个时钟周期,以完成SD卡上电过程。然后SD卡自动进入SD总线模式,并在SD总线模式下向SD卡发送复位命令CMD0,此时应设置片选信号CS处于低电平态,使SD卡进入SPI总线模式。SD卡进入SPI工作模式后会发出应答引号,若主机回应信号为01,即表明SD卡已进入SPI模式,此时主机即可不断地向SD卡发送命令字CMD1并读取SD卡的应答信号,直到应答信号为00,表明SD卡完成初始化过程。

完成 SD 卡的初始化后,就可以对 SD 卡进行读写操作。读写操作都是通过指令来完成的[8]。SPI总线模式支持单块(CMD24)和多块(CMD25) 写操作,多块操作是指从制定位置开始写下去,直到SD卡收到一个停止命令CMD12才停止。单块写操作的数据块长度只能是512字节,SD卡对每个发送给自己的数据块都通过一个应答命令确认。扇区读操作则相对简单,先写入命令,在得到相应的回应后,开始数据读取。

五、系统测试

采用实地测试方法,在温室大棚负载环境下进行测试。设定温度上下限为15℃~28℃,设定湿度上下限为35%RH ~ 40%RH,测量时间间隔设定为1min;如果触发报警,短信报警时间间隔设定为15min。将系统测量数据与专业测量仪器读数进行比较,每隔半小时记录一次数据,测试结果见表1所示。

表1 温湿度测量数据表(温度单位:℃,湿度单位:%RH)

经过实地测试分析,检测系统测量结果与专业测量工具相比误差较小,温度测量最大误差0.3℃,湿度测量最大误差0.5RH%。当测量值超过报警上下限时,报警短信触发,系统测试结果良好,能够满足设计要求。

六、结语

本文以单片机为核心,配合温湿度传感器及GSM无线通信模块,设计开发了一套适合于温室大棚内使用的温湿度参数检测装置。可实现常规温湿度连续在线检测、报警、显示等功能。具有结构简单、成本低廉、操作便利、不受通信线路及地区限制,可靠性高,抗干扰能力强等特点,便于维护和扩展。该系统应用领域也可进行推广,对于覆盖范围广,数据量较少,监测点分散的监测监控领域具有一定的参考价值。

猜你喜欢

温湿度短信指令
基于AT89C51的数字型蚕用温湿度计的设计
基于DSP的多路温湿度监测系统
道歉短信
ARINC661显控指令快速验证方法
基于温湿度控制的天气预测装置
代发短信
蒸发冷却温湿度独立控制空调系统的应用
杀毒软件中指令虚拟机的脆弱性分析
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法