穆佩紅 閆柏玲 牛玉剛
(華東理工大學(xué)化工過程先進(jìn)控制和優(yōu)化技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室1,上海 200237;河北軌道運(yùn)輸職業(yè)技術(shù)學(xué)院2,河北 石家莊 050051)
GSM水浸報(bào)警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
穆佩紅1閆柏玲2牛玉剛1
(華東理工大學(xué)化工過程先進(jìn)控制和優(yōu)化技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室1,上海200237;河北軌道運(yùn)輸職業(yè)技術(shù)學(xué)院2,河北 石家莊050051)
摘要:針對住宅小區(qū)、圖書館和博物館等場所發(fā)生水浸事故時(shí),無法遠(yuǎn)程實(shí)時(shí)報(bào)警的問題,通過對TC35無線通信模塊進(jìn)行研究,提出一種應(yīng)用GSM網(wǎng)絡(luò)的水浸報(bào)警系統(tǒng)。當(dāng)水浸傳感器檢測到現(xiàn)場水位信號超標(biāo)時(shí),通過AT89C52向TC35模塊配置AT指令,實(shí)現(xiàn)發(fā)送報(bào)警短消息和撥打電話的功能。測試驗(yàn)證了該方法能夠?qū)崿F(xiàn)遠(yuǎn)程自動(dòng)報(bào)警功能,為將來更多領(lǐng)域的報(bào)警系統(tǒng)研制提供了依據(jù)。
關(guān)鍵詞:GSM水浸報(bào)警AT89C52TC35水浸傳感器串口通信實(shí)時(shí)可靠性
0引言
在變電站、倉庫等水害易發(fā)場所,通常會設(shè)置聲光報(bào)警裝置,從而在出現(xiàn)漏水事故時(shí)及時(shí)通知值班人員排除險(xiǎn)情。但是在無人看守的場所,這類裝置并不能達(dá)到很好的實(shí)時(shí)報(bào)警效果。因此,對基于短消息的水浸報(bào)警系統(tǒng)的研究具有實(shí)際應(yīng)用價(jià)值。該系統(tǒng)可以通過通信網(wǎng)絡(luò),以短消息的形式遠(yuǎn)程告知用戶當(dāng)前是否發(fā)生水浸事故,從而解決了其他報(bào)警設(shè)備受限于時(shí)間和空間位置的難題,進(jìn)一步保證了場所的安全,減少了不必要的損失[1]。
GSM網(wǎng)絡(luò)以短消息為通信媒介,可以有效解決聲光報(bào)警裝置無法遠(yuǎn)程報(bào)警的問題,僅需要用戶配備可以收發(fā)短消息的手機(jī)即可實(shí)現(xiàn)報(bào)警。GSM網(wǎng)絡(luò)的通信技術(shù)比較完善和成熟、通信成本低廉、抗干擾能力強(qiáng),具有廣泛的應(yīng)用價(jià)值,可應(yīng)用于汽車智能防盜、火災(zāi)檢測、環(huán)境指標(biāo)監(jiān)測等場合。一旦發(fā)生異常現(xiàn)象,報(bào)警器會向預(yù)存的手機(jī)號碼發(fā)出報(bào)警信息,告知用戶當(dāng)前監(jiān)測對象發(fā)生異常[2]。鑒于上述考慮,本文設(shè)計(jì)了一種基于AT89C52控制器和TC35通信模塊的新型水浸報(bào)警系統(tǒng)。在檢測到發(fā)生水浸時(shí),系統(tǒng)會通過短消息和電話的方式自動(dòng)報(bào)警,使用戶即時(shí)獲取監(jiān)測對象的狀況并監(jiān)聽現(xiàn)場是否有報(bào)警聲響,便于用戶及時(shí)采取有效措施進(jìn)行處理。
1水浸報(bào)警系統(tǒng)構(gòu)成
水浸報(bào)警系統(tǒng)結(jié)構(gòu)框圖如圖1所示。該系統(tǒng)主要由西門子TC35無線通信模塊、NV3-WD7-P型水浸傳感器、AT89C52單片機(jī)以及聲光報(bào)警裝置構(gòu)成。

