郭茁蓬,簡正波,向富平,祝秋香
(湖南城市學(xué)院信息與電子工程學(xué)院,湖南益陽 413000)
隨著社會(huì)的進(jìn)步與科技的發(fā)展,傳統(tǒng)的個(gè)人認(rèn)證方法(如密碼、磁卡等)存在可以被偽造、被盜用等問題,不能充分適應(yīng)現(xiàn)代社會(huì)對(duì)安保預(yù)防工作的要求。因此隨著科技的發(fā)展,生物特征因?yàn)槠涔逃械莫?dú)特性、唯一性、穩(wěn)定性、恒久性以及可采集性[1]。于是有了一種新的認(rèn)證方式——生物識(shí)別技術(shù)。生物識(shí)別技術(shù)發(fā)展迅速,指紋識(shí)別逐漸代替鑰匙應(yīng)用于門鎖安防,目前我國指紋識(shí)別技術(shù)相對(duì)成熟、成本低廉[2]。射頻識(shí)別RFID 技術(shù)是一種非接觸式自動(dòng)識(shí)別技術(shù),與傳統(tǒng)識(shí)別技術(shù)相比,RFID 技術(shù)具有非接觸、速度快、穿透力強(qiáng)等優(yōu)點(diǎn)[3]。對(duì)于微控制器芯片想要實(shí)現(xiàn)復(fù)雜的識(shí)別和大量的計(jì)算是很難實(shí)現(xiàn)的,但是可以通過無線Wi-Fi 將數(shù)據(jù)傳輸給計(jì)算機(jī)識(shí)別運(yùn)算算法,再將算法結(jié)果通過無線網(wǎng)絡(luò)傳輸?shù)轿⒖刂破鳎詈笤僮龀鰶Q策[4]。綜上所述該設(shè)計(jì)結(jié)合目前國內(nèi)所得的研究成果,在他們的基礎(chǔ)上制作了一款指紋密碼射頻鎖Wi-Fi 控制系統(tǒng)設(shè)計(jì)。測試結(jié)果表明該設(shè)計(jì)實(shí)現(xiàn)了指紋密碼解鎖,門禁卡解鎖以及Wi-Fi 遠(yuǎn)程控制解鎖等功能,具有較高的安全性和精確度。
以32位單片機(jī)為中心,STM32是一款在低能耗嵌入式應(yīng)用中占有舉足輕重地位的低功率單片機(jī)。STM32 處理能力強(qiáng),速度快,穩(wěn)定性好;具有超低功耗,多種接口,可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)。該模塊是一塊主要的控制單元,主要承擔(dān)著對(duì)系統(tǒng)整體運(yùn)行的控制、對(duì)數(shù)據(jù)進(jìn)行處理、分析等功能。
系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。

圖1 系統(tǒng)總體框架
1)硬件電路總原理圖
如圖2便是本次畢業(yè)設(shè)計(jì)使用到的硬件的總電路圖,其中包括了所有的模塊的電路原理圖,例如:STM32核心模塊、按鍵模塊、指紋模塊、射頻模塊以及Wi-Fi遠(yuǎn)程控制模塊。

圖2 硬件電路總原理圖
2)STM32F103C8T6單片機(jī)核心控制模塊
STM32 系列的芯片是一款以ARM 為核心控制的芯片,它是由ST集團(tuán)制造,它具有實(shí)時(shí)模擬與追蹤功能。之所以使用這款控制芯片,是由于本系統(tǒng)設(shè)計(jì)并不單單為了達(dá)到本設(shè)計(jì)的最低能耗,它只是為了在完成本設(shè)計(jì)的功能的基礎(chǔ)上,可以使用更多的界面以及功能,方便設(shè)計(jì)出更多的周邊擴(kuò)展電路。在完成了對(duì)STM32單片機(jī)課程的了解之后,這款單片機(jī)控制芯片的操作變得比較簡單,它在各種電子設(shè)備中有著非常好的使用價(jià)值,并且它還擁有良好的學(xué)習(xí)和實(shí)驗(yàn)研究價(jià)值。
STM32 的主要優(yōu)點(diǎn):使用ARM 最新的內(nèi)核;優(yōu)異的實(shí)時(shí)性能;杰出的功耗控制;出眾及創(chuàng)新的外設(shè);最大程度的集成整合;易于開發(fā)。該設(shè)計(jì)的所有的插腳和外圍設(shè)備以及軟件都具有非常強(qiáng)大的兼容性,為設(shè)計(jì)提供了很大的靈活性。
STM32F103C8T6 單片機(jī)最小系統(tǒng)原理圖如圖3所示。

