基于GSM模塊TC35的智能門控安防系統(tǒng)設計
引言
隨著人民生活水平的提高和安全防范意識的增強,人們開始關心自己的生活和工作環(huán)境,不但要求周邊環(huán)境的舒適化和人性化,對居住工作環(huán)境的安全化和智能化也提出了更高的要求,安防系統(tǒng)已經(jīng)成為生活中必不可少組成部分。傳統(tǒng)的安防系統(tǒng)主要依靠電話網(wǎng)播報警訊信息,但電話網(wǎng)易被破壞,且不適用于偏遠地區(qū)等架設通信線路困難或不經(jīng)濟的地方。
GSM網(wǎng)絡是基于時分多址技術和頻分多址技術的通信網(wǎng)絡體系,是我國覆蓋面最廣,功能最強,用戶最多的數(shù)字蜂窩移動通信網(wǎng)。通過中國移動公司建成的無縫覆蓋全國的GSM網(wǎng),運用GSM短信技術傳送警訊信息,具有安全可靠,安裝方便等優(yōu)點。
1、系統(tǒng)結構與原理
本安防系統(tǒng)結構如圖1所示。把各種報警傳感器分別安裝在不同位置,當出現(xiàn)異常情況時,相應的傳感器會將無線信號發(fā)送至控制模塊的無線接收電路,控制模塊通過軟件判斷出異常情況的類型,通過串行口控制GSM模塊發(fā)送相應的報警短信,幾秒鐘后,用戶的手機上就可以接收到報警短信,提醒用戶采取措施。當用戶在現(xiàn)場時,可通過發(fā)送短信撤除報警功能(簡稱撤防),防止報警器對用戶行動的誤報警。用戶還可以利用計算機對存儲于EEPROM中的報警記錄進行讀取,以及對報警系統(tǒng)進行設置。
2、硬件設計
2.1無線報警傳感器
無線報警傳感器主要包括熱釋電被動式紅外報警器、煙霧報警器、煤氣泄漏報警器、窗(門)磁報警器等。每一種無線報警傳感器都是由傳感器、信號處理電路、無線發(fā)射電路等構成。傳感器在檢測到異常情況后,通過無線發(fā)射電路實現(xiàn)無線報警。為了區(qū)分報警器的類型(即警情類型),同時增強系統(tǒng)的抗干擾能力,提高報警的準確性,每一個報警器都有不同的編碼。這個編碼由“地址碼”+“身份碼”構成,“地址碼”用來標示不同的安防系統(tǒng),同一安防系統(tǒng)內,所有無線報警器的地址碼和無線接收電路的地址碼是相同的;“身份碼”用來標示不同的無線報警傳感器。地址碼和身份碼可以由硬件實現(xiàn),如利用SC2262編碼芯片和SC2272解碼芯片實現(xiàn);也可以由軟件實現(xiàn),在編程時直接寫入地址碼和身份碼。
2.2 控制模塊
控制模塊的核心是PIC16F74單片機。PIC16F74是一款低功耗、高速的Flash單片機,內部主要集成USART模塊、I2C總線、SPI接口、輸入捕捉/輸出比較/脈寬調制CCP模塊、A/D轉換器、看門狗定時器WDT等功能部件。PIC16F74具有35條簡潔的指令系統(tǒng),其中除了程序分支指令是單字節(jié)、雙周期指令外,其它都是單字節(jié)、單周期指令。單字節(jié)寬指令提高了軟件編碼效率,減少了所需要的程序存儲器單元,使系統(tǒng)具有很高的處理效率和卓越的性能。PIC16F74單片機優(yōu)異的性能加上良好的電磁兼容特性,使之非常適合于本系統(tǒng)的開發(fā)??刂颇K主要用于處理報警信息,并與PC機通信。單片機與實時時鐘芯片(SD2001)通過I2C接口進行通信。單片機通過普通IO與EEPROM(AT24C16)通信,AT24C16為I2C接口,對它的讀寫,需單片機程序產(chǎn)生I2C時序。 EEPROM中除了存儲報警信息外,還存儲用戶的手機號碼和撤防的密碼。
2.3 單片機與GSM模塊、PC機的硬件接口電路
圖2顯示了單片機與TC35、PC機的連接圖。GSM模塊采用西門子公司推出的TC35。TC35是一款高性能的GSM模塊,在應用系統(tǒng)中很容易集成,可以工作在GSM900kHz和1800kHz兩個頻段,RS-232數(shù)據(jù)接口,符合ETSI標準GSM07.07和GSM07.05,且易于升級為GPRS(通用分組無線電業(yè)務)模塊。TC35集射頻電路和基帶于一體,向用戶提供標準的AT命令接口,為數(shù)據(jù)、語音、短消息、傳真提供快速、安全、可靠的傳輸,方便用戶的應用開發(fā)和設計。
由于TC35數(shù)據(jù)接口工作在CMOS電平,而PIC16F74工作在TTL電平,工作電壓范圍一般比TC35寬,故應在單片機和TC35之間加電平轉換電路。單片機通過異步串行接口RC6、RC7與TC35進行數(shù)據(jù)通信,通信速率為9600kbit/s,采用8位異步通信方式,1位起始位,8位數(shù)據(jù)位,1位停止位。
單片機利用普通IO與PC機串口通信。單片機需要在通信程序中自己產(chǎn)生串行時序。
3、軟件設計
系統(tǒng)軟件包括單片機程序和PC機程序。PC機的程序主要是對計算機串口的讀寫,本文不加詳述。單片機的程序主要包括初始化、單片機對報警信號的處理、單片機與PC機的通信和單片機對設防撤防信號的處理。單片機程序的流程圖如圖3所示。當單片機檢測到有GSM模塊接收到短信后,先判斷短信開頭部分的密碼正確與否,只有當密碼正確才進行相應操作,否則不予處理。
3.1 單片機程序初始化
初始化程序主要包括對寄存器、IO的設置、從EEPROM中把用戶手機號碼和撤防密碼讀入單片機的寄存器中。初始化完成之后,單片機就循環(huán)檢測有無報警信號、是否連接到PC機、GSM模塊是否接收到短信。
EEPROM中存儲用戶手機號碼和撤防密碼,是為了防止系統(tǒng)斷電后導致的重要信息的丟失。在初始化時將信息讀入單片機的寄存器中,可以節(jié)省單片機處理的時間。
3.2 報警信息的處理
單片機通過無線接收電路接收探測電路發(fā)送的報警信號,通過報警器的“身份碼”識別報警類型,并將“報警類型”通過GSM模塊,以短信發(fā)送到用戶手機。發(fā)送完成之后,單片機從實時時鐘芯片讀取報警時間,并將“報警類型+報警時間”寫EEPROM。
利用AT指令可完成控制GSM模塊進行SMS通訊的所有流程,歐洲通信委員會ETST發(fā)布的GSM07.05標準AT指令集是目前全球所有GSM模塊均支持的收發(fā)SMS的命令集,常見的AT指令見表1。
每個AT指令以“AT+”開頭,以回車結尾。在AT指令中還包括以下控制符:結束符(用表示),十六進制為0x0D;發(fā)送符(用<^Z>表示),十六進制為0x1A。
發(fā)送短消息常用Text和PDU(Protocol Data Unit)模式。使用Text模式收發(fā)短信的優(yōu)點是代碼簡單,容易實現(xiàn);缺點是不能收發(fā)中文短信。而PDU模式不僅支持中文短信,也能發(fā)送英文短信。PDU模式收發(fā)短信可以使用三種模式:7-bit、8-bit和UCS2編碼。7-bit編碼用于發(fā)送ASCII字符,8-bit編碼用于發(fā)送數(shù)據(jù)消息,UCS2編碼用于發(fā)送Unicode字符(漢字),編碼類型在PDU數(shù)據(jù)包中指定。下面舉例說明PDU編碼的組成。例如要把“有人非法開門!”七個字符發(fā)送到用戶手機13909639342,則PDU數(shù)據(jù)為:00 01 03 0D 91 683109699343F2 32 08 0E 67094EBA975E6CD55F0095E8FF01。
PDU數(shù)據(jù)說明如下:
(1)00表示省略短信中心號碼,由SIM卡決定;
(2)01表示文件頭字節(jié);
(3)03表示信息類型;
(4)0D表示被叫號碼長度;
(5)91表示被叫號碼類型;
(6)683109699343F2表示被叫號碼,被叫號碼經(jīng)過移位處理;
(7)32表示協(xié)議標識TP-PID;
(8)08表示數(shù)據(jù)編碼方案TP-DCS,因為要發(fā)送Unicode內碼,所以使用USC2(16bit)編碼;
( 9)0E表示用戶數(shù)據(jù)長度;
(10)67094EBA975E6CD55F0095E8FF01表示用戶數(shù)據(jù)“人非法開門!”。
需要注意的幾個問題:
(1)所有AT指令的指令符號、常數(shù)、PDU數(shù)據(jù)包等都是以ASCII編碼形式發(fā)送的。
(2)單片機向GSM模塊發(fā)送每一條指令后,必須以回車符(0DH)作為該指令的結束,若沒有這個回車符,GSM模塊將不識別這條指令。
(3)GSM模塊向單片機傳送短信時,其PDTU數(shù)據(jù)包的內容是以十六進制表示的,但并不是直接向單片機傳送十六進制數(shù)據(jù),而仍然是把每一位十六進制數(shù)據(jù)以ASCII編碼發(fā)送。這樣,兩個字節(jié)的十六進制數(shù)就變成4字節(jié)的ASCII碼。但PDU數(shù)據(jù)包中的數(shù)據(jù)字節(jié)長度部分仍然是實際字節(jié)長度,而不是變成ASCII碼的字節(jié)長度。單片機接收到數(shù)據(jù)包后,必須將其恢復成十六進制數(shù)據(jù)。
3.3 單片機與PC機的通信
PC機可以通過單片機讀出EEPROM中存儲的報警信息、用戶手機號碼和撤防的密碼,并可以對后兩項進行修改。
單片機對是否進行與PC機通信的判斷既可以通過硬件實現(xiàn),也可以通過軟件實現(xiàn),為了簡化硬件,提高系統(tǒng)可靠性,采用軟件實現(xiàn)狀態(tài)的判別。PC機與安防系統(tǒng)連通后,當PC機要向單片機發(fā)送操作指令時,PC機就改變串口默認電平狀態(tài),并維持一段時間,單片機檢測到該電平后,就進入與PC機通信的程序。PC機完成操作指令的發(fā)送后,串口就恢復為默認電平。單片機接收到操作指令后,就判斷是“讀取”指令,還是“修改”指令,如果不是這兩條指令,就退出。
4、結束語
本設計方案借助于GSM網(wǎng)絡和無線通信技術,實現(xiàn)了系統(tǒng)各個部分之間的通信無線化。無線報警器與主機之間的通信采用高頻無線調制的方式進行;主機與用戶手機之間采用GSM網(wǎng)絡。整個系統(tǒng)之間的通信無需另外布線,這樣既節(jié)約了成本,又提高了整個系統(tǒng)通信的可靠程度。整個系統(tǒng)既適合于城鎮(zhèn)家庭使用,也適合于偏遠地區(qū)等不便架設通信線路的地方使用,具有很好的應用前景。