文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)09-0064-03
電子密碼鎖種類繁多,,如指紋型[1]、紅外遙控[2],、無線射頻RFID[3]和GPS等,。指紋密碼鎖是以人體指紋為識(shí)別載體和手段的智能鎖具,其唯一性和不可復(fù)制性決定了其為最安全的鎖種,,但其價(jià)格昂貴,、難以普及,。紅外遙控采用紅外傳輸技術(shù),只需在不遠(yuǎn)處手執(zhí)遙控器,,輸入正確密碼即可自動(dòng)開鎖,,不易被人偷窺,使用方便,、安全,。但鎖若被撬開時(shí)難以有效通知用戶,缺乏遠(yuǎn)程報(bào)警功能,。
為提高密碼鎖的防盜功能,,本文設(shè)計(jì)了一種基于AVR32單片機(jī)的防盜報(bào)警密碼鎖,除具有設(shè)置密碼,、修改密碼,、設(shè)置鍵盤鎖定時(shí)間、管理員權(quán)限設(shè)置等功能外,,還具有紅外監(jiān)測(cè)是否正常開門的功能,。當(dāng)非法開門和輸入密碼錯(cuò)誤超過3次時(shí),蜂蜜器報(bào)警并通過短信的形式發(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)非正常開門的情況,。用戶輸入密碼,,按下“確認(rèn)”鍵后,將其與設(shè)定密碼進(jìn)行比較,,若一致則開鎖,同時(shí)關(guān)閉紅外監(jiān)視裝置,;若不一致,,則提示重新輸入密碼,重新輸入的次數(shù)不能超過3次,,若3次輸入的密碼均不正確則鎖定鍵盤,,發(fā)出聲光報(bào)警,并通過GSM模塊發(fā)送短信給指定的用戶進(jìn)行報(bào)警,。在開鎖狀態(tài)下,,用戶可修改密碼和設(shè)置鍵盤鎖定時(shí)間。另外,,當(dāng)發(fā)生破門而入等非正常開鎖的情況時(shí),,門被打開擋住了信號(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),;若接收不到,則表明門已被打開,。報(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端口的控制鍵,,通過5.1 k?贅的限流電阻連接在VCC上,。當(dāng)按下該鍵時(shí),鍵盤開啟,,否則處于關(guān)閉狀態(tài),,按鍵無效,以防止密碼鎖無人使用時(shí)單片機(jī)一直對(duì)鍵盤掃描,,從而降低能耗,。
16個(gè)按鍵分為功能鍵和數(shù)字健,分別是數(shù)字鍵0~9,,確認(rèn)鍵E,,修改密碼鍵C,重新輸入鍵A,,設(shè)置鍵盤鎖定時(shí)間L,,管理員權(quán)限G,開啟鍵盤鍵O,。
2.2 無線通信電路
采用西門子公司生產(chǎn)的TC35i模塊,,其功能是通過全球移動(dòng)通信系統(tǒng)GSM網(wǎng)絡(luò)向手機(jī)發(fā)送短信[5]。該模塊支持Text和PDU格式的短消息SMS,,用戶可通過AT命令進(jìn)行呼叫,、短信、電話本等方面的控制,,具有價(jià)格便宜,、無需撥號(hào)連接和信號(hào)覆蓋范圍廣等優(yōu)點(diǎn)。
TC35i模塊有40個(gè)引腳,,通過一個(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í)間不可超過1 ms。
TC35I采用外接SIM卡模式,,其中ZIF連接座上的CCIN(24引腳)用于檢測(cè)SIM卡是否插好,,若連接正確,則CCIN引腳輸出高電平,,否則為低電平,。SIM卡上的CCRST、CCIO,、CCCL,、CCVCC和CCGND通過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í)的功率增長情況,,另一種是指示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卡沒有插入或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,,通過單片機(jī)的PB4口控制三極管開或關(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í)打開定時(shí)器和外部中斷,。當(dāng)O鍵被按下時(shí),,開始掃描鍵盤,輸入密碼,,期間可進(jìn)行重新輸入操作,,直至按下確認(rèn)鍵E后,將其與EPROM內(nèi)保存的密碼比較,,若一致則開門,,而后可修改密碼、設(shè)置允許輸錯(cuò)次數(shù)和設(shè)置鍵盤鎖定時(shí)間等操作,;否則蜂鳴器響并在LCD上顯示提示信息“密碼錯(cuò)誤,,請(qǐng)重新輸入”。當(dāng)輸錯(cuò)密碼的次數(shù)超過3次時(shí),,蜂蜜器報(bào)警并發(fā)送手機(jī)短消息給指定用戶報(bào)警,,并鎖定鍵盤。為提高安全性,,鎖定鍵盤后,,必須啟用管理員權(quán)限才可以開鎖。此外,,若在5 s內(nèi)沒有按鍵操作時(shí)就自動(dòng)關(guān)閉鍵盤,。
系統(tǒng)軟件運(yùn)行在AVR單片機(jī)上,包括主控制模塊,、鍵盤掃描模塊,、密碼比較判斷、修改密碼,、報(bào)警模塊等。采用C語言作為編程語言,總流程框圖如圖4所示,。
3.2 鍵盤處理設(shè)計(jì)
鍵盤處理模塊包括密碼輸入,、修改密碼、重新輸入和管理員權(quán)限,。輸入密碼采用循環(huán)掃描的方式確定按鍵值,,將值存儲(chǔ)起來,輸入完畢按下確認(rèn)鍵E后,,將其與原來保存的密碼進(jìn)行比較,,相等則開鎖;否則報(bào)警,。密碼輸入子流程如圖5所示,,期間可重新輸入操作。
在開鎖狀態(tài)下,,按下修改密碼鍵C,,輸入密碼,按下確認(rèn)鍵E后,,提示“請(qǐng)?jiān)俅屋斎?amp;rdquo;,,當(dāng)兩次輸入的密碼一樣時(shí),該密碼替換原來儲(chǔ)存的密碼值,,并提示“密碼修改成功”,。
為增加系統(tǒng)的安全性和人性化,設(shè)置了管理員權(quán)限,。當(dāng)因密碼輸入錯(cuò)誤而致使鍵盤被鎖時(shí),,在一定的時(shí)間內(nè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)開始,,如下是主要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è)是否非正常開門的功能,,并能及時(shí)通過手機(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].錦陽師范學(xué)院學(xué)報(bào),2007,,5(26):112-115.
[7] 趙春云,,陳敏.基于GSM短消息的水情遙測(cè)終端通信系統(tǒng)設(shè)計(jì)[J].中國測(cè)試技術(shù),2005,,31(1):66-68.