林 勇, 馮英峰, 楊 玲
(合肥工業(yè)大學(xué) 電氣與自動化工程學(xué)院,安徽 合肥 230009)
近年來,人們對家庭住宅樓的便利化、安全化和智能化的要求不斷增大,而目前對于門鎖的安全管理比較單一,給不法分子留下了行竊的機(jī)會。如何制作安全可靠并且使用方便的防盜鎖是制鎖工程師們長期以來研制的主題。眾所周知,機(jī)械彈子鎖由于結(jié)構(gòu)上的局限很容易被打開,而傳統(tǒng)電子鎖電路較復(fù)雜,可靠性差。同時,人們有時候出門可能忘記帶上鑰匙,給回家?guī)砹撕艽蟮穆闊?]。針對以上問題,本文設(shè)計(jì)了一種基于GPRS,以MSP430F149單片機(jī)為主控制單元的高性能電子門鎖系統(tǒng),該系統(tǒng)日常能夠通過密碼加普通鑰匙的方式開啟,而且能夠在未攜帶鑰匙的情況下,通過遠(yuǎn)程總控制室的幫助,配合密碼開啟。并且,該系統(tǒng)配以報警裝置,當(dāng)遭到入侵時,向總控制室發(fā)送報警信息,實(shí)現(xiàn)實(shí)時監(jiān)控,加上信息經(jīng)過AES算法加密,非常安全,完全達(dá)到了便利化、安全化和智能化的要求。
整個系統(tǒng)主要由中央控制器、門控制器和遠(yuǎn)程總控制室組成。中央控制器主要負(fù)責(zé)收發(fā)控制室發(fā)來的數(shù)據(jù)和判別工作模式。確認(rèn)密碼正確后,中央控制器通過無線通訊的方式,將所要執(zhí)行的動作發(fā)送到門控制器。
門控制器接受到命令后,執(zhí)行相應(yīng)的動作,配合手持設(shè)備開鎖。同時為了輔助解決戶主沒有攜帶開鎖設(shè)備的問題,可以在遠(yuǎn)程控制室的協(xié)助下,配合正確的密碼,令中央控制器發(fā)出開鎖指令,令門控制器完成開鎖的動作。
系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
系統(tǒng)的硬件結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)硬件結(jié)構(gòu)
中央控制器主要由單片機(jī) MSP430F149、GPRS模塊MC39i等幾部分組成。主控芯片MSP430F149是美國德州儀器的低功耗產(chǎn)品,共有64個引腳、6組多功能I/O口、4個時鐘輸入腳、60kB的FLASH和2kB RAM,其資源足夠本系統(tǒng)使用。GPRS模塊采用西門子生產(chǎn)的MC39i模塊,采用900/1 800MHz雙頻調(diào)制,是一款內(nèi)嵌TCP/IP協(xié)議的GSM/GPRS無線調(diào)制解調(diào)器,能夠?qū)崿F(xiàn)語音通話、短消息收發(fā)和GPRS無線數(shù)據(jù)傳輸功能,該產(chǎn)品具有標(biāo)準(zhǔn)RS232工業(yè)接口,使用標(biāo)準(zhǔn)AT命令集進(jìn)行控制和通訊[2]。
電源采用LM1117-3.3V的穩(wěn)壓芯片供單片機(jī)和其他模塊使用。LM1117實(shí)質(zhì)是一個低電壓調(diào)節(jié)器,常用于LDO穩(wěn)壓器電路中,LM1117的穩(wěn)壓調(diào)整管由一個PNP驅(qū)動的NPN管構(gòu)成,漏失電壓公式為:VDROP=VBE+VSAT。
LM1117具有過載、過熱保護(hù)功能,能克服外界溫度過高等不良因素[3]。
鍵盤模塊使用4×4鍵盤,采用I/O口掃描模式。在一個應(yīng)用系統(tǒng)中,鍵盤是一個必不可少的輸入部分,這是實(shí)現(xiàn)人機(jī)對話的一種重要途徑。由于MSP430F149的I/O端口較多,所以在這里直接用端口連接一個常見4×4的矩陣式鍵盤輸入電路。16個按鍵主要用于設(shè)備的密碼輸入、密碼設(shè)置等[4]。
LCD采用的是不帶字庫的TG12232液晶顯示模塊,所使用的驅(qū)動器是SED1520,SED1520可直接與8位微處理器相連,集行、列驅(qū)動器和控制器于一體,因此使用起來十分方便。
門控制器由PIC16F628、無線通訊模塊PTR2000和繼電器控制電路組成。PIC16F628是美國Micro Chip公司生產(chǎn)的18Pin Flash 8位單片機(jī),是業(yè)內(nèi)公認(rèn)的抗干擾性很強(qiáng)的單片機(jī),很適合用在對可靠性有要求的門控制器中[5]。PTR2000無線收發(fā)數(shù)據(jù)傳輸MODEM基于射頻收發(fā)芯片nRF401,其將接收、發(fā)射兩者合一,該器件采用抗干擾能力較強(qiáng)的頻移鍵控(FSK)調(diào)制/解調(diào)方式,特別適合本系統(tǒng)的控制場合[6]。
遠(yuǎn)程控制臺由1臺PC和1臺DTU組成,DTU接受來自MC39i發(fā)來的數(shù)據(jù),經(jīng)RS232接口傳輸給電腦,在電腦上將串口數(shù)據(jù)轉(zhuǎn)化為所需的具體信息。
主程序主要對各個模塊進(jìn)行合理安排,協(xié)調(diào)各個模塊之間的工作。系統(tǒng)上電后,首先對各個硬件設(shè)備初始化,然后進(jìn)行工作循環(huán)。接著系統(tǒng)不斷地掃描鍵盤,檢測鍵盤的輸入。當(dāng)有密碼輸入時,對單片機(jī)串口產(chǎn)生中斷,在中斷服務(wù)程序中首先判斷密碼的正確性,如果正確,繼續(xù)查看門鎖是否通過手持設(shè)備打開,如果是,則單片機(jī)發(fā)送開門指令到門控制器,門控制器接收到指令后完成相應(yīng)的開門動作。
假如沒有觀察到鑰匙的開門動作,則開始接收來自GPRS網(wǎng)絡(luò)發(fā)來的數(shù)據(jù),判斷是否是總控制室發(fā)來的有效數(shù)據(jù),數(shù)據(jù)有效,則單片機(jī)通過AES解密算法獲得真實(shí)數(shù)據(jù),若為有效的開門指令,則直接指示門控制器開門。當(dāng)單片機(jī)判斷鍵盤密碼錯誤,或者是在沒有遠(yuǎn)程總控制室授權(quán)的情況下,門鎖通過非正常的方式打開,本系統(tǒng)立即發(fā)出指令,通過GPRS模塊向總控制室發(fā)送經(jīng)過AES加密的報警信息,總控制室收到后,能夠立刻派人去往現(xiàn)場查看情況。
系統(tǒng)的整體程序設(shè)計(jì)如圖3所示。
圖3 程序整體設(shè)計(jì)流程
MSP430系列單片機(jī)均可由MSPFET430P140FLASH 仿真工具(FET)提供支持。該FET是一種完整的集成開發(fā)環(huán)境,包括源代碼級調(diào)試器、仿真器、匯編/鏈接器、C編譯器等。使用C語言來對該系統(tǒng)進(jìn)行開發(fā)設(shè)計(jì)[7]。對于FLASH型則有更方便的開發(fā)調(diào)試環(huán)境,因?yàn)橥ㄟ^器件片內(nèi)的JTAG調(diào)試接口,還有可電擦寫的FLASH,可以采用先下載程序到FLASH內(nèi)進(jìn)行程序調(diào)試。
設(shè)備運(yùn)行時,首先上電復(fù)位,先由DCO振蕩器啟動CPU,保證程序從正確的位置開始執(zhí)行,保證晶體振蕩器有足夠的起振時間及穩(wěn)定時間。然后通過軟件來設(shè)置系統(tǒng)的時鐘頻率[8]。如果晶體振蕩器在用作CPU時鐘時發(fā)生故障,DCO會自動啟動,保證系統(tǒng)正常運(yùn)行;如果程序跑飛,可用看門狗將其復(fù)位。
GPRS上網(wǎng)操作前首先對GPRS模塊進(jìn)行設(shè)置,主要工作如下:
(1)設(shè)置通信波特率,使用 AT+I(xiàn)PR=11-5200命令,將波特率設(shè)為115 200b/s。
(2)設(shè)置接入網(wǎng)關(guān),通過AT+CGDCONT=1,“IP”,“CMNET”命令設(shè)置 GPRS接入網(wǎng)關(guān)為移動夢網(wǎng)。
(3)測試GPRS服務(wù)是否開通,使用AT+CGACT=1,1命令激活GPRS功能。
設(shè)置完成后,根據(jù)GPRS撥號上網(wǎng)的通信規(guī)程,逐步向GPRS模塊發(fā)送響應(yīng)AT命令,就可以在單片機(jī)中將數(shù)據(jù)信息打成UDP包,再封裝成IP包、PPP包發(fā)給 MC39i。MC39i再將PPP包拆分為GPRS包,通過其空中接口(Um)轉(zhuǎn)發(fā)出去。接收則是一個逆過程。
高級數(shù)據(jù)加密標(biāo)準(zhǔn)AES(Advanced Encryption Standard)確定分組密碼Rijndael為其算法,取代廣泛使用了20多年的數(shù)據(jù)加密標(biāo)準(zhǔn)DES,該算法在各行業(yè)各部門獲得廣泛的應(yīng)用。Rijndael密碼的設(shè)計(jì)力求滿足3條標(biāo)準(zhǔn):抵抗所有已知的攻擊,在多個平臺上速度快,編碼緊湊、設(shè)計(jì)簡單[9]。
AES算法是一個數(shù)據(jù)塊長度和密鑰長度可變的分組迭代加密算法。數(shù)據(jù)塊的長度和密鑰的長度可分別設(shè)定為128、192、256位。AES算法在整體結(jié)構(gòu)上采用的是代替置換網(wǎng)絡(luò)構(gòu)成輪變換,多輪迭代,可以用以下的方法來對GPRS傳遞的信息進(jìn)行加密,如圖4所示。
圖4 AES算法加密流程
目前,沒有已知的攻擊方法能攻擊Rijndael,Rijndael表現(xiàn)出了足夠的安全性,加密形式又具有簡單靈活的特點(diǎn),所以將AES算法用于GPRS信號傳遞的加密,有效地保障了該系統(tǒng)的穩(wěn)定運(yùn)行[10]。
總控制臺的任務(wù)主要是用于實(shí)時監(jiān)測用戶門鎖的安全狀況并予以顯示,同時可以發(fā)出開門指令協(xié)助業(yè)主開門。在Visual C++6.0的開發(fā)環(huán)境中使用C語言進(jìn)行程序設(shè)計(jì)。
整個程序包含如下3個部分:① 信號的讀取,由DTU接收到的GPRS信號是串口數(shù)據(jù),通過RS232接口傳輸?shù)诫娔X,所以程序首先要從串口中獲取所需要的數(shù)據(jù),并通過AES算法解密得到實(shí)際信息;② 對獲得的信息進(jìn)行有效的管理和顯示,能在第一時間得知用戶的安全狀況并采取相關(guān)措施是非常重要的,因此,程序需要實(shí)時、簡潔地將相關(guān)信息顯示在屏幕前;③ 編寫一個可以發(fā)送AES加密信號的程序,當(dāng)發(fā)給門鎖系統(tǒng)的是開鎖信號時,配合密碼,門控制器會完成開鎖的任務(wù)。
在整套設(shè)備制作完成之后,選取6家用戶,安裝了本文設(shè)計(jì)的門鎖系統(tǒng)進(jìn)行試驗(yàn),實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 實(shí)驗(yàn)結(jié)果
首先對系統(tǒng)的安全性能進(jìn)行測試,對103室的門鎖,使用撬鎖工具將其強(qiáng)行打開,總控制室的監(jiān)控系統(tǒng)立即發(fā)出報警信息,該房間的按鈕變成紅色,點(diǎn)開按鈕,可以查看到更加詳細(xì)的信息,里面記錄了該門鎖的開關(guān)和報警時間,以及用戶的聯(lián)系方式等等,方便了管理人員與戶主進(jìn)行及時的溝通,以防意外發(fā)生。隨后,對系統(tǒng)的協(xié)助開鎖功能進(jìn)行測試。進(jìn)入用戶的個人管理界面后,點(diǎn)擊協(xié)助開鎖按鈕,配合門鎖端輸入正確的密碼,成功實(shí)現(xiàn)了開鎖的任務(wù)。
MSP430單片機(jī)非常適合低功耗應(yīng)用場合的硬件產(chǎn)品開發(fā),利用MSP430開發(fā)的GPRS智能控制電子門鎖利用GPRS實(shí)現(xiàn)了門鎖的實(shí)時監(jiān)控保障住戶的安全,并可以遠(yuǎn)程協(xié)助打開門鎖,免除了機(jī)械門匙的困惑,使用方便,開關(guān)門密碼的設(shè)置由用戶設(shè)定,安全性好,所有通過GPRS傳遞的信息都是經(jīng)過AES算法加密的,非常安全,不用擔(dān)心其被不法分子利用,整個系統(tǒng)利用率高,投資少,成本低,利于廣泛地開發(fā)使用。
[1] 文志成.GPRS網(wǎng)絡(luò)技術(shù)[M].北京:電子工業(yè)出版社,2005:29-36.
[2] 鄧會祥.利用移動基站實(shí)現(xiàn)遠(yuǎn)程門鎖控制的設(shè)計(jì)與實(shí)現(xiàn)[D]長春:吉林大學(xué),2007.
[3] 申琢玉.基于GPRS的智能電梯門禁系統(tǒng)設(shè)計(jì)[EB/OL].(2012-02-13 ). http://tech. yktworld. com/201202/201202131533431270.html.
[4] 李 瑞,王雪梅.基于AES算法的無線加密數(shù)字傳輸系統(tǒng)[J].微計(jì)算機(jī)信息,2009,25(8-3):49-51.
[5] 朱衛(wèi)國,孫長國,陳必勇.移動式電子門童防盜報警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010,26(12-2):49-50.
[6] 石冠先.基于VC的監(jiān)控組態(tài)軟件開發(fā)及其應(yīng)用[D].北京:北京工業(yè)大學(xué),2013.
[7] 周 杰.基于GPRS監(jiān)控調(diào)度系統(tǒng)安全性實(shí)現(xiàn)[D].西安:西安建筑科技大學(xué),2006.
[8] 成春旺.監(jiān)控系統(tǒng)中基于GPRS的無線數(shù)據(jù)傳輸系統(tǒng)的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2006.
[9] 瞿小玲.基于RFID的低功耗智能門禁系統(tǒng)的設(shè)計(jì)與研究[D].成都:成都理工大學(xué),2012.
[10] 尹 鋒.基于GPRS的遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)研究和設(shè)計(jì)[D].長沙:湖南大學(xué),2009.