基于ATmega128與GSM的家庭報警系統(tǒng)的設(shè)計與實現(xiàn)
引言
隨著電子技術(shù)的發(fā)展,防盜報警系統(tǒng)已從原來的簡單化、局部化向智能化、集成化發(fā)展。目前市場上常見的防盜報警系統(tǒng)的通信方式有固定電話撥號、寬帶網(wǎng)等。但是,利用固定電話撥號實現(xiàn)的報警器易遭受破壞并存在處于通話狀態(tài)時可能無法報警的隱患。而寬帶網(wǎng)同樣面臨著線路被切斷的隱患,且不易普及。
本文提出了一種借助可靠、成熟的GSM移動網(wǎng)絡(luò),以最直觀的中文短消息或電話形式實現(xiàn)遠(yuǎn)程報警和監(jiān)控的智能家居報警系統(tǒng),來實現(xiàn)家居環(huán)境的安全監(jiān)控。它采用紅外傳感器進(jìn)行檢測,并配備煙霧傳感器和燃?xì)庑孤﹤鞲衅?,可實現(xiàn)防火、防燃?xì)庑孤┑淖饔?。帶有GSM網(wǎng)絡(luò)功能的安防系統(tǒng),使用戶無論身在何處,都可以通過短信設(shè)防、撤防或查詢安防系統(tǒng)的情況。
系統(tǒng)的構(gòu)成及主要功能
該家庭防盜報警系統(tǒng)主要有GSM網(wǎng)絡(luò)模塊、紅外傳感器、燃?xì)庑孤﹤鞲衅?、煙霧傳感器、ATmega128單片機(jī)、聲光報警器和Flash存儲器等,其系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
系統(tǒng)的前端感應(yīng)器主要有防盜、防火和防煤氣泄漏等傳感器,根據(jù)需要選用并安裝在適當(dāng)?shù)牡胤?,用于收集非法入侵和危險信號并傳送給單片機(jī);單片機(jī)負(fù)責(zé)接收、處理感應(yīng)器信號,判別是否有險情發(fā)生。單片機(jī)不斷對各種傳感器信號進(jìn)行檢測,如果檢測到高電平,系統(tǒng)控制GSM網(wǎng)絡(luò)模塊實現(xiàn)短消息報警,將報警信息通過GSM服務(wù)網(wǎng)絡(luò)發(fā)送到用戶手機(jī)上,同時根據(jù)需要啟動聲光報警器發(fā)出相應(yīng)的警報信號。如已實現(xiàn)小區(qū)聯(lián)網(wǎng),同時還會給聯(lián)網(wǎng)中心的小區(qū)保安處發(fā)送報警信息;戶主還可以通過發(fā)送短信打開主機(jī)上的*話筒,進(jìn)一步確認(rèn)家中是否發(fā)生險情。本系統(tǒng)能有效地達(dá)到防盜、報警的目的。
系統(tǒng)的硬件設(shè)計
ATmega128功能特性描述
本系統(tǒng)采用了Atmel公司的AVR單片機(jī)ATmega128作為控制核心。ATmega128為基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS微處理器。由于其先進(jìn)的指令集以及單周期指令執(zhí)行時間,ATmega128的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。ATmega128具有如下特點:128K字節(jié)的系統(tǒng)內(nèi)可編程Flash、4K字節(jié)的EEPROM、4K字節(jié)的SRAM、53個通用I/O口線、32個通用工作寄存器、實時時鐘RTC、4個靈活的具有比較模式和PWM功能的定時器/計數(shù)器(T/C)、兩個USART、面向字節(jié)的兩線接口TWI、8通道10位ADC(具有可選的可編程增益)、具有片內(nèi)振蕩器的可編程看門狗定時器、SPI 串行端口、I2C、與IEEE 1149.1規(guī)范兼容的JTAG測試接口,以及六種可以通過軟件選擇的省電模式。
GSM模塊的結(jié)構(gòu)及通信接口
GSM模塊采用的是西門子工業(yè)級GSM模塊TC35i,它可以快速安全地實現(xiàn)系統(tǒng)方案中的短消息服務(wù)(Short Message Service)。TC35i模塊主要由GSM基帶處理器、GSM射頻模塊、供電模塊、閃存、ZIF連接器、天線接口等六部分組成。它設(shè)計緊湊,大大縮小了產(chǎn)品體積,與GSM2/2+兼容,符合ETSI標(biāo)準(zhǔn)GSM0707和GSM0705,模塊的工作電壓為3.3~4.8 V,兼容雙頻(GSM 900/GSM l800)工作,具有RS232數(shù)據(jù)通信口。該模塊集射頻電路和基帶于一體,向用戶提供標(biāo)準(zhǔn)的AT命令接口,為數(shù)據(jù)、語音和短消息提供快速、可靠、安全的傳輸。TC35i有40個引腳通過ZIF連接器引出。
由于PC機(jī)的RS232電平與TC35i的電平不匹配,TC35i的串口通訊遵循RS232標(biāo)準(zhǔn),所以通過串口的電平轉(zhuǎn)換電路MAX232可以實現(xiàn)PC機(jī)與TC35i的連接通信。本系統(tǒng)ATmega128單片機(jī)與TC35i之間通過串行口進(jìn)行通信,ATmega128與TC35i都是TTL電平,ATmega128工作電壓范圍是2.7~5.5V,TC35i工作電壓范圍是3.3~4.8V,可以直接加電阻連接,但一般要經(jīng)接口電路連接,接口電路用7407緩沖/驅(qū)動芯片實現(xiàn),接口電路如圖2所示。
傳感器的選型及接口電路
防盜、防火、防燃?xì)庑孤┑劝卜拦δ鼙仨毎惭b相應(yīng)的傳感器才能實現(xiàn)。對于防盜傳感器,本設(shè)計采用紅外線反射型傳感器。
將紅外線反射型傳感器安裝在門窗的兩側(cè)或通道的位置,當(dāng)有人進(jìn)入時紅外線反射型傳感器就會檢測出來,給單片機(jī)送去高電平,啟動防盜報警系統(tǒng)工作。紅外線反射型傳感器甚至可組成對射的檢測系統(tǒng),以提高控制范圍。紅外線反射型傳感器與ATmega128單片機(jī)接口電路結(jié)構(gòu)如圖3所示。
本設(shè)計選用半導(dǎo)體氣敏傳感器作為燃?xì)庑孤﹤鞲衅?。它是利用待測氣體與半導(dǎo)體(主要是金屬氧化物)表面接觸時,產(chǎn)生的電導(dǎo)率等物性變化來檢測氣體。此外,本設(shè)計選用離子式煙霧傳感器(NIS-09C),它被廣泛運(yùn)用到各種消防報警系統(tǒng)中,性能優(yōu)于氣敏電阻類的火災(zāi)報警器。
存儲部件介紹
為了實現(xiàn)對預(yù)設(shè)電話號碼的存儲、報警信息的記錄、以及對中英文字符的字模點陣的存儲,本系統(tǒng)采用了能夠保證掉電數(shù)據(jù)不丟失的片外Flash存儲器AT24C1024。該芯片是一種I2C總線的存儲器,和MCU的數(shù)據(jù)通信只需要兩個引腳SDA和SCL即可,和通常的并行存儲器相比,可以大大節(jié)約MCU的端口引腳資源和PCB的布線面積。I2C閃存同單片機(jī)接口電路如圖4所示。AT24C1024使用二線制協(xié)議串行總線(I2C總線)及其傳輸規(guī)約進(jìn)行雙向傳輸。
GSM短信發(fā)送原理及流程
對TC35i的操作均采用AT指令,它包含了GSM語音和短信息的控制。為了支持中文短信,本設(shè)計中采用PDU模式發(fā)送和接收短信,漢字采用十六進(jìn)制Unicode編碼字符。短信模塊發(fā)送短信是由AT指令控制的,發(fā)送的短信格式有兩種:文本格式和PDU格式,前者只能發(fā)送字符和字母,而后者可發(fā)送字符、字母和漢字。為使用戶方便地讀取短信內(nèi)容,本文選擇采用PDU格式。發(fā)送采用8位數(shù)據(jù)位和1位停止位,無校驗位,波特率19200bps。發(fā)送短消息的基本命令如下:
1、設(shè)置短消息服務(wù)中心地址AT+CSCA="+8613753485894"(太原)
2、設(shè)置短消息發(fā)送格式(0-PDU,1-文本)AT+CMGF=1;
3、發(fā)送短消息(短消息內(nèi)容為“test”)AT+CMGS="13753485896"(目的地址) >test^z
4、列出所有的短消息AT+CMGL=
“ALL”
5、讀取短信息內(nèi)容(Once more),假設(shè)INDEX=6,AT+CMGR=6
6、刪除短消息AT+CMGD=
發(fā)送短信息系統(tǒng)實現(xiàn)流程如圖5所示,首先初始化串口,利用AT指令檢查GSM模塊是否連接成功,如果成功接收單片機(jī)檢測到紅外、燃?xì)庑孤?、煙霧等傳感器的高電平,則對相應(yīng)的高電平所反應(yīng)的信息按一定的編碼方式進(jìn)行編碼,再根據(jù)短信息中心號碼、接收短信息目的用戶號碼、編碼方式以及短信息有效期生產(chǎn)PDU格式數(shù)據(jù)。最后利用AT指令[AT+CMGS]來發(fā)送短信息到用戶手機(jī)上。
系統(tǒng)軟件的設(shè)計
系統(tǒng)的軟件設(shè)計采用AVR系列單片機(jī)的C語言編寫,軟件部分重點在于對傳感器報警信號的檢測和對TC35i短信模塊的控制。系統(tǒng)主程序及中斷程序流程圖如圖6所示。系統(tǒng)首先對單片機(jī)的串口、中斷和TC35i短信模塊初始化,ATmega128單片機(jī)不斷對其余傳感器接口電路的I/O口循環(huán)進(jìn)行檢測,當(dāng)檢測到有傳感器的開關(guān)量為1(高電平)時,則說明需要報警,開中斷進(jìn)入中斷處理子函數(shù),中斷處理子函數(shù)完成對相應(yīng)防盜、防火、防燃?xì)庑孤┑仁录亩绦畔l(fā)送,同時啟動聲光報警器。利用ATmega128通過UART0串口通信向TC35i GSM模塊發(fā)送一系列AT指令,就能實現(xiàn)基于GSM 的短信息SMS的收發(fā)、查尋和管理。
圖6 主程序及中斷程序流程圖
結(jié)論
本文論述了一種基于ATmega128和TC35i的短消息防盜報警系統(tǒng)的設(shè)計與實現(xiàn),證明使用TC35i短消息進(jìn)行報警是完全可行的,該系統(tǒng)克服了傳統(tǒng)聲光報警的缺陷,為用戶提供了一種方便實用的家用防盜報警系統(tǒng)。本設(shè)計具有實現(xiàn)簡單、成本低、適用范圍廣、安全可靠等優(yōu)點,具有廣泛的應(yīng)用前景。通過對功能模塊的增加或減少以及單片機(jī)固件的修改可以制作出其他場合的監(jiān)控防盜,比如汽車防盜、倉庫防盜液位報警等。