圖3 STM32F103C8T6單片機(jī)最小系統(tǒng)原理圖
3)指紋模塊
以STM32F103C8T6為主控芯片,由AS608指紋模塊識(shí)別和存儲(chǔ)采集到的指紋信息,由STM32主控制程序處理指紋信息,最后將處理結(jié)果傳送到OLED 液晶屏幕顯示[5]。它是基于全反射原理的亮背景指紋采集工作原理。光學(xué)通過LED 燈射出,經(jīng)過手指按壓,光線反射通過透鏡進(jìn)入傳感器,最后被傳感器識(shí)別[6]。采集原理圖如圖4所示。AS608指紋模塊的原理圖如圖5所示。

圖4 指紋采集原理圖

圖5 AS608指紋模塊原理圖
4)射頻模塊
由RC522 射頻模塊識(shí)別和存儲(chǔ)采集到的門禁卡信息,STM32 主控程序處理信息后將結(jié)果傳送至OLED 顯示屏上。RFID 技術(shù)是物聯(lián)網(wǎng)得以實(shí)現(xiàn)的關(guān)鍵部分,主要表現(xiàn)為無線射頻技術(shù)不再需要和物體之間建立硬性連接,就可以實(shí)現(xiàn)各個(gè)物體之間的信息交流[7]。RC522射頻模塊的原理圖如圖6所示。

圖6 射頻模塊原理圖
5)Wi-Fi模塊
本設(shè)計(jì)應(yīng)用STM32 單片機(jī)和ESP8266 Wi-Fi 模塊設(shè)計(jì)了遠(yuǎn)程解鎖控制系統(tǒng)[8]。利用PC 端的Wi-Fi 串口通信向系統(tǒng)發(fā)送指令,STM32主控制器根據(jù)接收到的指令對(duì)系統(tǒng)進(jìn)行操作[9]。ESP8266 Wi-Fi 模塊的原理圖如圖7所示。

圖7 Wi-Fi模塊原理圖
在該方案中,MCU 的開發(fā)環(huán)境是KEIL,KEIL 是51系列MCU的C語言,由美國KEIL SOFTWARE公司生產(chǎn),與匯編程序比較,C語言在功能、結(jié)構(gòu)和可讀性等方面都有很大優(yōu)勢(shì);在可維護(hù)性方面具有十分顯著的優(yōu)點(diǎn),因此C語言更加便于學(xué)和用。KEIL的用途是可以用來進(jìn)行C 語言的編譯和宏匯編等其他特別厲害的用途,一套完備的發(fā)展計(jì)劃,包括圖書館的管理,一個(gè)強(qiáng)有力的模擬調(diào)試器,等等,并把它們整合到一個(gè)整合的開發(fā)環(huán)境中(MUVISION)。要想使用這個(gè)系統(tǒng),就必須使用Win98、NT、Win2000;像WinXP 這樣的作業(yè)系統(tǒng)。用C 語言進(jìn)行程序設(shè)計(jì)時(shí),KEIL 將是您的最佳選擇,即便您只用它來進(jìn)行匯編,那么它的集成環(huán)境,功能強(qiáng)大的軟件模擬和調(diào)試軟件同樣將使您的工作變得更加輕松容易和簡單。在這些特征中,基爾的特征如下:
KEIL 軟件對(duì)WinXP、Win7 等多個(gè)操作系統(tǒng)都有很好的支援,并具有很強(qiáng)的程式設(shè)計(jì)能力。
FLYMCU 是一個(gè)非常簡單實(shí)用的STM32 燒錄程序,他可以將程序燒錄至STM32 單片機(jī),它廣泛地用于電子專業(yè)的單片機(jī)開發(fā)人員學(xué)習(xí)。這個(gè)軟件在電路編程(ICP)與應(yīng)用編程(IAP)中經(jīng)常被拿出來使用在該設(shè)計(jì)中,具有很大的用途。它不僅支持C語言的編程與編譯,它還支持系統(tǒng)的校驗(yàn)和對(duì)器件信息的讀取功能。
MCU的程序可以由一個(gè)下載機(jī)(例如:CH340)來下載。首先將單片機(jī)開發(fā)板、下載器和個(gè)人電腦都連接好了之后,然后在軟件當(dāng)中選定一個(gè)串口令,再選定一個(gè)名為“HEX”的工程程序,再點(diǎn)開“P”鍵,便可下載此程序。
該設(shè)計(jì)的主程序流程圖如圖8所示。