圖1 系統(tǒng)結(jié)構(gòu)框圖
通過水浸傳感器判斷現(xiàn)場是否發(fā)生漏水的異常現(xiàn)象。一旦發(fā)生水浸,傳感器便將采集的信號傳送至AT89C52單片機(jī)的串口作為觸發(fā)信號;GSM模塊接收來自AT89C52單片機(jī)發(fā)送的AT指令,并自動(dòng)向用戶發(fā)送報(bào)警短消息或撥打電話。通過MAX232電平轉(zhuǎn)換模塊,實(shí)現(xiàn)單片機(jī)與上位機(jī)之間的通信;由電源模塊為整個(gè)水浸報(bào)警系統(tǒng)進(jìn)行供電;通過外接的SIM卡套件安裝發(fā)送短信和撥打電話的SIM卡,在軟件編程時(shí)預(yù)設(shè)接收短信和電話的用戶號碼。
2系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)
2.1AT89C52與TC35模塊的接口設(shè)計(jì)
AT89C52單片機(jī)是Atmel公司制造的一種低電壓、高性能的CMOS8位微控制器,片內(nèi)設(shè)有8位中央處理器、256Bytes的RAM(隨機(jī)存取數(shù)據(jù)存儲器,用來存放數(shù)據(jù)變量,掉電后數(shù)據(jù)丟失)、8KB的可反復(fù)擦寫FlashRAM(只讀程序存儲器,用來存放代碼,不能進(jìn)行改寫,掉電后程序不會丟失)[3]。AT89C52共有32個(gè)雙向I/O口,3個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,2個(gè)串行中斷RXD、TXD,2個(gè)外部中斷源INT0和INT1,
2個(gè)讀寫中斷口線WR、WD,為系統(tǒng)實(shí)現(xiàn)更多功能建立了硬件基礎(chǔ)[4]。
TC35模塊是西門子開發(fā)的一款GSM無線通信模塊,工作電壓為3.3~5.5V,工作頻率為900MHz/1 800MHz,可實(shí)現(xiàn)數(shù)據(jù)傳輸、語音通話、短消息、電話簿等功能[5]。此外,TC35模塊提供標(biāo)準(zhǔn)的AT設(shè)置界面,支持TEXT和PDU兩種格式的短消息,方便開發(fā)人員進(jìn)行設(shè)計(jì)。TC35模塊共40個(gè)引腳,需要通過ZIF連接器與外圍電源電路、SIM卡電路、指示燈電路等連接,才能保證TC35模塊的正常使用和GSM網(wǎng)絡(luò)的形成[6]。所有的GSM協(xié)議棧均包含在TC35模塊處理器中,通過單片機(jī)的串口與手機(jī)的終端設(shè)備連接進(jìn)行通信。AT89C52與TC35模塊接口電路如圖2所示。

