GSM水浸报警系统的设计与实现
2016-06-29穆佩红闫柏玲牛玉刚
穆佩红 闫柏玲 牛玉刚
(华东理工大学化工过程先进控制和优化技术教育部重点实验室1,上海 200237;河北轨道运输职业技术学院2,河北 石家庄 050051)
GSM水浸报警系统的设计与实现
穆佩红1闫柏玲2牛玉刚1
(华东理工大学化工过程先进控制和优化技术教育部重点实验室1,上海200237;河北轨道运输职业技术学院2,河北 石家庄050051)
摘要:针对住宅小区、图书馆和博物馆等场所发生水浸事故时,无法远程实时报警的问题,通过对TC35无线通信模块进行研究,提出一种应用GSM网络的水浸报警系统。当水浸传感器检测到现场水位信号超标时,通过AT89C52向TC35模块配置AT指令,实现发送报警短消息和拨打电话的功能。测试验证了该方法能够实现远程自动报警功能,为将来更多领域的报警系统研制提供了依据。
关键词:GSM水浸报警AT89C52TC35水浸传感器串口通信实时可靠性
0引言
在变电站、仓库等水害易发场所,通常会设置声光报警装置,从而在出现漏水事故时及时通知值班人员排除险情。但是在无人看守的场所,这类装置并不能达到很好的实时报警效果。因此,对基于短消息的水浸报警系统的研究具有实际应用价值。该系统可以通过通信网络,以短消息的形式远程告知用户当前是否发生水浸事故,从而解决了其他报警设备受限于时间和空间位置的难题,进一步保证了场所的安全,减少了不必要的损失[1]。
GSM网络以短消息为通信媒介,可以有效解决声光报警装置无法远程报警的问题,仅需要用户配备可以收发短消息的手机即可实现报警。GSM网络的通信技术比较完善和成熟、通信成本低廉、抗干扰能力强,具有广泛的应用价值,可应用于汽车智能防盗、火灾检测、环境指标监测等场合。一旦发生异常现象,报警器会向预存的手机号码发出报警信息,告知用户当前监测对象发生异常[2]。鉴于上述考虑,本文设计了一种基于AT89C52控制器和TC35通信模块的新型水浸报警系统。在检测到发生水浸时,系统会通过短消息和电话的方式自动报警,使用户即时获取监测对象的状况并监听现场是否有报警声响,便于用户及时采取有效措施进行处理。
1水浸报警系统构成
水浸报警系统结构框图如图1所示。该系统主要由西门子TC35无线通信模块、NV3-WD7-P型水浸传感器、AT89C52单片机以及声光报警装置构成。
图1 系统结构框图
通过水浸传感器判断现场是否发生漏水的异常现象。一旦发生水浸,传感器便将采集的信号传送至AT89C52单片机的串口作为触发信号;GSM模块接收来自AT89C52单片机发送的AT指令,并自动向用户发送报警短消息或拨打电话。通过MAX232电平转换模块,实现单片机与上位机之间的通信;由电源模块为整个水浸报警系统进行供电;通过外接的SIM卡套件安装发送短信和拨打电话的SIM卡,在软件编程时预设接收短信和电话的用户号码。
2系统硬件结构设计
2.1AT89C52与TC35模块的接口设计
AT89C52单片机是Atmel公司制造的一种低电压、高性能的CMOS8位微控制器,片内设有8位中央处理器、256Bytes的RAM(随机存取数据存储器,用来存放数据变量,掉电后数据丢失)、8KB的可反复擦写FlashRAM(只读程序存储器,用来存放代码,不能进行改写,掉电后程序不会丢失)[3]。AT89C52共有32个双向I/O口,3个16位可编程的定时器/计数器,2个串行中断RXD、TXD,2个外部中断源INT0和INT1,
2个读写中断口线WR、WD,为系统实现更多功能建立了硬件基础[4]。
TC35模块是西门子开发的一款GSM无线通信模块,工作电压为3.3~5.5V,工作频率为900MHz/1 800MHz,可实现数据传输、语音通话、短消息、电话簿等功能[5]。此外,TC35模块提供标准的AT设置界面,支持TEXT和PDU两种格式的短消息,方便开发人员进行设计。TC35模块共40个引脚,需要通过ZIF连接器与外围电源电路、SIM卡电路、指示灯电路等连接,才能保证TC35模块的正常使用和GSM网络的形成[6]。所有的GSM协议栈均包含在TC35模块处理器中,通过单片机的串口与手机的终端设备连接进行通信。AT89C52与TC35模块接口电路如图2所示。
图2 AT89C52与TC35模块接口电路图
TC35模块的18脚RXD_O、19脚TXD_I与单片机的10脚RXD1、11脚TXD1两线相连,实现数据的传输。TC35模块的IGT管脚与单片机的T0管脚进行连接,通过在IGT管脚上施加一个大于100ms的低电平,即可启动TC35模块;否则拉高上拉电阻使其处于不工作的状态。TC35模块的32脚sysno进行TC35模块工作状态的指示,当LED以600ms为时间间隔进行闪烁时,表明当前TC35模块正处于网络登录或者SIM卡未插入状态。当LED亮75ms、暗3s,表明TC35模块处于正常登录网络的状态;当LED全暗时,表明TC35模块处于睡眠状态。为了构成一个完整的GSM终端,TC35模块需要外接式的SIM卡。SIM卡的管脚与TC35模块中的同名管脚24~29进行连接,其中24管脚CCIN_I用于检测SIM卡是否安装正常,当引脚输出高电平时表明连接正确,否则连接错误。TC35模块的35、36管脚接扬声器以及37、38管脚分别为话筒的正端和负端,可连接话筒来采集声音。
2.2水浸传感器模块
水浸传感器是实现信号转换和信号处理的重要元件,能够对现场参数进行精确、可靠的测量,因此水浸传感器的选择对水浸报警系统能否正常工作起到至关重要的作用。本系统选择NV3-WDT-P型水浸传感器,其主要由探头和放大器构成。探头由两根焊接在陶瓷基片上的铜线构成,两根铜线之间的高度差反映所要检测的水位高度。该水浸传感器基于液体导电的原理,整个装置相当于开关电路。在无水浸时,传感器内部电路向单片机提供低电平“0”,不报警;在检测到积水时,传感器内部电路导通,向单片机提供一个开关信号,此时可触发报警装置进行声光报警,同时通过单片机串口电路控制TC35模块向用户发送报警短消息和拨打电话,通知用户及时处理。
2.3串口通信模块
PC机具有RS-232C串行接口,AT89C52单片机片具有全双工的串行接口,通过编程可实现串行数据通信[7]。RS-232C采用负逻辑,电平处于+3~+15V之间被称为逻辑“0”电平。-3~-15V之间被称为逻辑“1”电平。而单片机接口电路通常采用TTL正逻辑,因此为了使单片机和PC机之间能够进行通信,必须进行电平转换[8]。
本系统采用的MAX232芯片是一种具有电源电压变化器的RS-232发送/接收器,可将输入电源+5V转换成RS-232C所需的±10V电压,从而实现TTL与RS-232C的电平转换。MAX232接口电路如图3所示。
图3 MAX232模块接口电路图
具体的连接是:单片机的串行模块数据发送引脚TXD连接MAX232的2号TTL电平输入引脚T2IN,数据接收引脚RXD连接MAX232的2号TTL电平输出引脚R2OUT;MAX232的2号RS-232C信号输入引脚连接DB9座的2号插针,MAX232的2号RS-232C信号输出引脚连接DB9座的3号插针;4个0.1μF的电解电容C4、C5、C9、C11作为储能元件。
3系统软件设计
3.1系统软件流程图设计
水浸报警系统以KeiluVision4编程软件为平台,通过C语言编写程序,将程序写入单片机中,以控制TC35模块,实现短消息的收发和拨打电话功能。系统完成初始化后,通过水浸传感器判断是否发生水浸现象。当出现水浸现象时,水浸传感器信号将被传送至单片机,此时单片机AT89C52会作出响应,包括蜂鸣器响、向用户发送报警短消息和拨打用户电话,方便用户及时采取措施。系统总的流程设计如图4所示。
图4 系统软件设计流程图
3.2AT指令集
AT指令集是实现外部设备与GSM模块之间的通信协议。利用AT指令,单片机通过串行口与GSM模块进行通信,可实现短消息、电话簿、传真等服务[9]。AT指令的发送具有严格的格式要求,每条指令均以AT开头,以
表1 AT指令集
3.3系统初始化设计
对单片机进行初始化是装置上电后的第一步,GSM无线通信模块的初始化是通过单片机向TC35发送AT命令来完成的。单片机的初始化主要是串口初始化、时钟初始化、端口初始化。单片机初始化时采用8位自动重装模式来产生波特率,串口波特率设置为9 600bit/s,系统时钟采用外部16MHz的时钟源;端口初始化主要包括AT89C52输入输出口的方向配置。
串口初始化程序如下所示:
voidSerial_Init(void)//串口初始化函数
{SCON= 0x50;//串口:方式1,允许发送和接收
TMOD= 0x20;//定时器1:模式2,8位自动重装模式,用于产生波特率
TH1 = 0xFD; //11.059 2MHz晶振,波特率为9 600bit/s
TL1 = 0xFD;
TR1 = 1;//开启定时器1
}
TC35模块的启动需要使TC35的IGT管脚保持100ms以上的低电平,启动TC35模块程序如下所示:
sbitbStart=P3^4; //定义IGT管脚
voidStart_GSM()//GSM模块启动函数
{bStart=0; //定义为低电平
Delay_ms(120);//保持100ms以上
bStart=1;//定义为高电平
}
TC35模块主要通过单片机发送AT指令实现初始化。短信格式的设置:AT+CMGF=
3.4系统程序设计
初始化完成后,便可将水浸报警的短信内容发送至预置的手机号码。用户可以自定义发送短信的内容、格式、接收端电话号码等。
短消息的AT指令设置如下所示:
"AT+CMGF=1 ";
//设置为TEXT模式,发送短信内容为英文
"AT+CSCS=GSM ";
//使用GSM字符集
"AT+CSMP=17,167,0,0 ";
//设置TEXT模式参数
"AT+CMGS=151******** ";
//设置接收端电话号码
str13[]="WaterAlarm,SendSuccessfully!";
//发送的短信内容
当GSM模块接收到用户发来的短信时,为了能够及时读取短消息的内容,需要指令“AT+CNMI=2,1,0,0,0”。将TC35模块设置为收到短消息提示,向单片机发送“+CMTI:“SM”,36”,表示在SIM卡的位置36收到一条短消息。单片机接收到指令后会向TC35模块发送“AT+CMGR=1”,表示存放短信的中心地址,随后通过解码读取短信内容。
拨打电话的程序函数如下所示,拨号格式为“ATD+用户手机号码”。需要注意的是,必须在该命令号码后加分号,否则不能正常进行拨号。
charcodenum[]="151********";
//设置用户电话号码
voidGSM_Call(unsignedchar*num)
//声明拨打指定电话函数
{printf("ATD");
//执行拨号命令
printf("%s; ",num);
//拨打用户电话,注意号码后需添加分号
Delay_ms(100);
//延时函数
}
4调试
调试过程主要采用串口调试工具进行模拟,首先点击串口调试工具上的SIM卡,测试SIM卡能否进行正常通信,当返回“+CPIN:READY”,表明SIM卡正常;再进行信号测试“AT+CSQ”,返回“OK”则表明信号正常,可以进行通话测试;随后通过ATD命令进行
拨号测试,通信正常则返回“OK”,可自行更改电话号码进行测试。在指令区发送“at&v”进行手动测试,可以将对方号码设置为自己的号码,在短信区写入要发送的短信内容,点击发短信即可,一切连接正常则返回“OK”。最后,通过单片机发送AT指令,实现自动发送短信的功能。多次测试表明,该系统GSM连接正常,能够拨打电话和发送短信,实现报警功能。
5结束语
基于AT89C52和GSM网络的水浸报警系统,可由GSM模块实现远程自动发送报警信息和拨打电话功能,从而保障监控场所的安全性、可靠性,避免由于发生水浸而造成不可弥补的经济损失。随着生活水平的提高、工业领域的发展以及报警系统向高可靠性、强适用性升级,相信报警系统会应用到更多的场所中,具有更广阔的应用前景。
参考文献
[1] 谢卫华,宋蛰存.家庭智能防火防盗系统[J].自动化仪表,2010(6):70.
[2] 韩承钢,章建行,曹耀宇,等.基于GSM的全自动远程管理控制系统[J].无线通信技术,2014(1):57.
[3] 张旭.基于AT89C52单片机的温度控制系统的设计[J].电大理工,2015(1):16.
[4] 邓春林.基于AT89C52单片机的智能花卉培育系统[J].电子制作,2015(8):75.
[5] 李泽洲,官洪运,路昊,等.基于GSM无线网的智能家居报警器的研发与设计[J].微型机与应用,2014(22):22.
[6] 周克辉.基于TC35模块的智能家居控制系统[J].时代农机,2015(4):24.
[7] 潘方.RS232串口通信在PC机与单片机通信中的应用[J].现代电子技术,2012(13):69.
[8] 史媛芳.PC机与C51单片机的串行通信研究[J].电脑知识与技术,2014(36):8811.
[9] 张咏秋,曹龙汉.ISDN网络中基于AT指令集的保密数据通信[J].数字通信,2012(1):90.
DesignandImplementationoftheFloodAlarmSystemUsingGSM
Abstract:To solve the problem of remote real-time alarm cannot be implemented when flood accidents take place in residential district, libraries, museums and other places, by researching the TC35 wireless communication module, a flood alarm system based on GSM is put forward.When flood/water presence sensor detects the water level signal exceeded, the functions of sending alarm SMS and making a call are realized through AT89C52 configuring the AT instructions to the TC35 module.The test verifies, the remote automatic alarm function of the method,and the mothod provides the foundation for the alarm system of more fields in the future.
Keywords:GSMFlood alarmAT89C52TC35Flood presence sensorSerial port communicationReal-timeReliability
中图分类号:TH702;TP277
文献标志码:A
DOI:10.16086/j.cnki.issn 1000-0380.201606011
修改稿收到日期:2015-09-25。
第一作者穆佩红(1991-),女,现为华东理工大学控制工程专业在读硕士研究生;主要从事嵌入式系统、自动化控制原理及应用方向的研究。