圖8 主程序流程圖
當(dāng)OLED顯示屏上第一行顯示字樣為FINGER時(shí)代表當(dāng)前為指紋驗(yàn)證模式。當(dāng)指紋驗(yàn)證成功時(shí),綠色的LED 指示燈會(huì)亮起,提示已通過驗(yàn)證解鎖完成,同時(shí)OLED 顯示屏右下角會(huì)顯示出OK 的字樣,表示已完成解鎖,正如圖9(a)所示。當(dāng)指紋驗(yàn)證失敗時(shí),紅色的LED 指示燈會(huì)亮起,提示未通過驗(yàn)證未完成解鎖,同時(shí)OLED顯示屏右下角會(huì)顯示出ERR的字樣,表示解鎖失敗,并且此時(shí)蜂鳴器會(huì)發(fā)出刺耳的警報(bào)聲,如圖9(b)所示。

圖9 指紋驗(yàn)證測試圖
當(dāng)OLED 顯示屏上第一行顯示字樣為KEY 時(shí)代表當(dāng)前為密碼驗(yàn)證模式。當(dāng)密碼驗(yàn)證成功時(shí),綠色的LED 指示燈會(huì)亮起,提示已通過驗(yàn)證解鎖完成,同時(shí)OLED顯示屏右下角會(huì)顯示出OK的字樣,表示已完成解鎖,正如圖10(a)示。當(dāng)密碼驗(yàn)證失敗時(shí),紅色的LED 指示燈會(huì)亮起,提示未通過驗(yàn)證未完成解鎖,同時(shí)OLED顯示屏右下角會(huì)顯示出ERR的字樣,表示解鎖失敗,并且此時(shí)蜂鳴器會(huì)發(fā)出刺耳的警報(bào)聲,如圖10(b)所示。

圖10 密碼驗(yàn)證測試圖
當(dāng)OLED 顯示屏上第一行顯示字樣為RFID 時(shí)代表當(dāng)前為門禁卡驗(yàn)證模式。當(dāng)門禁卡驗(yàn)證成功時(shí),綠色的LED 指示燈會(huì)亮起,提示已通過驗(yàn)證解鎖完成,同時(shí)OLED 顯示屏右下角會(huì)顯示出OK 的字樣,表示已完成解鎖,正如圖11(a)所示。當(dāng)門禁卡驗(yàn)證失敗時(shí),紅色的LED 指示燈會(huì)亮起,提示未通過驗(yàn)證未完成解鎖,同時(shí)OLED顯示屏右下角會(huì)顯示出ERR的字樣,表示解鎖失敗,并且此時(shí)蜂鳴器會(huì)發(fā)出刺耳的警報(bào)聲,如圖11(b)所示。

圖11 門禁卡驗(yàn)證測試圖
通過手機(jī)特定軟件輸入該系統(tǒng)設(shè)計(jì)的唯一API和ID之后即可遠(yuǎn)程控制該系統(tǒng)設(shè)計(jì)的解鎖功能,當(dāng)系統(tǒng)未解鎖時(shí),手機(jī)App上顯示門狀態(tài)為0,如圖12(a)所示,當(dāng)系統(tǒng)解鎖時(shí)。手機(jī)App上顯示門狀態(tài)為1,如圖12(b)所示。可以在OLED 顯示屏上顯示為任意解鎖模式時(shí)都能通過此方式打開。按下打開按鍵,此時(shí)該設(shè)計(jì)的綠色LED指示燈會(huì)亮起,提示已通過驗(yàn)證解鎖完成,同時(shí)OLED顯示屏右下角會(huì)顯示出OK的字樣,表示已完成解鎖,正如圖12(c)所示。

圖12 解鎖功能測試圖
綜上所述,由STM32F103C8T6 主控芯片、按鍵模塊、指紋模塊、射頻模塊和Wi-Fi 模塊及其他輔助電路組成了一款多重驗(yàn)證、用戶權(quán)限分級(jí)的指紋密碼射頻鎖Wi-Fi 控制系統(tǒng)設(shè)計(jì)。該系統(tǒng)在指紋密碼解鎖方式的基礎(chǔ)上,添加了射頻解鎖以及手機(jī)遠(yuǎn)程控制解鎖功能,提高了單一指紋解鎖的多樣性以及安全性,該系統(tǒng)還設(shè)置了一個(gè)管理員密碼,可以通過該密碼來完成對(duì)整個(gè)門鎖的設(shè)置與控制,為降低錯(cuò)誤率,在該系統(tǒng)中,指紋模塊使用的是光學(xué)采集技術(shù),使用狀態(tài)機(jī)的方式,對(duì)其進(jìn)行指紋匹配步驟的檢測。此外,解鎖指紋是利用兩次指紋輸入,來提高所獲取指紋的可靠性與系統(tǒng)的安全性。試驗(yàn)結(jié)果顯示,相較于傳統(tǒng)門鎖,其在解鎖的安全性、多樣性和使用的舒適性上都有一定程度的提高。