劉彩迪,徐統嘉,劉立業,王瑤,任晨雨,商國旭
(赤峰學院,內蒙古赤峰, 024000)
隨著物聯網技術以及工業的發展,各式各樣的門鎖逐漸進入人們的視野,人們出于對家庭和財產的安全考慮,對門鎖的安全需求也越來越高。在日常生活中,人們每天進出家、汽車、車庫和辦公室甚至許多公共場所都必須和門鎖見面,經常會遇到忘帶鑰匙或意外丟失鑰匙的情況。而伴隨智能行業的發展,智能門鎖逐漸走進家庭用戶,通過多種方式進行開鎖,為日常生活提供了很多便利。
本設計的核心處理器為STM32單片機,總體結構如圖 1所示。硬件結構采用模塊化設計,該部分由8個模塊組成,分別是:指紋識別模塊、射頻感應模塊、語音播放模塊、藍牙模塊、顯示模塊、矩陣鍵盤、報警模塊和信息存儲模塊。

圖1 智能門鎖系統的總體結構圖
該模塊是基于AS608的指紋識別模塊,AS608指紋識別模塊是ALIENTEK推出的一款高性能的光學指紋識別模塊。AS608模塊內置 DSP運算單元,集成了指紋識別算法能高效、快速采集圖像并識別指紋特征。模塊配備了串口、USB 通信接口,用戶只需通過簡單的串口、USB 按照通信協議便可控制模塊。模塊接口采用 8 芯 1.25 mm 間距單排插座,模塊內置手指探測電路,用戶可讀取狀態引腳(WAK)判斷有無手指按下。
該模塊是基于MFRC522的射頻感應模塊。采用7芯1.25mm間距單排插座,使用SPI接口進行通信。
MFRC522是應用于13.56MHz非接觸式通信中高集成度地讀寫卡芯,系統通過與MFRC522連接的天線和IC卡線圈產生共振來傳遞數據,從而完成模塊與卡間的通訊。MFRC522根據寄存器的設置來調制發送緩沖區數據進而得到發送信號,以TX1、TX2引腳驅動天線產生電磁波的形式發送,IC卡采用RF場的負載調制進行響應。同時天線檢測到IC卡的響應信號后,經過天線匹配傳送到RX引腳,MFRC522內部接收緩沖器對其信號進行檢測、解調,并根據寄存器的設置進行相應處理,再將其數據發送至單片機。

圖2 射頻感應模塊電路圖
該模塊采用ISD公司的ISD4004。 該語音器件采用多電平直接模擬存儲專利技術,聲音無需經A/D轉換和壓縮,每個采樣值直接存儲在片內的閃爍存儲器中,從而避免一般固體錄音電路量化和壓縮造成的量化噪聲和金屬聲。圖3為語音播放原理電路。 語音輸入通過話筒(MIC)直接與ISD4004的引腳IN+、IN-連接差分驅動輸入。語音輸出端則是通過LM386放大后連接到電臺的語音輸出端。 系統采用鍵控分段錄放音模式。 通過錄音鍵可錄制10段不同的語音,每段錄音對應鍵盤上一個按鍵,根據所接收到的語音信號,通過10個按鍵可播放不同的語音,使用方便、靈活。

圖3 語音播報模塊電路圖
該模塊是基于BT08B的藍牙模塊,它是專為智能無線數據傳輸而打造的,遵循 V2.1+EDR藍牙規范。本模塊內置 PCB 射頻天線,支持UART接口和SPP藍牙串口協議。該模塊可通過藍牙將智能門鎖與手機連接,不僅可以實現設置和管理智能門鎖,還可以實現手機端遙控開鎖。
為了使密碼鎖的密碼顯示效果更加人性化,便于操作,該模塊采用SPI觸摸顯示屏,它的控制芯片是ILI9488。背光使用一個三極管驅動,最大支持解析度為:HVGA,分辨率為480×320,接口可以為8位或者16位并口,我們這里是使用16位并口,以發揮STM32的優勢。
系統開機后,顯示器一直處于初始狀態,等待密碼的輸入。當對密碼鎖進行開鎖操作時,按下鍵盤上的數字鍵“0”~“9”來進行密碼的輸入。每按下一個數字鍵后,會在顯示器上顯示一個“*”字符,這是為了保護密碼,輸入多少位就會顯示多少個“*”。當密碼輸入完成以后,接著按下確認鍵。如果輸入的密碼正確,SPI顯示屏顯示“密碼正確”;否則,會顯示“密碼錯誤”。
主程序對模塊進行初始化后跳轉到顯示運行界面,用戶通過矩陣鍵盤進行密碼輸入,此時單片機對存儲的密碼和輸入密碼進行匹配,若匹配成功,單片機電路中的控制引腳改變為低電平信號,促使繼電器吸合,進而使得門鎖打開;與之相反,若匹配失敗,則需重新輸入密碼。若連續三次匹配錯誤,單片機的控制引腳變為高電平,進而連通報警電路,使得報警模塊發出警報聲。若輸入的密碼與管理員密碼匹配成功,在開鎖的同時也會進入管理員界面,可進行修改密碼、添加或者刪除指紋信息以及IC卡信息等操作。

圖4 密碼開鎖流程圖

圖5 指紋開鎖流程圖

圖6 刷卡開鎖流程圖

圖7 藍牙開鎖流程圖
同時,該智能門鎖還增加了虛偽密碼功能,虛位密碼作為一種智能防偷窺技術,其操作原理是在正確的開鎖密碼前后輸入任意多位數字,只要中間有連續正確的密碼,就能解鎖開門。簡單來說就是一個公式:任意數字+正確密碼+任意數字,這樣不僅能有效防止密碼被偷窺泄露,還能防止有心人通過殘留的指紋痕跡猜測密碼等情況發生,大大增強密碼的安全性。
主程序對模塊進行初始化后跳轉到顯示運行界面,用戶輸入指紋,此時單片機對存儲的指紋和輸入指紋進行匹配,若匹配成功,門鎖打開;與之相反,若匹配失敗,則需重新輸入指紋。若連續三次匹配錯誤,報警模塊發出警報聲。
主程序對模塊進行初始化后跳轉到顯示運行界面,用戶將IC卡貼近射頻模塊,射頻模塊讀取卡序列號,若序列號與程序設定一致,門鎖打開;與之相反,若不一致,則需重新輸入指紋。若連續三次匹配錯誤,報警模塊發出警報聲。
主程序對模塊進行初始化后跳轉到顯示運行界面,用戶打開手機APP,手機APP提示連接藍牙,若不連接,則終止步驟,解鎖失敗,并顯示“連接失敗”;若連接,則執行手機APP通過藍牙模塊調用主控芯片,實現開鎖。
本文設計的智能門鎖支持指紋、密碼、刷卡以及遙控四種方式進行開鎖,同時具有報警功能。我們可以通過SPI觸摸顯示屏顯示系統操作界面,進行修改密碼、添加或者刪除指紋信息以及IC卡信息等操作。相比于傳統的機械鎖,本文設計的智能門鎖更加的安全、便捷。相信智能門鎖未來的發展空間極大,普及率將會越來越高。