◆唐瑜梅
?
基于GSM模塊智能家居防盜報警系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
◆唐瑜梅1,2
(1.四川文理學(xué)院智能制造學(xué)院 四川 635000;2.四川文理學(xué)院達(dá)州智能制造產(chǎn)業(yè)技術(shù)研究院 四川 635000)
該系統(tǒng)為基于STC89C52單片機(jī)和GSM無線通信模塊TC35I進(jìn)行設(shè)計(jì)的智能家居防盜報警系統(tǒng)。由人體紅外感應(yīng)模塊、單片機(jī)控制模塊、GSM無線通信模塊及報警電路組成。人體紅外感應(yīng)模塊負(fù)責(zé)對入侵信號的檢測,有險情發(fā)生則產(chǎn)生報警信號,送至單片機(jī)控制模塊,控制單片機(jī)和GSM模塊通信,由GSM模塊發(fā)送短信通知業(yè)主及小區(qū)安全中心,并觸發(fā)聲光警報。該系統(tǒng)運(yùn)用無線通訊方式進(jìn)行報警,有效提高了報警系統(tǒng)的可靠性,克服了市面上一些報警器因線路被惡意破壞而失去報警功能的缺陷。
智能家居;防盜報警;GSM模塊;STC89C52
隨著生活水平的提高,家庭貴重物品增多,人口流動性增大,居家安全受到重視。傳統(tǒng)的機(jī)械式報警方式依靠固定線路或以太網(wǎng),存在線路被惡意切斷的風(fēng)險,存在了一定的隱患,不能有效的保證人身財(cái)產(chǎn)安全,基于GSM模塊智能家居防盜報警系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)有效解決了因?yàn)橥ㄐ啪€路中斷而導(dǎo)致的無法報警等問題。
系統(tǒng)由硬件及軟件兩大部分組成。硬件部分主要包括人體紅外檢測模塊、單片機(jī)控制模塊、GSM無線通信模塊,完成入侵信號檢測、現(xiàn)場聲光報警和遠(yuǎn)程短信報警功能。系統(tǒng)具體設(shè)計(jì)方案如圖1所示,由人體紅外感應(yīng)模塊進(jìn)行信號檢測,有人入侵時產(chǎn)生電信號,經(jīng)過濾波、放大和比較后,輸出電平被發(fā)送到STC89C52單片機(jī)作為報警信息。單片機(jī)STC89C52檢測到有效電平信號后驅(qū)動LED燈和蜂鳴器報警,作并向GSM通信模塊發(fā)送命令,由GSM無線通信模塊TC35I給用戶發(fā)送信息,實(shí)現(xiàn)遠(yuǎn)程報警。
圖1 系統(tǒng)設(shè)計(jì)方案
軟件程序設(shè)計(jì)采用C51語言實(shí)現(xiàn)各種初始化和控制功能,單片機(jī)控制GSM模塊進(jìn)行報警是通過串口發(fā)送AT指令完成。
系統(tǒng)硬件由人體紅外感應(yīng)模塊HC-SR501、STC89C52單片機(jī)、GSM無線通信模塊TC35I等組成。通過熱釋電紅外傳感器進(jìn)行探測,有人入侵時產(chǎn)生電信號,該電信號經(jīng)過信號處理電路進(jìn)行放大和比較,傳送給單片機(jī)。STC89C52是控制芯片,完成處理傳感器傳遞的電信號并向GSM無線通信模塊TC35I發(fā)送命令,控制TC35I發(fā)送短信報警信息。
HC-SR501人體紅外感應(yīng)模塊由熱釋電紅外傳感器、菲涅爾透鏡和BISS0101等部分組成,有VCC、OUT和GND三個引腳。當(dāng)有人出現(xiàn)在它的探測區(qū),以非接觸方式檢測出來自人體的紅外輻射并將其轉(zhuǎn)換成電信號,并把信號傳給單片機(jī),單片機(jī)再根據(jù)實(shí)際情況是否該報警。當(dāng)檢測到人體紅外信號后,輸出引腳OUT向單片機(jī)輸出高電平,驅(qū)動單片機(jī)發(fā)送命令信號進(jìn)行報警。
HC-SR501采用熱釋電紅外傳感器,工作原理是熱電效應(yīng),依靠探測來自運(yùn)動目標(biāo)的紅外輻射產(chǎn)生電流。該電流信號經(jīng)過后續(xù)放大處理后可作為單片機(jī)報警信號的輸入。
菲涅爾透鏡安裝在探頭上,作用是使探測光的波長范圍為7~10um,恰好適合人的紅外輻射波長,減少環(huán)境干擾,使紅外探頭只對人體的紅外輻射敏感。如果沒有菲涅爾透鏡,則對0.2~20um范圍內(nèi)的波長均敏感,如果在這個范圍內(nèi)進(jìn)行檢測,那么除了對人體信號敏感外,還可能受到其他運(yùn)動物體干擾。
BISS001是信號處理電路,經(jīng)熱釋電紅外傳感器傳遞而來的電信號還不足與單片機(jī)進(jìn)行通信,需經(jīng)BISS0001熱釋電處理芯片進(jìn)行放大、比較,再將有效觸發(fā)信號提供給單片機(jī),產(chǎn)生中斷,由運(yùn)算放大器、電壓比較器、狀態(tài)控制器、延時定時器和參考電壓源等部分組成。
單片機(jī)STC89C52控制模塊檢測傳感模塊傳遞給引腳的信號并控制產(chǎn)生報警信息。傳感器輸出引腳通過與單片機(jī)引腳相連傳遞報警信號,STC89C52串行接口RXD、TXD通過RS232與GSM模塊相連,GSM模塊的控制和通信是通過串口發(fā)送AT指令實(shí)現(xiàn)。
正常工作時,單片機(jī)CPU監(jiān)測各個傳感模塊是否有報警信號產(chǎn)生,如果發(fā)生報警信號,產(chǎn)生中斷,驅(qū)動室內(nèi)LED燈和蜂鳴器報警,這一功能可以通過給相應(yīng)引腳一個高電平完成。同時,單片機(jī)通過串行口TXD、RXD與GSM模塊進(jìn)行通信,通過發(fā)送AT指令,控制GSM無線通信模塊進(jìn)行遠(yuǎn)程短信報警。傳感器輸出引腳通過與單片機(jī)引腳相連傳遞報警信號,STC89C52串行接口RXD、TXD通過RS232與GSM模塊相連,GSM模塊的控制和通信是通過串口發(fā)送AT指令實(shí)現(xiàn)。STC89C52單片機(jī)硬件連接如圖2所示。
圖2 單片機(jī)硬件連接圖
STC89C52與PC的連接需要使單片機(jī)的TTL電平與PC的RS232電平匹配,因此需要用到芯片Max232進(jìn)行電平轉(zhuǎn)換,實(shí)現(xiàn)與上位機(jī)的通信。
GSM無線通信模塊可以實(shí)現(xiàn)語音、短信息、數(shù)據(jù)接收、發(fā)送等多種功能。使用UART串行接口與單片機(jī)連接,使用標(biāo)準(zhǔn)AT指令集,可以使STC89C52控制GSM模塊進(jìn)行各種短消息收發(fā)等操作。
GSM無線通信模塊主要通過單片機(jī)向其發(fā)送命令進(jìn)行控制,本系統(tǒng)采用TC35I無線通信模塊,具有標(biāo)準(zhǔn)的RS232接口,且該模塊集成度高體積小、傳輸?shù)男畔踩煽?。TC35I通過RS232接口與PC機(jī)、單片機(jī)連接。TC35I有40個引腳,通過ZIF(零阻力插座)實(shí)現(xiàn)與外部電路的連接。
(1)STC89C52與TC35I的連接
STC89C52單片機(jī)與TC35I通過串口連接,進(jìn)行串行通信。對TC35I的控制是通過STC89C52發(fā)送AT指令實(shí)現(xiàn)。單片機(jī)STC89C52和TC35I的連接需通過RS232接口進(jìn)行電平轉(zhuǎn)換。原因是,雖然STC89C52與TC35I都是TTL電平,但是正電平的邏輯不同,STC89C52是+5V,TC35I是+2.9V,直接將TC35I的串行輸入輸出口與單片機(jī)串行輸入輸出口連接后不能通信??赏ㄟ^RS232接口進(jìn)行電平轉(zhuǎn)換,本系統(tǒng)采用MAX232芯片完成電平轉(zhuǎn)換,連接電路如圖3所示。
圖3 單片機(jī)與TC35I連接圖
(2)PC與TC35I的連接
PC機(jī)和TC35I可直接通過RS232接口相連,通過RXD、TXD和GND三引腳進(jìn)行通訊,串行通訊的DTR和RTS接口與TC35I模塊的控制接口連接。PC機(jī)可通過調(diào)試軟件實(shí)現(xiàn)對短信息收發(fā)模塊的控制和數(shù)據(jù)交換。PC與TC35I連接如圖4所示。
圖4 PC與TC35I連接圖
該系統(tǒng)軟件設(shè)計(jì)需實(shí)現(xiàn)的功能是:當(dāng)檢測到人體紅外信號時,單片機(jī)觸發(fā)中斷,控制LED燈和蜂鳴器報警,同時向TC35I發(fā)送控制命令,TC35I向用戶手機(jī)發(fā)送信息。STC89C52單片機(jī)的編程采用C51語言,實(shí)現(xiàn)對TC35I的控制是通過發(fā)送AT指令完成。
系統(tǒng)主要工作流程可分為以下步驟:系統(tǒng)上電后,程序?qū)纹瑱C(jī)模塊、無線通信模塊及相關(guān)電路模進(jìn)行初始化,主要包括單片機(jī)中斷、定時器、串行接口、TC35I模塊等。檢測單片機(jī)和GSM模塊的連接情況,發(fā)送AT+CMGF=1指令給GSM,如果返回OK,表明系統(tǒng)開始正常工作;若沒有返回則代表連接未成功,LED燈閃爍5次并不斷地查找GSM。系統(tǒng)工作時,單片機(jī)檢測傳感器模塊傳遞的電平信號是否為高電平,如果為高電平,則LED燈點(diǎn)亮,蜂鳴器響,實(shí)現(xiàn)現(xiàn)場報警,并向TC35I模塊發(fā)送命令,指示無線通信模塊發(fā)送預(yù)先設(shè)定的短信給用戶手機(jī);如果傳感器模塊傳遞而來的是低電平,則表示沒有產(chǎn)生報警信號,系統(tǒng)繼續(xù)檢測相應(yīng)引腳。
AT指令用于GSM模塊,可實(shí)現(xiàn)移動設(shè)備和終端設(shè)備間的信息交換,單片機(jī)通過AT指令實(shí)現(xiàn)對TC35I的初始化、收發(fā)信息。
(1)啟動與初始化的設(shè)計(jì)
設(shè)備上電開機(jī)后首先應(yīng)完成對單片機(jī)、TC35I進(jìn)行初始化的工作。TC35I的啟動是通過給IGT引腳提供一個低電平完成,初始化TC35I是通過單片機(jī)發(fā)送AT命令完成。初始化命令有:AT+CMGF設(shè)置信息模式,AT+CSCA設(shè)置短信中心號碼,AT+CMGS設(shè)置目的SIM卡號碼。初始化串口的相應(yīng)程序?yàn)椋?/p>
voidIni_UART(void) {
SCON = 0x50;
PCON = 0x00;
TMOD = 0x20;
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1; }
(2)單片機(jī)控制TC35I發(fā)送PDU短信
TC35I收發(fā)短信支持Block模式、Text模式、PDU(協(xié)議數(shù)據(jù)單元)三種模式。較為常用的是Text和PDU模式,Text模式只支持英文信息,PDU模式支持中英文信息,因此本設(shè)計(jì)選擇PDU模式。對其模式的設(shè)置在初始化階段完成,相應(yīng)的AT指令為:AT+CMFG=0。設(shè)置好信息模式后,可通過AT+CMGS發(fā)送短信。相應(yīng)程序段為:
uchar code TelPhoneNum[]={"AT+CMGS
="+8615881885749""};
uchar code PDU []={"AT+CMGF=0"}; //設(shè)置為PDU模式
uchar code Smessage[] = {"ALARM "}; //設(shè)置報警信息
Print_Char(ucharch)//發(fā)送單個字符
{
SBUF = ch; //送入緩沖區(qū)
while(TI == 0); //等待發(fā)送完畢
TI = 0; //軟件清零
}
Print_Str(uchar * str,uintlen)//發(fā)送字符串,調(diào)用Send_Char() len字符串長度
{
while(len--)
{
Print_Char(*str++);
}
}
void GSM_SMS()
{
Print_Str(Smessage,7);
Print_Char(0x1a);
ES=1;
delay(1000);
delay(5000);
}
綜上,該系統(tǒng)實(shí)現(xiàn)基于GSM無線通信模塊的智能家居防盜報警,采用的報警方式分為兩種,一種是通過現(xiàn)場LED燈和蜂鳴器進(jìn)行報警,一種是通過無線通信模塊進(jìn)行遠(yuǎn)程報警。該系統(tǒng)優(yōu)點(diǎn)是實(shí)現(xiàn)了全自動的監(jiān)控和報警功能,報警功能可靠有效,電路實(shí)現(xiàn)成本較低,便于普及和推廣。
[1]Siemens TC35I技術(shù)手冊,www. siem ens.com/wm[EBJOL].
[2]宏晶科技.STC單片機(jī)用戶參考資料中文版.http://www.mcu-memory.com/datasheet/stc/STC-AD-PDF/STC89C51RC-RD+_GUIDE-CHINESE.pdf,2007.
[3]趙洪濤,董力.單片機(jī)電路在防盜報警系統(tǒng)中的應(yīng)用[J]. 計(jì)算機(jī)光盤軟件與應(yīng)用,2014.
[4]于慶,徐航.基于GSM網(wǎng)的油田監(jiān)控系統(tǒng)的通信模塊設(shè)計(jì)[A].通信技術(shù),2013.
[5]周艷麗,魏宗壽.利用TC35I和PC機(jī)實(shí)現(xiàn)短消息的收發(fā)[B].電子技術(shù),2017.