圖2 AT89C52與TC35模塊接口電路圖
TC35模塊的18腳RXD_O、19腳TXD_I與單片機(jī)的10腳RXD1、11腳TXD1兩線相連,實(shí)現(xiàn)數(shù)據(jù)的傳輸。TC35模塊的IGT管腳與單片機(jī)的T0管腳進(jìn)行連接,通過在IGT管腳上施加一個(gè)大于100ms的低電平,即可啟動(dòng)TC35模塊;否則拉高上拉電阻使其處于不工作的狀態(tài)。TC35模塊的32腳sysno進(jìn)行TC35模塊工作狀態(tài)的指示,當(dāng)LED以600ms為時(shí)間間隔進(jìn)行閃爍時(shí),表明當(dāng)前TC35模塊正處于網(wǎng)絡(luò)登錄或者SIM卡未插入狀態(tài)。當(dāng)LED亮75ms、暗3s,表明TC35模塊處于正常登錄網(wǎng)絡(luò)的狀態(tài);當(dāng)LED全暗時(shí),表明TC35模塊處于睡眠狀態(tài)。為了構(gòu)成一個(gè)完整的GSM終端,TC35模塊需要外接式的SIM卡。SIM卡的管腳與TC35模塊中的同名管腳24~29進(jìn)行連接,其中24管腳CCIN_I用于檢測SIM卡是否安裝正常,當(dāng)引腳輸出高電平時(shí)表明連接正確,否則連接錯(cuò)誤。TC35模塊的35、36管腳接揚(yáng)聲器以及37、38管腳分別為話筒的正端和負(fù)端,可連接話筒來采集聲音。
2.2水浸傳感器模塊
水浸傳感器是實(shí)現(xiàn)信號轉(zhuǎn)換和信號處理的重要元件,能夠?qū)ΜF(xiàn)場參數(shù)進(jìn)行精確、可靠的測量,因此水浸傳感器的選擇對水浸報(bào)警系統(tǒng)能否正常工作起到至關(guān)重要的作用。本系統(tǒng)選擇NV3-WDT-P型水浸傳感器,其主要由探頭和放大器構(gòu)成。探頭由兩根焊接在陶瓷基片上的銅線構(gòu)成,兩根銅線之間的高度差反映所要檢測的水位高度。該水浸傳感器基于液體導(dǎo)電的原理,整個(gè)裝置相當(dāng)于開關(guān)電路。在無水浸時(shí),傳感器內(nèi)部電路向單片機(jī)提供低電平“0”,不報(bào)警;在檢測到積水時(shí),傳感器內(nèi)部電路導(dǎo)通,向單片機(jī)提供一個(gè)開關(guān)信號,此時(shí)可觸發(fā)報(bào)警裝置進(jìn)行聲光報(bào)警,同時(shí)通過單片機(jī)串口電路控制TC35模塊向用戶發(fā)送報(bào)警短消息和撥打電話,通知用戶及時(shí)處理。
2.3串口通信模塊
PC機(jī)具有RS-232C串行接口,AT89C52單片機(jī)片具有全雙工的串行接口,通過編程可實(shí)現(xiàn)串行數(shù)據(jù)通信[7]。RS-232C采用負(fù)邏輯,電平處于+3~+15V之間被稱為邏輯“0”電平。-3~-15V之間被稱為邏輯“1”電平。而單片機(jī)接口電路通常采用TTL正邏輯,因此為了使單片機(jī)和PC機(jī)之間能夠進(jìn)行通信,必須進(jìn)行電平轉(zhuǎn)換[8]。
本系統(tǒng)采用的MAX232芯片是一種具有電源電壓變化器的RS-232發(fā)送/接收器,可將輸入電源+5V轉(zhuǎn)換成RS-232C所需的±10V電壓,從而實(shí)現(xiàn)TTL與RS-232C的電平轉(zhuǎn)換。MAX232接口電路如圖3所示。

圖3 MAX232模塊接口電路圖
具體的連接是:單片機(jī)的串行模塊數(shù)據(jù)發(fā)送引腳TXD連接MAX232的2號TTL電平輸入引腳T2IN,數(shù)據(jù)接收引腳RXD連接MAX232的2號TTL電平輸出引腳R2OUT;MAX232的2號RS-232C信號輸入引腳連接DB9座的2號插針,MAX232的2號RS-232C信號輸出引腳連接DB9座的3號插針;4個(gè)0.1μF的電解電容C4、C5、C9、C11作為儲能元件。
3系統(tǒng)軟件設(shè)計(jì)
3.1系統(tǒng)軟件流程圖設(shè)計(jì)
水浸報(bào)警系統(tǒng)以KeiluVision4編程軟件為平臺,通過C語言編寫程序,將程序?qū)懭雴纹瑱C(jī)中,以控制TC35模塊,實(shí)現(xiàn)短消息的收發(fā)和撥打電話功能。系統(tǒng)完成初始化后,通過水浸傳感器判斷是否發(fā)生水浸現(xiàn)象。當(dāng)出現(xiàn)水浸現(xiàn)象時(shí),水浸傳感器信號將被傳送至單片機(jī),此時(shí)單片機(jī)AT89C52會作出響應(yīng),包括蜂鳴器響、向用戶發(fā)送報(bào)警短消息和撥打用戶電話,方便用戶及時(shí)采取措施。系統(tǒng)總的流程設(shè)計(jì)如圖4所示。

