張 狄
南京信息工程大學(xué),江蘇 南京 210044
近年來,隨著社會(huì)科技的發(fā)展,各類科技產(chǎn)品出現(xiàn)在人們的生活中,給人們的生產(chǎn)生活帶來了極大的便利。例如,以往人們出門必須攜帶家中的鑰匙,放在身上有異物感,還要擔(dān)心是否會(huì)遺失,極為不便,在科技進(jìn)步的今天,人們的出行更加追求輕便,因此智能鎖的出現(xiàn)可以說是一種必然趨勢。雖然現(xiàn)在已經(jīng)存在更為高端的指紋鎖系統(tǒng),但指紋鎖具有一定的局限性。綜合便利與安全考慮,按鍵式鎖與指紋鎖構(gòu)成的一體智能鎖能夠更好地應(yīng)對現(xiàn)實(shí)情況?;诖耍恼略O(shè)計(jì)了一款基于STM32F103單片機(jī)的智能鎖。
該智能鎖使用的開發(fā)板以STM32F103ZET6作為MCU。該芯片具有64 kB SRAM、512 kB FLASH、2個(gè)基本定時(shí)器、4個(gè)通用定時(shí)器、2個(gè)高級定時(shí)器、2個(gè)DMA控制 器、3個(gè)SPI、2個(gè)IIC、5個(gè) 串口、CAN、3個(gè)12位ADC、12位DAC、SDIO接口、FSMC接口以及112個(gè)通用I/O接口。該開發(fā)板集低功耗、低電壓于一身,管腳資源豐富,同時(shí)保持高集成度且開發(fā)簡易,因此選用此開發(fā)板[1]。
STM32的普通I/O口模擬8080總線來控制TFT-LCD的顯示。TFT-LCD即薄膜晶體管液晶顯示器,又被稱為真彩液晶顯示器。TFT-LCD與無源 TN-LCD、STN-LCD的簡單矩陣不同,其在液晶顯示屏的每一個(gè)像素上都設(shè)置有一個(gè)薄膜晶體管(TFT),可有效地克服非選通時(shí)的串?dāng)_,使顯示液晶屏的靜態(tài)特性與掃描線數(shù)無關(guān),因此顯著提升了圖像質(zhì)量。該設(shè)計(jì)采用ILI9341型號3.2寸的TFT屏,擁有像素320×240的高分辨率,并能提供16位真彩顯示,采用16 位的并行方式與外部連接,原因是8位數(shù)據(jù)線會(huì)比16位方式慢1倍以上,而傳輸速度越快越好。
YH-AS608是野火設(shè)計(jì)的高性能光學(xué)指紋識別模塊。該設(shè)計(jì)采用杭州晟元芯片技術(shù)有限公司AS60x高性能指紋識別芯片,芯片內(nèi)置DSP運(yùn)算單元并集成了先進(jìn)的指紋識別算法,具有較高識別精度。模塊內(nèi)部內(nèi)置了手指探測電路,用戶可讀取狀態(tài)引腳(TouchOut)判斷有無手指按下。另外,模塊是通過串口通信向單片機(jī)系統(tǒng)和計(jì)算機(jī)輸出指紋識別信息的,使用簡單方便。YH-AS608指紋識別模塊性能穩(wěn)定,模塊配備了串口通信接口,由于是內(nèi)置算法處理程序,用戶不需要深入了解算法處理原理。只需按照模塊既定的通信協(xié)議,通過串口向模塊發(fā)送指令,即可對指紋模塊進(jìn)行控制和操作。
智能鎖的各個(gè)組成部分主要包括門鎖控制芯片STM32F103ZET6、矩陣鍵盤、TFT-LCD模塊、AS608指紋識別模塊、蜂鳴器、LED燈等。通過TFT-LCD模塊的液晶屏進(jìn)行人機(jī)交互;矩陣鍵盤進(jìn)行按鍵密碼的輸入修改等操作;AS608指紋識別模塊進(jìn)行指紋獲??;門鎖控制芯片STM32F103ZET6進(jìn)行系統(tǒng)控制與處理;蜂鳴器進(jìn)行報(bào)警;LED燈直觀顯示上鎖狀態(tài)。該系統(tǒng)結(jié)構(gòu)框圖如圖1所示[2]。
圖1 智能鎖系統(tǒng)結(jié)構(gòu)框圖
智能鎖的密碼鎖部分主要包括4種工作狀態(tài):已上鎖狀態(tài)、解鎖中(輸入密碼)狀態(tài)、已解鎖狀態(tài)、修改密碼狀態(tài)。通過主控芯片掃描矩陣鍵盤的按鍵,即可進(jìn)入對應(yīng)狀態(tài)完成相應(yīng)功能。
智能鎖初始狀態(tài)為已上鎖狀態(tài)。在此狀態(tài)下,只在屏幕居中位置顯示當(dāng)前狀態(tài)“Current State:Locked”。除了“解鎖”按鍵與指紋檢索,其余操作皆無效。初始密碼設(shè)定為1234,通過LED燈亮顯示已上鎖狀態(tài)[3]。
按下“解鎖”按鍵后,進(jìn)入密碼輸入界面。該狀態(tài)下,屏幕居中位置顯示當(dāng)前狀態(tài)“Current State:Logging”,以及實(shí)時(shí)顯示已輸入的密碼。通過按鍵輸入四位密碼,輸入時(shí)可通過“刪除”按鍵刪除上一位輸入錯(cuò)誤的密碼。輸入完成后再次按下“解鎖”按鍵即為確定,系統(tǒng)進(jìn)行密碼檢測,檢測失敗則顯示“Wrong Password!”持續(xù)2 s并回到已上鎖狀態(tài);密碼正確則顯示“Right Password!”持續(xù)2 s并進(jìn)入已解鎖狀態(tài),通過LED燈滅顯示已解鎖狀態(tài)。解鎖時(shí)由主控芯片進(jìn)行計(jì)數(shù),若密碼連續(xù)輸錯(cuò)5次則通過蜂鳴器報(bào)警15 s。
已解鎖狀態(tài)下僅在屏幕居中位置顯示當(dāng)前狀態(tài)“Current State:Unlocked”。在已解鎖狀態(tài)下按“改密碼”按鍵可以進(jìn)入修改密碼狀態(tài)。屏幕居中位置顯示當(dāng)前狀態(tài)“Current State:Changing Password”,以及實(shí)時(shí)顯示已輸入的密碼。在該狀態(tài)下,按鍵功能與輸入密碼時(shí)相同,再次按下“改密碼”按鍵即為確定修改。若密碼大于或不足4位則更改失敗。同時(shí),可通過“上鎖”按鍵退出該狀態(tài)并直接上鎖,成功更改密碼后也會(huì)自動(dòng)上鎖進(jìn)入已上鎖狀態(tài)。
指紋檢索驗(yàn)證的流程主要使用了獲取指紋圖像、生成指紋模板、搜索指紋模板庫、指紋模板比對等指令。
首先,需要獲取按壓在指紋模塊上用戶的指紋圖像,進(jìn)而通過圖像來生成指紋特征值。其次,對指紋庫進(jìn)行遍歷搜索,利用剛生成好的特征值與指紋庫內(nèi)的指紋模板進(jìn)行對比。模板比對成功就完成這個(gè)指紋檢索的流程,若比對失敗則繼續(xù)與指紋庫內(nèi)的下一個(gè)指紋模板進(jìn)行比對。
主控芯片會(huì)根據(jù)指紋模塊提供的指紋模板儲(chǔ)存數(shù)量生成比對次數(shù)上限,使檢索比對的次數(shù)不會(huì)超過指紋模板的記錄數(shù)。若在規(guī)定的5次比對次數(shù)內(nèi)模板均未匹配成功,則指紋檢索失敗,向TFT-LCD屏輸出失敗信息的同時(shí)結(jié)束指紋檢索流程,且通過蜂鳴器報(bào)警15 s。
按鍵部分采用4×4的矩陣鍵盤,對應(yīng)按鍵的功能名稱如圖2所示。
圖2 矩陣鍵盤名稱圖
圖2中,A為改密碼/確定,B為刪除,C為登錄/確定,D為上鎖,“*”與“#”按鍵作為保留可供擴(kuò)展。
在LCD的庫函數(shù)中找到Show_Str(u16 x,u16 y,u16 fc,u16 bc,u8 *str,u8 size,u8 mode)函數(shù),通過更改各參數(shù)可以改變顯示:x、y 更改起點(diǎn)坐標(biāo),fc更改前置畫筆顏色,bc更改背景顏色,str為所需顯示的字符串,size更改字體大小,mode更改顯示模式:0為填充模式,1為疊加模式。
該設(shè)計(jì)中所需顯示的內(nèi)容如下:
已上鎖狀態(tài)下,只在屏幕居中位置顯示當(dāng)前狀態(tài)“Current State:Locked”。
解鎖中狀態(tài)下,屏幕居中位置顯示當(dāng)前狀態(tài)“Current State:Logging”,以及實(shí)時(shí)顯示已輸入的密碼。
密碼錯(cuò)誤時(shí)顯示“Wrong Password!”持續(xù)2 s,并返回到已上鎖狀態(tài)下的顯示。
密碼正確時(shí)顯示“Right Password!”持續(xù)2 s,并進(jìn)入已解鎖狀態(tài)下的顯示。
已解鎖狀態(tài)下僅在屏幕居中位置顯示當(dāng)前狀態(tài)“Current State:Unlocked”。
在修改密碼狀態(tài)下屏幕居中位置顯示當(dāng)前狀態(tài)“Current State:Changing Password”,以及實(shí)時(shí)顯示已輸入的密碼。
文章結(jié)合智能鎖的實(shí)際需求,以嵌入式技術(shù)為基礎(chǔ),以STM32F103ZET6為主控芯片,結(jié)合矩陣鍵盤、TFTLCD模塊、AS608指紋識別模塊、蜂鳴器等,設(shè)計(jì)了一款智能門鎖系統(tǒng)。后續(xù)的發(fā)展可以考慮采用國產(chǎn)的低功耗主控芯片;采用無線傳播技術(shù)藍(lán)牙或者Wi-Fi,設(shè)計(jì)遠(yuǎn)程控制功能,實(shí)現(xiàn)物聯(lián)網(wǎng)功能;優(yōu)化人機(jī)交互界面,使得界面更加美觀友好。相信在未來,智能門鎖會(huì)成為智能家居系統(tǒng)中的一部分,讓智能家居走入千家萬戶。