文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2011)09-0064-03
電子密碼鎖種類繁多,如指紋型[1]、紅外遙控[2]、無線射頻RFID[3]和GPS等。指紋密碼鎖是以人體指紋為識別載體和手段的智能鎖具,其唯一性和不可復(fù)制性決定了其為最安全的鎖種,但其價格昂貴、難以普及。紅外遙控采用紅外傳輸技術(shù),只需在不遠(yuǎn)處手執(zhí)遙控器,輸入正確密碼即可自動開鎖,不易被人偷窺,使用方便、安全。但鎖若被撬開時難以有效通知用戶,缺乏遠(yuǎn)程報警功能。
為提高密碼鎖的防盜功能,本文設(shè)計了一種基于AVR32單片機(jī)的防盜報警密碼鎖,除具有設(shè)置密碼、修改密碼、設(shè)置鍵盤鎖定時間、管理員權(quán)限設(shè)置等功能外,還具有紅外監(jiān)測是否正常開門的功能。當(dāng)非法開門和輸入密碼錯誤超過3次時,蜂蜜器報警并通過短信的形式發(fā)送給指定的用戶進(jìn)行報警,從而達(dá)到了遠(yuǎn)程監(jiān)控的目的。
1 系統(tǒng)功能及架構(gòu)
系統(tǒng)功能:當(dāng)鎖關(guān)閉時,啟動紅外監(jiān)視模塊以監(jiān)測是否出現(xiàn)非正常開門的情況。用戶輸入密碼,按下“確認(rèn)”鍵后,將其與設(shè)定密碼進(jìn)行比較,若一致則開鎖,同時關(guān)閉紅外監(jiān)視裝置;若不一致,則提示重新輸入密碼,重新輸入的次數(shù)不能超過3次,若3次輸入的密碼均不正確則鎖定鍵盤,發(fā)出聲光報警,并通過GSM模塊發(fā)送短信給指定的用戶進(jìn)行報警。在開鎖狀態(tài)下,用戶可修改密碼和設(shè)置鍵盤鎖定時間。另外,當(dāng)發(fā)生破門而入等非正常開鎖的情況時,門被打開擋住了信號、紅外接收器接收不到信號時,同樣會發(fā)出報警信息。
系統(tǒng)由AVR32單片機(jī)、鍵盤電路、紅外發(fā)射和接收電路、液晶顯示、聲光報警和GSM電路組成。其中鍵盤作為輸入設(shè)備,用于用戶輸入和修改密碼;液晶顯示器LCD給出相應(yīng)的提示信息;紅外發(fā)射和接收電路分別放置在門兩側(cè),由單片機(jī)發(fā)射38 kHz的方波信號,輸送給紅外發(fā)射電路。若接收器接收到該信號,則表明門處于關(guān)閉狀態(tài);若接收不到,則表明門已被打開。報警模塊包括蜂鳴器報警和遠(yuǎn)程報警,遠(yuǎn)程報警采用GSM模塊以短消息的方式向用戶發(fā)送報警信息。系統(tǒng)框圖如圖1所示。
2 硬件設(shè)計
2.1 鍵盤電路
系統(tǒng)以AVR32單片機(jī)作為主控器,用于對按鍵等進(jìn)行信號處理。選擇AVR32單片機(jī)的原因主要是:(1)低功耗,ATMEG-A32運(yùn)行電壓范圍在2.7 V~5.5 V之間,功耗在正常模式下為1.1 mA,空閑模式下為0.35 mA,掉電模式下<1 μA;(2)高速度,采用先進(jìn)的哈佛結(jié)構(gòu),具有預(yù)取指令功能,數(shù)據(jù)處理速度快,可達(dá)到1 MIPS/MHz的高速運(yùn)行處理能力;(3)片內(nèi)Flash存儲器有32 KB、2 KB的SRAM,1 024 B的EEPROM;(4)保密性好,具有不可破解的位加密鎖Lock bit技術(shù),可以對鎖定位進(jìn)行編程以實現(xiàn)用戶程序的加密;(5)帶有3個外部中斷,32個可編程I/O接口,方便外接外圍設(shè)備以及軟件實現(xiàn)[4]。
選用AVR32單片機(jī)4條I/O線作為行線,4條I/O口作為列線設(shè)計為矩陣鍵盤形式,分別連接在PC口。連接在單片機(jī)外部中斷PD3端口的控制鍵,通過5.1 k?贅的限流電阻連接在VCC上。當(dāng)按下該鍵時,鍵盤開啟,否則處于關(guān)閉狀態(tài),按鍵無效,以防止密碼鎖無人使用時單片機(jī)一直對鍵盤掃描,從而降低能耗。
16個按鍵分為功能鍵和數(shù)字健,分別是數(shù)字鍵0~9,確認(rèn)鍵E,修改密碼鍵C,重新輸入鍵A,設(shè)置鍵盤鎖定時間L,管理員權(quán)限G,開啟鍵盤鍵O。
2.2 無線通信電路
采用西門子公司生產(chǎn)的TC35i模塊,其功能是通過全球移動通信系統(tǒng)GSM網(wǎng)絡(luò)向手機(jī)發(fā)送短信[5]。該模塊支持Text和PDU格式的短消息SMS,用戶可通過AT命令進(jìn)行呼叫、短信、電話本等方面的控制,具有價格便宜、無需撥號連接和信號覆蓋范圍廣等優(yōu)點。
TC35i模塊有40個引腳,通過一個連接器ZIF引出。單片機(jī)、TC35i模塊與SIM卡之間的連接如圖2所示。其中TC35I的1~5引腳連接正電壓Vcc(推薦值4.2 V),6~10引腳接地,11和12腳為充電引腳,可以外接鋰電池。15腳是啟動腳IGT,系統(tǒng)上電后為使TC35i進(jìn)入工作狀態(tài),必須給IGT加一個大于100 ms的低脈沖,電平下降持續(xù)時間不可超過1 ms。
TC35I采用外接SIM卡模式,其中ZIF連接座上的CCIN(24引腳)用于檢測SIM卡是否插好,若連接正確,則CCIN引腳輸出高電平,否則為低電平。SIM卡上的CCRST、CCIO、CCCL、CCVCC和CCGND通過SIM卡閱讀器分別與TC35I的25~29引腳直接相連。
TC35i模塊的數(shù)據(jù)輸入/輸出接口是串行異步收發(fā)器,符合ITU-RS232接口標(biāo)準(zhǔn),硬件握手信號用RTS0/CTS0,軟件流量控制用XON/XOFF、CMOS電平,支持標(biāo)準(zhǔn)的AT命令集。其中18腳RxD0、19腳TxD0為TTL的串口通信腳,需要與單片機(jī)或者PC通信,與單片機(jī)通信連接時,TxD0接TxD,RxD0接RxD。
TC35i的SYNC(32引腳)有兩種工作模式,一種是指示發(fā)射狀態(tài)時的功率增長情況,另一種是指示TC35i的工作狀態(tài),可用AT命令A(yù)T+SYNC進(jìn)行切換,本系統(tǒng)采用指示TC35i的工作狀態(tài)。當(dāng)LED熄滅時,表明TC35i處于關(guān)閉或睡眠狀態(tài);當(dāng)LED為600 ms亮/600 ms熄時,表明SIM卡沒有插入或TC35i正在進(jìn)行網(wǎng)絡(luò)登錄;當(dāng)LED為75 ms亮、3 s熄時,表明TC35i已登錄進(jìn)網(wǎng)絡(luò),處于待機(jī)狀態(tài)。
2.3 紅外監(jiān)測電路
為增強(qiáng)防盜功能,系統(tǒng)在門后的兩側(cè)安裝了紅外監(jiān)測裝置[6]。其中紅外發(fā)射采用HS5100,通過單片機(jī)的PB4口控制三極管開或關(guān),從而產(chǎn)生38 kHz頻率的發(fā)射信號。紅外接收選用HS0038,其只有3個引腳(1Out、2GND、3Vcc),脈沖信號輸出Out腳可直接與單片機(jī)I/O相連。接收不到紅外信號時輸出為高電平,反之為低電平。系統(tǒng)采用外部中斷接口PB2連接Out輸出端。如圖3所示。
3 軟件設(shè)計
3.1 系統(tǒng)設(shè)計總流程
系統(tǒng)上電后,單片機(jī)I/O口、LCD、內(nèi)存緩沖器初始化,同時打開定時器和外部中斷。當(dāng)O鍵被按下時,開始掃描鍵盤,輸入密碼,期間可進(jìn)行重新輸入操作,直至按下確認(rèn)鍵E后,將其與EPROM內(nèi)保存的密碼比較,若一致則開門,而后可修改密碼、設(shè)置允許輸錯次數(shù)和設(shè)置鍵盤鎖定時間等操作;否則蜂鳴器響并在LCD上顯示提示信息“密碼錯誤,請重新輸入”。當(dāng)輸錯密碼的次數(shù)超過3次時,蜂蜜器報警并發(fā)送手機(jī)短消息給指定用戶報警,并鎖定鍵盤。為提高安全性,鎖定鍵盤后,必須啟用管理員權(quán)限才可以開鎖。此外,若在5 s內(nèi)沒有按鍵操作時就自動關(guān)閉鍵盤。
系統(tǒng)軟件運(yùn)行在AVR單片機(jī)上,包括主控制模塊、鍵盤掃描模塊、密碼比較判斷、修改密碼、報警模塊等。采用C語言作為編程語言,總流程框圖如圖4所示。
3.2 鍵盤處理設(shè)計
鍵盤處理模塊包括密碼輸入、修改密碼、重新輸入和管理員權(quán)限。輸入密碼采用循環(huán)掃描的方式確定按鍵值,將值存儲起來,輸入完畢按下確認(rèn)鍵E后,將其與原來保存的密碼進(jìn)行比較,相等則開鎖;否則報警。密碼輸入子流程如圖5所示,期間可重新輸入操作。
在開鎖狀態(tài)下,按下修改密碼鍵C,輸入密碼,按下確認(rèn)鍵E后,提示“請再次輸入”,當(dāng)兩次輸入的密碼一樣時,該密碼替換原來儲存的密碼值,并提示“密碼修改成功”。
為增加系統(tǒng)的安全性和人性化,設(shè)置了管理員權(quán)限。當(dāng)因密碼輸入錯誤而致使鍵盤被鎖時,在一定的時間內(nèi)不允許再輸入密碼,避免非法侵入,之后只有使用管理員密碼才能開鎖。
3.3 GSM軟件設(shè)計
首先將單片機(jī)的串口接收端設(shè)置成輸入,發(fā)送端設(shè)置成輸出。GSM模塊使用前需先激活,首先置PD2端口為高電平(約10 ms),再置其為低電平(約100 ms),后再置其為高電平(約10 ms)。延時約10 s等待GSM網(wǎng)絡(luò)登錄,之后發(fā)送連機(jī)命令,當(dāng)網(wǎng)絡(luò)登錄成功后設(shè)置ATE0(不回顯)、波特率、信息中心號碼、短信收發(fā)模式(此處選用txt文本模式)等,然后發(fā)送消息。
單片機(jī)和GSM模塊之間用AT[7]指令實現(xiàn)相互之間的通信,通信數(shù)據(jù)是ASCII碼。AT指令集幾乎所有的指令都以AT(Attention)開始,如下是主要AT指令的設(shè)置程序。
char TC35_AWAKE[]="AT+SYNC";
char TC35_AT[]="AT";//{0x41,0x54,0x0D};
char TC35_ATE0[]="ATE0";//關(guān)閉字符回顯
char TC35_IPR[]="AT+IPR=9600";//設(shè)置波特率為9 600
char TC35_CSCA[]="AT+CSCA=";//短信服務(wù)中心地址
char TC35_CMGF[]="AT+CMGF=1";//短信格式,1為文本,
//0為PDU
char TC35_CMGS[]="AT+CMGS=";//發(fā)送短消息
char TC35_CMGR[]="AT+CMGR=";//讀短信
char TC35_CMGD[]="AT+CMGD=";//刪除短信息
char TC35_ATOK[]="OK";
char TC35_MSGASK[]=">";
char TC35_NOMSG[]="+CMGR:0,,0";
char TC35_MSGOK[]="+CMGR:";
char TC35_SENDOK[]="+CMGS:";
char TC35_CSCAnumber[]="+8613800773500";
char TC35_ERROR[]="ERROR";
char TC35_READ[]="REC READ";
char TC35_UNREAD[]="REC UNREAD";
char TC35_SMSO[]="AT^SMSO";//正常退出網(wǎng)絡(luò)并關(guān)機(jī)
發(fā)送實例:某短消息服務(wù)中心向號碼為“13737743139”的手機(jī)發(fā)送一條報警信息,內(nèi)容為“Password lock alarm”。
首先TC35i初始化和串口緩沖區(qū)清零,而后發(fā)送短信服務(wù)中心地址AT+CSCA=''+8613800138500'',以回車\r(0x0d)結(jié)束。等待回應(yīng),若設(shè)置成功則返回“OK”,否則為“ERROR”。之后發(fā)送信息,格式為:AT+CMGS=<手機(jī)號碼><CR><短信內(nèi)容><0x0d><0x1A>。即AT+CMGS=''13737743139'',回車結(jié)束,等待回應(yīng)。若設(shè)置成功則發(fā)送“Password lock alarm”信息,并以0x0d和0x1A結(jié)束。若發(fā)送成功則返回“OK”,否則為“ERROR”。這樣該短消息便成功發(fā)送。
經(jīng)實驗測試,系統(tǒng)除具有普通密碼鎖的功能外,還增添了管理員權(quán)限和紅外檢測是否非正常開門的功能,并能及時通過手機(jī)短信發(fā)送報警信息,方便快捷,且不需要支付其他費用,提高了系統(tǒng)的安全性和遠(yuǎn)程監(jiān)控能力。
參考文獻(xiàn)
[1] 何軍.指紋識別技術(shù)的研究與應(yīng)用[D].北京:首都經(jīng)濟(jì)貿(mào)易大學(xué),2004.
[2] 李芳,高煥芝.紅外遙控密碼鎖的設(shè)計與實現(xiàn)[J].微計算機(jī)信息,2008,24(2):253-254.
[3] 李勇.基于RFID與人臉識別技術(shù)的智能門禁系統(tǒng)研究與設(shè)計[D].重慶:重慶大學(xué),2009.
[4] 丁華成,耿德根.AVR單片機(jī)應(yīng)用設(shè)計[M].北京:北京航空航天大學(xué)出版社,2002.
[5] 孫儒石.GSM數(shù)字移動通信工程[M].北京:人民郵電出版社,1998.
[6] 周功明.基于AT89C2051單片機(jī)的防盜自動報警電子密碼鎖系統(tǒng)的設(shè)計[J].錦陽師范學(xué)院學(xué)報,2007,5(26):112-115.
[7] 趙春云,陳敏.基于GSM短消息的水情遙測終端通信系統(tǒng)設(shè)計[J].中國測試技術(shù),2005,31(1):66-68.