青島理工大學信息與控制工程學院 林 寧 徐 珂 秦立峰
隨著科學技術的飛速發展,傳統防盜門的安全性越來越脆弱,而以指紋識別技術為基礎的智能安全門發展迅速。指紋門禁以手指取代傳統的鑰匙,使用時只需將手指平放在指紋采集模塊的采集窗口上,即可完成開鎖任務,操作十分簡便,避免了其它門禁系統(傳統機械鎖、密碼鎖、識別卡等)有可能被偽造、盜用、遺忘、破譯等弊端[1]。本文以STM32做主控制器,將GSM遠程控制與指紋識別有機結合,設計出一個實用的智慧門禁系統。
指紋門禁系統硬件由主控制器、電源模塊、指紋采集模塊、繼電器、電磁鎖、GSM模塊、矩陣鍵盤、顯示模塊、信息存儲模塊等部分組成。電源經5V穩壓模塊后給STM32單片機和指紋采集模塊、繼電器等供電;指紋采集模塊負責采集指紋特征信息,并在現有指紋庫里進行逐一比對;繼電器的作用就是根據單片機的低壓控制信號去控制12V電磁鎖回路的導通和關斷,從而實現上鎖和解鎖,門禁硬件結構如圖1所示。

圖1 指紋門禁硬件結構
本系統采用ATK-AS608指紋識別模塊,通過提取指紋上的特征點來記錄指紋信息,其內置DSP運算單元,集成了指紋識別算法,能高效快速采集圖像并識別指紋特征。控制器與模塊之間采用簡單的數據傳輸協議進行串口通訊,系統上電后,先確認與模塊之間通信正常,并交換指紋庫容量、對比等級等一些必要信息,當控制器需要指紋信息或者人員錄、刷、刪指紋的時候,控制器通過串口發送命令,指紋模塊就會執行相應操作;當指紋模塊向主控制器發送信息的時候,主控制器開始計時,若超過10ms未接收到數據后,認為本次數據傳輸結束。
利用12864液晶顯示屏和4*4矩陣按鍵,組成一個人機交互界面,矩陣按鍵采用循環掃描的工作方式,每個按鍵的功能不同:0-9的數字按鍵用于輸入管理員密碼和指紋ID號等,還有菜單鍵、返回鍵、確認鍵、上翻鍵、下翻鍵來幫助選擇所需要的操作。顯示屏則根據按鍵的輸入,顯示一些可操作的選項、指紋匹配信息以及人員出入信息。
為實現遠程操作和安全報警,我們采用GSM模塊。控制器通過AT指令控制插有手機卡的GSM模塊[2],便可以實現中英文短信發送、遠程電話、彩信等功能[3],我們預先在程序里寫入管理員手機號,當有人多次刷指紋失敗后,控制器通過GSM模塊向管理員手機發送“陌生人來訪”短信,管理員可向GSM撥打遠程電話直接與來訪者進行對話;在電磁鎖鎖槽放置一壓力傳感器,控制器檢測壓力傳感器的壓力大小來確定門鎖是否鎖好,若主人忘記關門或有人非法闖入,啟動蜂鳴器報警和GSM短信報警;另外,管理員出差時還可通過手機短信的方式控制門禁上鎖、開鎖、查詢最近幾天的訪客記錄。
由于管理員密碼、出入人員信息需要斷電后依然保存,且占用內存空間大、可人為修改,所以將這些信息存在W25Q64芯片中,該芯片是一款64MB的大容量SPI-FLASH產品,擦寫次數多達10W次,具有20年的數據保存期限,最大SPI時鐘可以達到80Mhz,容量和存取速度都能滿足一般家庭的使用。我們調用STM32的FLASH操作程序和內存管理程序,按照SPI通信標準,對W25Q64的內存進行操作,來修改管理員密碼和給出入人員信息分配內存空間。
系統上電后默認為訪客模式,在該模式下,只能進行刷指紋操作,指紋匹配成功即可完成開鎖;按下菜單鍵,管理員密碼輸入正確后,即進入管理員界面;若管理員密碼連續3次輸入錯誤,控制器通過GSM模塊向管理員手機發送安全報警信息。管理員密碼為六位數字,我們考慮到輸入管理員密碼的時候,周圍有朋友、同事沒有回避,管理員礙于情面又不得不輸入的情況,此時管理員可連續輸入十幾位甚至幾十位密碼,按下確定鍵后,只要這一串數字中的連續六位是正確密碼,也可完成開鎖。
進入管理員界面后,可選擇的功能有錄指紋、刷指紋、刪指紋、查詢出入人員記錄、設置指紋存儲上限、人員門禁分配。軟件系統先把各個功能的實現寫好,并封裝成函數庫,然后在主函數里邊調用封裝好的函數搭建程序結構。
選擇錄指紋功能之后,顯示屏提示“請按下指紋”,若指紋采集成功,則再次按下指紋確認,否則提示“錄入指紋失敗,請重新按下指紋”;兩次指紋對比一致后,會生成指紋模板,通過按鍵輸入指紋ID等信息后,指紋錄入成功。刷指紋操作只需將手指按在指紋采集模塊上面,指紋采集成功后,若與指紋庫里模板對比成功,即可進行開鎖。刪除指紋需要輸入指紋ID號,再次確認刪除后即可刪除對應指紋。
系統配置有RTC實時時鐘,它的本質是一個定時器,可以實現時間日歷的功能。每次有人員刷指紋進出時,系統根據系統時間和指紋庫信息自動生成人員名稱、人員來訪時間、人員來訪次數等信息[4],并存儲在W25Q64已開辟的內存空間里,管理員查詢時,信息會以表格的形式在顯示屏上顯示,當內存占滿后,系統按照“先入先出”的順序把最早存儲的信息刪除,以得到空間存儲新的信息。

圖2 GSM功能測試
程序上電后,電磁鎖自動上鎖。按下菜單鍵進入管理員模式,輸入管理員密碼,選擇錄指紋選項,按照顯示屏的提示信息進行錄指紋操作,錄指紋成功之后,輸入指紋ID對指紋進行編號。返回菜單界面,選擇刷指紋選項,手指按在指紋模塊上,指紋匹配成功后,顯示屏顯示匹配成功的指紋ID,電磁鎖打開。再次返回菜單界面,選擇修改管理員密碼,輸入修改后的密碼并確認后,再次輸入修改后的密碼,兩次密碼一致時,密碼修改成功。為安全起見,在管理員界面30s內不進行任何操作時,系統自動退出管理員界面。經測試,GSM模塊短信報警、遠程操作以及出入信息查詢等功能均可實現,測試結果如圖2所示。
本系統以STM32單片機為控制核心,結合指紋識別模塊、GSM模塊以及人機交互模塊等主要功能模塊,除完成指紋開鎖外,還具備安全報警、遠程操作、統計訪客信息等功能,克服了傳統門禁功能單一的缺陷,提高了門禁系統的安全性和實用性,可廣泛應用于家庭、企業的安防系統中。
[1]姜日凡.基于STM32單片機和GSM技術的門禁控制系統[J].大連工業大學學報,2015,34(02):141-143.
[2]巢玉江,袁紅兵,馮鋒.基于ZigBee與GSM技術的智能家居安防系統設計[J].機械制造與自動化,2014,43(01):138-140+147.
[3]劉舉平,余為清.基于GSM技術的智能家居遠程控制器設計[J].微計算機信息,2010,26(11):45-46.
[4]翟亞芳,張天鵬,趙建周,李靜.基于STM32的家庭智能安防控制系統設計[J].黑龍江大學自然科學學報,2016,33(01):118-123.