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