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