圖4 系統(tǒng)軟件設(shè)計(jì)流程圖
3.2AT指令集
AT指令集是實(shí)現(xiàn)外部設(shè)備與GSM模塊之間的通信協(xié)議。利用AT指令,單片機(jī)通過串行口與GSM模塊進(jìn)行通信,可實(shí)現(xiàn)短消息、電話簿、傳真等服務(wù)[9]。AT指令的發(fā)送具有嚴(yán)格的格式要求,每條指令均以AT開頭,以

表1 AT指令集
3.3系統(tǒng)初始化設(shè)計(jì)
對單片機(jī)進(jìn)行初始化是裝置上電后的第一步,GSM無線通信模塊的初始化是通過單片機(jī)向TC35發(fā)送AT命令來完成的。單片機(jī)的初始化主要是串口初始化、時(shí)鐘初始化、端口初始化。單片機(jī)初始化時(shí)采用8位自動(dòng)重裝模式來產(chǎn)生波特率,串口波特率設(shè)置為9 600bit/s,系統(tǒng)時(shí)鐘采用外部16MHz的時(shí)鐘源;端口初始化主要包括AT89C52輸入輸出口的方向配置。
串口初始化程序如下所示:
voidSerial_Init(void)//串口初始化函數(shù)
{SCON= 0x50;//串口:方式1,允許發(fā)送和接收
TMOD= 0x20;//定時(shí)器1:模式2,8位自動(dòng)重裝模式,用于產(chǎn)生波特率
TH1 = 0xFD; //11.059 2MHz晶振,波特率為9 600bit/s
TL1 = 0xFD;
TR1 = 1;//開啟定時(shí)器1
}
TC35模塊的啟動(dòng)需要使TC35的IGT管腳保持100ms以上的低電平,啟動(dòng)TC35模塊程序如下所示:
sbitbStart=P3^4; //定義IGT管腳
voidStart_GSM()//GSM模塊啟動(dòng)函數(shù)
{bStart=0; //定義為低電平
Delay_ms(120);//保持100ms以上
bStart=1;//定義為高電平
}
TC35模塊主要通過單片機(jī)發(fā)送AT指令實(shí)現(xiàn)初始化。短信格式的設(shè)置:AT+CMGF=
3.4系統(tǒng)程序設(shè)計(jì)
初始化完成后,便可將水浸報(bào)警的短信內(nèi)容發(fā)送至預(yù)置的手機(jī)號碼。用戶可以自定義發(fā)送短信的內(nèi)容、格式、接收端電話號碼等。
短消息的AT指令設(shè)置如下所示:
"AT+CMGF=1 ";
//設(shè)置為TEXT模式,發(fā)送短信內(nèi)容為英文
"AT+CSCS=GSM ";
//使用GSM字符集
"AT+CSMP=17,167,0,0 ";
//設(shè)置TEXT模式參數(shù)
"AT+CMGS=151******** ";
//設(shè)置接收端電話號碼
str13[]="WaterAlarm,SendSuccessfully!";
//發(fā)送的短信內(nèi)容
當(dāng)GSM模塊接收到用戶發(fā)來的短信時(shí),為了能夠及時(shí)讀取短消息的內(nèi)容,需要指令“AT+CNMI=2,1,0,0,0”。將TC35模塊設(shè)置為收到短消息提示,向單片機(jī)發(fā)送“+CMTI:“SM”,36”,表示在SIM卡的位置36收到一條短消息。單片機(jī)接收到指令后會向TC35模塊發(fā)送“AT+CMGR=1”,表示存放短信的中心地址,隨后通過解碼讀取短信內(nèi)容。
撥打電話的程序函數(shù)如下所示,撥號格式為“ATD+用戶手機(jī)號碼”。需要注意的是,必須在該命令號碼后加分號,否則不能正常進(jìn)行撥號。
charcodenum[]="151********";
//設(shè)置用戶電話號碼
voidGSM_Call(unsignedchar*num)
//聲明撥打指定電話函數(shù)
{printf("ATD");
//執(zhí)行撥號命令
printf("%s; ",num);
//撥打用戶電話,注意號碼后需添加分號
Delay_ms(100);
//延時(shí)函數(shù)
}
4調(diào)試
調(diào)試過程主要采用串口調(diào)試工具進(jìn)行模擬,首先點(diǎn)擊串口調(diào)試工具上的SIM卡,測試SIM卡能否進(jìn)行正常通信,當(dāng)返回“+CPIN:READY”,表明SIM卡正常;再進(jìn)行信號測試“AT+CSQ”,返回“OK”則表明信號正常,可以進(jìn)行通話測試;隨后通過ATD命令進(jìn)行
撥號測試,通信正常則返回“OK”,可自行更改電話號碼進(jìn)行測試。在指令區(qū)發(fā)送“at&v”進(jìn)行手動(dòng)測試,可以將對方號碼設(shè)置為自己的號碼,在短信區(qū)寫入要發(fā)送的短信內(nèi)容,點(diǎn)擊發(fā)短信即可,一切連接正常則返回“OK”。最后,通過單片機(jī)發(fā)送AT指令,實(shí)現(xiàn)自動(dòng)發(fā)送短信的功能。多次測試表明,該系統(tǒng)GSM連接正常,能夠撥打電話和發(fā)送短信,實(shí)現(xiàn)報(bào)警功能。
5結(jié)束語
基于AT89C52和GSM網(wǎng)絡(luò)的水浸報(bào)警系統(tǒng),可由GSM模塊實(shí)現(xiàn)遠(yuǎn)程自動(dòng)發(fā)送報(bào)警信息和撥打電話功能,從而保障監(jiān)控場所的安全性、可靠性,避免由于發(fā)生水浸而造成不可彌補(bǔ)的經(jīng)濟(jì)損失。隨著生活水平的提高、工業(yè)領(lǐng)域的發(fā)展以及報(bào)警系統(tǒng)向高可靠性、強(qiáng)適用性升級,相信報(bào)警系統(tǒng)會應(yīng)用到更多的場所中,具有更廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1] 謝衛(wèi)華,宋蟄存.家庭智能防火防盜系統(tǒng)[J].自動(dòng)化儀表,2010(6):70.
[2] 韓承鋼,章建行,曹耀宇,等.基于GSM的全自動(dòng)遠(yuǎn)程管理控制系統(tǒng)[J].無線通信技術(shù),2014(1):57.
[3] 張旭.基于AT89C52單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)[J].電大理工,2015(1):16.
[4] 鄧春林.基于AT89C52單片機(jī)的智能花卉培育系統(tǒng)[J].電子制作,2015(8):75.
[5] 李澤洲,官洪運(yùn),路昊,等.基于GSM無線網(wǎng)的智能家居報(bào)警器的研發(fā)與設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2014(22):22.
[6] 周克輝.基于TC35模塊的智能家居控制系統(tǒng)[J].時(shí)代農(nóng)機(jī),2015(4):24.
[7] 潘方.RS232串口通信在PC機(jī)與單片機(jī)通信中的應(yīng)用[J].現(xiàn)代電子技術(shù),2012(13):69.
[8] 史媛芳.PC機(jī)與C51單片機(jī)的串行通信研究[J].電腦知識與技術(shù),2014(36):8811.
[9] 張?jiān)伹?曹龍漢.ISDN網(wǎng)絡(luò)中基于AT指令集的保密數(shù)據(jù)通信[J].數(shù)字通信,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
文獻(xiàn)標(biāo)志碼:A
DOI:10.16086/j.cnki.issn 1000-0380.201606011
修改稿收到日期:2015-09-25。
第一作者穆佩紅(1991-),女,現(xiàn)為華東理工大學(xué)控制工程專業(yè)在讀碩士研究生;主要從事嵌入式系統(tǒng)、自動(dòng)化控制原理及應(yīng)用方向的研究。