青島理工大學(xué)信息與控制工程學(xué)院 林 寧 徐 珂 秦立峰
隨著科學(xué)技術(shù)的飛速發(fā)展,傳統(tǒng)防盜門的安全性越來越脆弱,而以指紋識別技術(shù)為基礎(chǔ)的智能安全門發(fā)展迅速。指紋門禁以手指取代傳統(tǒng)的鑰匙,使用時只需將手指平放在指紋采集模塊的采集窗口上,即可完成開鎖任務(wù),操作十分簡便,避免了其它門禁系統(tǒng)(傳統(tǒng)機(jī)械鎖、密碼鎖、識別卡等)有可能被偽造、盜用、遺忘、破譯等弊端[1]。本文以STM32做主控制器,將GSM遠(yuǎn)程控制與指紋識別有機(jī)結(jié)合,設(shè)計出一個實用的智慧門禁系統(tǒng)。
指紋門禁系統(tǒng)硬件由主控制器、電源模塊、指紋采集模塊、繼電器、電磁鎖、GSM模塊、矩陣鍵盤、顯示模塊、信息存儲模塊等部分組成。電源經(jīng)5V穩(wěn)壓模塊后給STM32單片機(jī)和指紋采集模塊、繼電器等供電;指紋采集模塊負(fù)責(zé)采集指紋特征信息,并在現(xiàn)有指紋庫里進(jìn)行逐一比對;繼電器的作用就是根據(jù)單片機(jī)的低壓控制信號去控制12V電磁鎖回路的導(dǎo)通和關(guān)斷,從而實現(xiàn)上鎖和解鎖,門禁硬件結(jié)構(gòu)如圖1所示。
圖1 指紋門禁硬件結(jié)構(gòu)
本系統(tǒng)采用ATK-AS608指紋識別模塊,通過提取指紋上的特征點(diǎn)來記錄指紋信息,其內(nèi)置DSP運(yùn)算單元,集成了指紋識別算法,能高效快速采集圖像并識別指紋特征??刂破髋c模塊之間采用簡單的數(shù)據(jù)傳輸協(xié)議進(jìn)行串口通訊,系統(tǒng)上電后,先確認(rèn)與模塊之間通信正常,并交換指紋庫容量、對比等級等一些必要信息,當(dāng)控制器需要指紋信息或者人員錄、刷、刪指紋的時候,控制器通過串口發(fā)送命令,指紋模塊就會執(zhí)行相應(yīng)操作;當(dāng)指紋模塊向主控制器發(fā)送信息的時候,主控制器開始計時,若超過10ms未接收到數(shù)據(jù)后,認(rèn)為本次數(shù)據(jù)傳輸結(jié)束。
利用12864液晶顯示屏和4*4矩陣按鍵,組成一個人機(jī)交互界面,矩陣按鍵采用循環(huán)掃描的工作方式,每個按鍵的功能不同:0-9的數(shù)字按鍵用于輸入管理員密碼和指紋ID號等,還有菜單鍵、返回鍵、確認(rèn)鍵、上翻鍵、下翻鍵來幫助選擇所需要的操作。顯示屏則根據(jù)按鍵的輸入,顯示一些可操作的選項、指紋匹配信息以及人員出入信息。
為實現(xiàn)遠(yuǎn)程操作和安全報警,我們采用GSM模塊。控制器通過AT指令控制插有手機(jī)卡的GSM模塊[2],便可以實現(xiàn)中英文短信發(fā)送、遠(yuǎn)程電話、彩信等功能[3],我們預(yù)先在程序里寫入管理員手機(jī)號,當(dāng)有人多次刷指紋失敗后,控制器通過GSM模塊向管理員手機(jī)發(fā)送“陌生人來訪”短信,管理員可向GSM撥打遠(yuǎn)程電話直接與來訪者進(jìn)行對話;在電磁鎖鎖槽放置一壓力傳感器,控制器檢測壓力傳感器的壓力大小來確定門鎖是否鎖好,若主人忘記關(guān)門或有人非法闖入,啟動蜂鳴器報警和GSM短信報警;另外,管理員出差時還可通過手機(jī)短信的方式控制門禁上鎖、開鎖、查詢最近幾天的訪客記錄。
由于管理員密碼、出入人員信息需要斷電后依然保存,且占用內(nèi)存空間大、可人為修改,所以將這些信息存在W25Q64芯片中,該芯片是一款64MB的大容量SPI-FLASH產(chǎn)品,擦寫次數(shù)多達(dá)10W次,具有20年的數(shù)據(jù)保存期限,最大SPI時鐘可以達(dá)到80Mhz,容量和存取速度都能滿足一般家庭的使用。我們調(diào)用STM32的FLASH操作程序和內(nèi)存管理程序,按照SPI通信標(biāo)準(zhǔn),對W25Q64的內(nèi)存進(jìn)行操作,來修改管理員密碼和給出入人員信息分配內(nèi)存空間。
系統(tǒng)上電后默認(rèn)為訪客模式,在該模式下,只能進(jìn)行刷指紋操作,指紋匹配成功即可完成開鎖;按下菜單鍵,管理員密碼輸入正確后,即進(jìn)入管理員界面;若管理員密碼連續(xù)3次輸入錯誤,控制器通過GSM模塊向管理員手機(jī)發(fā)送安全報警信息。管理員密碼為六位數(shù)字,我們考慮到輸入管理員密碼的時候,周圍有朋友、同事沒有回避,管理員礙于情面又不得不輸入的情況,此時管理員可連續(xù)輸入十幾位甚至幾十位密碼,按下確定鍵后,只要這一串?dāng)?shù)字中的連續(xù)六位是正確密碼,也可完成開鎖。
進(jìn)入管理員界面后,可選擇的功能有錄指紋、刷指紋、刪指紋、查詢出入人員記錄、設(shè)置指紋存儲上限、人員門禁分配。軟件系統(tǒng)先把各個功能的實現(xiàn)寫好,并封裝成函數(shù)庫,然后在主函數(shù)里邊調(diào)用封裝好的函數(shù)搭建程序結(jié)構(gòu)。
選擇錄指紋功能之后,顯示屏提示“請按下指紋”,若指紋采集成功,則再次按下指紋確認(rèn),否則提示“錄入指紋失敗,請重新按下指紋”;兩次指紋對比一致后,會生成指紋模板,通過按鍵輸入指紋ID等信息后,指紋錄入成功。刷指紋操作只需將手指按在指紋采集模塊上面,指紋采集成功后,若與指紋庫里模板對比成功,即可進(jìn)行開鎖。刪除指紋需要輸入指紋ID號,再次確認(rèn)刪除后即可刪除對應(yīng)指紋。
系統(tǒng)配置有RTC實時時鐘,它的本質(zhì)是一個定時器,可以實現(xiàn)時間日歷的功能。每次有人員刷指紋進(jìn)出時,系統(tǒng)根據(jù)系統(tǒng)時間和指紋庫信息自動生成人員名稱、人員來訪時間、人員來訪次數(shù)等信息[4],并存儲在W25Q64已開辟的內(nèi)存空間里,管理員查詢時,信息會以表格的形式在顯示屏上顯示,當(dāng)內(nèi)存占滿后,系統(tǒng)按照“先入先出”的順序把最早存儲的信息刪除,以得到空間存儲新的信息。
圖2 GSM功能測試
程序上電后,電磁鎖自動上鎖。按下菜單鍵進(jìn)入管理員模式,輸入管理員密碼,選擇錄指紋選項,按照顯示屏的提示信息進(jìn)行錄指紋操作,錄指紋成功之后,輸入指紋ID對指紋進(jìn)行編號。返回菜單界面,選擇刷指紋選項,手指按在指紋模塊上,指紋匹配成功后,顯示屏顯示匹配成功的指紋ID,電磁鎖打開。再次返回菜單界面,選擇修改管理員密碼,輸入修改后的密碼并確認(rèn)后,再次輸入修改后的密碼,兩次密碼一致時,密碼修改成功。為安全起見,在管理員界面30s內(nèi)不進(jìn)行任何操作時,系統(tǒng)自動退出管理員界面。經(jīng)測試,GSM模塊短信報警、遠(yuǎn)程操作以及出入信息查詢等功能均可實現(xiàn),測試結(jié)果如圖2所示。
本系統(tǒng)以STM32單片機(jī)為控制核心,結(jié)合指紋識別模塊、GSM模塊以及人機(jī)交互模塊等主要功能模塊,除完成指紋開鎖外,還具備安全報警、遠(yuǎn)程操作、統(tǒng)計訪客信息等功能,克服了傳統(tǒng)門禁功能單一的缺陷,提高了門禁系統(tǒng)的安全性和實用性,可廣泛應(yīng)用于家庭、企業(yè)的安防系統(tǒng)中。
[1]姜日凡.基于STM32單片機(jī)和GSM技術(shù)的門禁控制系統(tǒng)[J].大連工業(yè)大學(xué)學(xué)報,2015,34(02):141-143.
[2]巢玉江,袁紅兵,馮鋒.基于ZigBee與GSM技術(shù)的智能家居安防系統(tǒng)設(shè)計[J].機(jī)械制造與自動化,2014,43(01):138-140+147.
[3]劉舉平,余為清.基于GSM技術(shù)的智能家居遠(yuǎn)程控制器設(shè)計[J].微計算機(jī)信息,2010,26(11):45-46.
[4]翟亞芳,張?zhí)禊i,趙建周,李靜.基于STM32的家庭智能安防控制系統(tǒng)設(shè)計[J].黑龍江大學(xué)自然科學(xué)學(xué)報,2016,33(01):118-123.