馮郅皓 嚴(yán)李強(qiáng) 潘旭
摘 ?要: 針對智能門鎖使用距離較短、指紋解鎖易被盜取和功耗較大等問題,文章設(shè)計(jì)了以網(wǎng)絡(luò)為數(shù)據(jù)傳輸途徑,雙重半虛擬指紋驗(yàn)證和密碼驗(yàn)證為開鎖方式的智能門鎖控制系統(tǒng),門控芯片選擇STM32F103C8T6、無線通信模塊選擇ESP8266、指紋識別模塊選擇ZN632,和以ULN2004L作為步進(jìn)電機(jī)的驅(qū)動(dòng)電路等,實(shí)現(xiàn)了擁有本地和遠(yuǎn)程兩種方式控制的智能門鎖控制系統(tǒng)。經(jīng)過試驗(yàn)表明,該設(shè)計(jì)不僅使用成本低、易安裝,還擁有較好的防盜系統(tǒng)。同時(shí)解決了現(xiàn)有智能門鎖使用距離短和指紋開鎖易損壞、易被竊取指紋和識別不靈敏等弊端。
關(guān)鍵詞: 智能門鎖;網(wǎng)絡(luò);指紋驗(yàn)證;遠(yuǎn)程控制;STM32
中圖分類號: TU89;TP368.1 ? ?文獻(xiàn)標(biāo)識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.01.001
本文著錄格式:馮郅皓,嚴(yán)李強(qiáng),潘旭,等. 基于雙重指紋的無線智能門鎖系統(tǒng)設(shè)計(jì)[J]. 軟件,2020,41(01):0106
【Abstract】: Aiming at the shortage of intelligent door lock, the problem of fingerprint unlocking which is easy to be stolen and consumes a lot of power, etc. This paper designs a smart door lock control system with network as the data transmission path, double semi-virtual fingerprint verification and password verification as unlocking mode. The gate chip selects STM32F103C8T6, the wireless communication module selects ESP8266, the fingerprint identification module selects ZN632, and the ULN2004L is used as the driving circuit of the stepping motor, etc., realizing the intelligent door lock control system with local and remote control. Tests show that this design not only achieves the expected design effect, but also has a better anti-theft system, At the same time, it solves the shortcomings of the existing intelligent lock, such as using in a short distance and fingerprint opening, which are easily damaged, easy to be stolen and insensitive to fingerprint identification.
【Key words】: Intelligent door lock; Network; Fingerprint verification; Remote control; STM32
0 ?引言
近幾年, 隨著電子信息技術(shù)、通信技術(shù)和自動(dòng)化技術(shù)的飛速發(fā)展, 加速了物聯(lián)網(wǎng)行業(yè)的技術(shù)發(fā)展[1],智能鎖經(jīng)歷了由電子鎖到單機(jī)智能鎖在到現(xiàn)在較流行的無線互聯(lián)智能鎖的巨大變遷[2]。研究數(shù)據(jù)表示,2017年我國智能家居市場規(guī)??蛇_(dá)980億,2021年則將成長到4369億元[3]。而智能鎖在智能家居產(chǎn)品中占據(jù)很大的比重,同樣擁有著非??捎^的潛在市場。
當(dāng)前人們生活中大都還是使用鑰匙開鎖,這樣出門時(shí)常要帶鑰匙,有時(shí)鑰匙丟了還要配上相應(yīng)的鑰匙,非常不方便[4]。同時(shí),隨著科學(xué)技術(shù)和生活水平的提高,人們的安防意識也在不斷提升,傳統(tǒng)機(jī)械鎖已經(jīng)不能滿足人們對于保護(hù)單位和家庭財(cái)產(chǎn)安全的需要[5]。現(xiàn)在普遍使用的智能門鎖包括密碼鎖、遙控鎖、磁控鎖和指紋鎖等,大多在商業(yè)領(lǐng)域應(yīng)用。據(jù)資料顯示,常見智能門鎖存在以下問題:①很多新型的開鎖方式,如磁卡感應(yīng),指紋開鎖,手機(jī)藍(lán)牙開鎖等,只是近距離開鎖,無法對門鎖實(shí)現(xiàn)遠(yuǎn)程控制;②指紋開鎖在受到發(fā)絲、金屬絲線、膠帶等干擾時(shí),均被打開;③每一次使用指紋時(shí)都會在指紋采集頭上留下用戶的指紋印痕,而這些指紋痕跡存在被用來復(fù)制指紋的可能性[6];④依靠藍(lán)牙控制門鎖的穩(wěn)定性較差,經(jīng)常出現(xiàn)數(shù)據(jù)丟失而不能開門的現(xiàn)象。
針對以上情況,文章提出了一種基于雙重指紋識別的無線智能門鎖控制系統(tǒng)的設(shè)計(jì)方案,其以WIFI作為無線通信的基礎(chǔ),用戶通過使用(Android)智能手機(jī)和平板電腦等移動(dòng)終端與門禁模塊進(jìn)行連接,使用移動(dòng)終端上的APP遠(yuǎn)程控制開、關(guān)鎖、查看設(shè)備使用記錄和設(shè)備剩余電量等。該控制系統(tǒng)具有使用成本低、易安裝等優(yōu)點(diǎn)。
1 ?系統(tǒng)總體方案
智能門鎖的控制系統(tǒng)包含三個(gè)方面:門禁模塊、移動(dòng)終端和路由器,系統(tǒng)的整體關(guān)系如圖1所示。門禁模塊主要用于管理用戶的安全進(jìn)出,使用三種高效和一種機(jī)械的開鎖方式,可以回傳數(shù)據(jù)給移動(dòng)終端并實(shí)時(shí)顯示門鎖的使用情況。移動(dòng)終端包含智能手機(jī)和平板電腦等,用戶能夠通過相應(yīng)的APP對門鎖進(jìn)行遠(yuǎn)程監(jiān)測與控制。路由器則負(fù)責(zé)保證智能門鎖的通信,根據(jù)信道的情況自動(dòng)選擇和設(shè)定路由,以最佳路徑,按前后順序發(fā)送信號??刂葡到y(tǒng)包含硬件部分和軟件部分。
2 ?系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)
2.1 ?系統(tǒng)硬件設(shè)計(jì)
根據(jù)人與手機(jī)的密切相關(guān),提出了以無線網(wǎng)絡(luò)的高移動(dòng)性[7]和生物特征的唯一性[8]為基礎(chǔ)的智能門鎖,采取智能門鎖嵌套鑰匙與手柄式的防盜門鎖搭配使用的方式。系統(tǒng)硬件設(shè)計(jì)主要是由門鎖控制器、無線通信模塊、指紋識別模塊、步進(jìn)電機(jī)驅(qū)動(dòng)模塊、步進(jìn)電機(jī)、電源模塊、蜂鳴器、液晶顯示模塊和傳統(tǒng)鎖芯凹槽組成。圖2為門禁系統(tǒng)的硬件結(jié)構(gòu)圖。門鎖控制器選擇STM32F103C8T6,具有穩(wěn)定性, 低功耗、低成本、程序模塊化的特點(diǎn)。其接口較為簡單。芯片內(nèi)部具有可編程FLASH存儲器, 具有最大的集成度復(fù)位電路、低電壓檢測、調(diào)壓器、精確的RC振蕩器等;簡單的結(jié)構(gòu)和易用的工具, 并且該款產(chǎn)品被眾多工業(yè)級別的嵌入式控制系統(tǒng)所采用, 為其提供高靈活性和高可靠的工作性能[9]。無線通信模塊選擇ESP8266,其使用3.3 V直流電源,具有超高集成度、超低功耗、體積小等特點(diǎn)[10]。ESP8266 SDK已經(jīng)包含了LWIP協(xié)議棧,Socket可以配置成TCP、UDP等傳輸方式,只需在應(yīng)用層調(diào)用相關(guān)的接口函數(shù)[11]就可以根據(jù)需求實(shí)現(xiàn)不同功能。指紋識別模塊主要完成房屋外側(cè)開門的驗(yàn)證,該模塊選擇ZN632半導(dǎo)體指紋識別,其與光學(xué)指紋識別相比較,有很高的識別率、圖像質(zhì)量高、防偽指紋能力強(qiáng)、抗靜電能力強(qiáng)、超薄體積等優(yōu)勢。
為了解決以藍(lán)牙為連接方式所存在傳輸距離短、連接不穩(wěn)定等弊端,硬件設(shè)計(jì)的通信模塊以WIFI模塊為基礎(chǔ),以便用戶能更好地進(jìn)行實(shí)時(shí)監(jiān)控和遠(yuǎn)程控制。用戶通過手機(jī)、平板電腦等移動(dòng)終端設(shè)備與固定終端上的WIFI模塊驗(yàn)證、連接后,在APP上下達(dá)指令,將指令發(fā)送到WIFI模塊,WIFI模塊將已接收到的信號傳遞給門控芯片,門控芯片將接收到的指令經(jīng)過處理后,傳遞給各個(gè)模塊,使各個(gè)模塊按照指令進(jìn)行工作。電機(jī)驅(qū)動(dòng)模塊接收到門控芯片發(fā)送的“開啟”或“關(guān)閉”等指令后,驅(qū)動(dòng)步進(jìn)電機(jī)旋轉(zhuǎn),從而達(dá)到開啟或關(guān)閉門鎖的目的。
對門鎖的控制方式有三種,如圖3所示。當(dāng)用戶使用APP開鎖時(shí),打開WIFI,輸入WIFI模塊上已設(shè)定的密碼,實(shí)現(xiàn)移動(dòng)終端與智能門鎖通信。使用智能手機(jī)上的指紋傳感器采集并驗(yàn)證指紋,驗(yàn)證成功后,WIFI模塊接收指令,門控芯片處理指令后根據(jù)指令控制電機(jī)旋轉(zhuǎn)。如果因?yàn)楦鞣N原因而不能使用指紋傳感器進(jìn)行驗(yàn)證識別,則可以在APP上輸入密碼進(jìn)行驗(yàn)證開鎖。當(dāng)使用固定終端上的指紋識別模塊進(jìn)行解鎖時(shí),由指紋識別模塊進(jìn)行識別、處理,并將處理后的信號傳遞給門控芯片。如果識別的結(jié)果為“成功”,門控芯片則將處理后的信號傳遞給電機(jī)驅(qū)動(dòng)模塊,控制電機(jī)旋轉(zhuǎn);而如果識別的結(jié)果為“失敗”,門控芯片則控制LED燈,使其連續(xù)閃爍3次。閃爍完成后,開始重新采集、驗(yàn)證指紋。
(1)防盜系統(tǒng)設(shè)計(jì)
本設(shè)計(jì)主要適用于配有執(zhí)手鎖等鎖型的防盜門。將裝置安裝在房屋內(nèi)側(cè),外側(cè)門鎖與普通門鎖并無區(qū)別。在房門內(nèi)側(cè)安裝三個(gè)微型的壓電震動(dòng)傳感器,如等邊三角形分布。一旦門鎖遭受暴力開鎖,達(dá)到壓電震動(dòng)傳感器所設(shè)定的閾值,智能門鎖上的蜂鳴器將發(fā)聲預(yù)警并同時(shí)向APP發(fā)送“受到非法攻擊”的提示信息。這樣蜂鳴器既可以通過敲門的振動(dòng)強(qiáng)度而發(fā)出相應(yīng)的聲音充當(dāng)門鈴,還可以在有人暴力敲門或破壞門時(shí)起到警示的作用。
此外,還在鎖芯處安裝有電壓感應(yīng)裝置,在門控芯片里設(shè)定好電位的最大變化值。當(dāng)小偷從外側(cè)的鎖孔用鐵絲等物進(jìn)行非法開鎖時(shí)觸及到電壓感應(yīng)裝置,使壓電感應(yīng)裝置的電位急劇變化并達(dá)到門控芯片所設(shè)定的最大變化值時(shí),蜂鳴器就會發(fā)出報(bào)警并且向APP發(fā)送“遭受非法開鎖”的提示消息。用戶則可以通過APP下達(dá)“鎖機(jī)”的指令,控制鎖芯不動(dòng),從而讓小偷無法通過鎖芯進(jìn)行開鎖。
(2)條件指紋驗(yàn)證設(shè)計(jì)
為解決指紋識別模塊長時(shí)間處于待機(jī)狀態(tài)卻沒有工作而導(dǎo)致功耗較大、使用效率較低的問題,文章提出了在固定終端上和移動(dòng)終端上設(shè)計(jì)使用指紋識別模塊的開關(guān)。只有同時(shí)開啟APP上的“使用指紋驗(yàn)證”功能和固定終端上指紋識別的使用開關(guān)時(shí),才能使用固定終端上的指紋模塊進(jìn)行驗(yàn)證開鎖。
2.2 ?硬件實(shí)現(xiàn)
智能門鎖的硬件主要包含門控芯片電路、步進(jìn)電機(jī)驅(qū)動(dòng)電路和門鈴及預(yù)警電路三部分。
(1)門控芯片電路
智能門鎖中以STM32F103C8T6作為門控芯片,如圖4門控芯片電路所示。ZN632指紋識別模塊作為信號輸入端,將信號傳輸?shù)介T控芯片進(jìn)行處理。ESP8266作為WIFI通信模塊,與門控芯片的GPIOA9和GPIOA10相連。其中GPIOA9作為輸出TXD1,串口定義為復(fù)用推挽輸出;GPIOA10作為輸入RXD1,串口定義為浮空輸入。指紋模塊的串口4與門控芯片的GPIOA2相連,作為輸出TXD2;串口5與門控芯片的GPIOA3相連,作為輸入RXD2。
(2)步進(jìn)電機(jī)驅(qū)動(dòng)電路
步進(jìn)電機(jī)驅(qū)動(dòng)電路如圖5所示,STM32F103C8T6門控芯片上的四個(gè)端口PB12、PB13、PB14和PB15作為步進(jìn)電機(jī)控制信號的輸入端口,與ULN2004L上的IN4、IN3、IN2和IN1相連,共同控制步進(jìn)電機(jī)。ULN2004L作為驅(qū)動(dòng)電路直接與步進(jìn)電機(jī)相連,從而驅(qū)動(dòng)電機(jī)正轉(zhuǎn)或反轉(zhuǎn)。
(3)門鈴及預(yù)警電路
調(diào)節(jié)好電位器后,壓電振動(dòng)傳感器根據(jù)所采集到的振動(dòng)強(qiáng)度,從D0輸出對應(yīng)的電壓信號,經(jīng)過LM358運(yùn)算放大器放大后,由OUT2接入蜂鳴器。如圖6所示。
為了能更好地實(shí)現(xiàn)人機(jī)交互,在固定終端設(shè)備上使用了液晶顯示屏,來顯示固定終端的連接狀態(tài)、電舌狀態(tài)和剩余電量等。
3 ?系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)的軟件設(shè)計(jì)主要由門禁系統(tǒng)的總控制器和供用戶使用的客戶端兩部分組成。智能門鎖控制系統(tǒng)的總控制器是專業(yè)人員管理各個(gè)門禁系統(tǒng)的主要手段。管理人員可以管理用戶使用門禁系統(tǒng)的權(quán)限,并在用戶的許可下對門禁系統(tǒng)進(jìn)行重置。客戶端主要實(shí)現(xiàn)上位機(jī)與服務(wù)器的數(shù)據(jù)交互功能,同時(shí)實(shí)現(xiàn)對固定終端的控制。當(dāng)使用客戶端軟件進(jìn)行通信時(shí),由路由器為其分配專門端口,使用TCP[12]方式與移動(dòng)終端設(shè)備通信。平時(shí)智能門鎖處于偵聽靜止?fàn)顟B(tài),當(dāng)有用戶提出申請連接時(shí),再與移動(dòng)終端設(shè)備完成連接通信,使用移動(dòng)終端設(shè)備即可控制固定終端。
3.1 ?門禁系統(tǒng)的總控
門禁系統(tǒng)總控制器的軟件設(shè)計(jì)是在集成開發(fā)環(huán)境下使用C語言編寫的,由各個(gè)子模塊組成,主要包括預(yù)警及報(bào)警模塊、WIFI模塊的組網(wǎng)程序和門控芯片的驅(qū)動(dòng)程序等??偪刂破鞯闹鞒绦蛄鞒虉D如圖7所示。
3.2 ?門禁系統(tǒng)的客戶端
智能門鎖的客戶端軟件部分是基于Java語言進(jìn)行開發(fā)、編譯,在Keil uVision5軟件上使用C語言對STM32F103C8T6單片機(jī)上所需功能進(jìn)行編譯。
通過配置熱點(diǎn)名稱、加密方式、密鑰、以及開放的IP地址和網(wǎng)絡(luò)端口號,完成WIFI模塊的初始化[13]。門控芯片通過與ESP8266模塊相連的串口傳輸數(shù)據(jù),根據(jù)移動(dòng)終端發(fā)送的不同指令控制相應(yīng)的模塊進(jìn)行工作,用戶可以選擇虛擬指紋驗(yàn)證或密碼驗(yàn)證進(jìn)行解鎖。智能門鎖的一切使用記錄實(shí)時(shí)通過ESP8266模塊發(fā)送至移動(dòng)終端,并在終端軟件上顯示。如圖8軟件操作流程所示。
智能門鎖的通信方式以ESP8266WIFI模塊為基礎(chǔ),內(nèi)置TCP/IP協(xié)議,將加密后的數(shù)據(jù)發(fā)送到服務(wù)器端,服務(wù)器端接收數(shù)據(jù)并提取轉(zhuǎn)換實(shí)際有效的數(shù)據(jù),寫入到數(shù)據(jù)庫[14]。
4 ?測試
(1)硬件測試
首先與ESP-8266WIFI模塊驗(yàn)證連接,連接成功后,使用薄膜開關(guān)輸入密碼進(jìn)行驗(yàn)證,密碼輸入匹配成功則開啟門鎖;密碼匹配失敗,則需要重新進(jìn)行輸入。使用指紋模塊進(jìn)行驗(yàn)證時(shí),當(dāng)匹配無效指紋,門鎖開啟失敗;當(dāng)錄入指紋后再進(jìn)行匹配,驗(yàn)證成功后,門鎖開啟成功。
(2)用戶端測試
圖9為控制系統(tǒng)客戶端的使用界面圖,通過APP可以下達(dá)指令控制門禁系統(tǒng)的開、關(guān),還可以查看設(shè)備的剩余電量、門禁的使用記錄以及管理指紋。當(dāng)房門受到劇烈撞擊時(shí),蜂鳴器發(fā)出警報(bào)并向APP發(fā)送警報(bào)信息。
5 ?結(jié)語
通過多次試驗(yàn)驗(yàn)證,文章提出的基于雙重指紋驗(yàn)證的無線智能門鎖實(shí)現(xiàn)了對固定終端的控制,系統(tǒng)運(yùn)行穩(wěn)定,達(dá)到了智能、遠(yuǎn)程控制的目的。其中,雙重半虛擬指紋驗(yàn)證識別的驗(yàn)證開鎖方式也解決了傳統(tǒng)指紋識別模塊易被損壞、易被竊取殘留指紋和指紋不易識別等問題;ESP-8266WIFI模塊的使用,實(shí)現(xiàn)了遠(yuǎn)程開、關(guān)鎖的功能;電位感應(yīng)器使門鎖更具有安全性和完備性。
參考文獻(xiàn)
[1] 丁琳, 李蒙蒙. 基于ZigBee和4G技術(shù)的門窗智能控制系統(tǒng)的設(shè)計(jì)[J]. 軟件, 2018, 39(11): 36-38.
[2] 張煥蘭, 肖明波. 基于433MHz頻段安全的智能鎖系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2018, 39(09): 2736-2742+2747.
[3] 物聯(lián)網(wǎng)、智能家居為無線通訊產(chǎn)品開啟了幾扇門?[J]. 軟件, 2017, 38(08): 179+183.
[4] 朱航江, 潘振福, 朱永利. “互聯(lián)網(wǎng)+”智能門禁控制系統(tǒng)[J]. 電子技術(shù)應(yīng)用, 2017, 43(03): 124-126+131.
[5] 鄢秋榮, 馬耀中, 柏歡, 王騰, 王斌, 劉昱晟. 基于STM32單片機(jī)和移動(dòng)通信模塊的門戶智能鎖網(wǎng)絡(luò)[J]. 實(shí)驗(yàn)室研究與探索, 2016, 35(03): 115-118+146.
[6] 呂立波. 門禁控制系統(tǒng)中常用的幾種生物特征識別技術(shù)之比較[J]. 中國公共安全, 2017(11): 228-234.
[7] 林濤, 李鵬, 王昊. 基于蜂窩網(wǎng)格劃分的指紋定位算法的改進(jìn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2019, 40(06): 1601-1605+ 1641.
[8] 李鳳英, 何屹峰, 齊宇歆. MOOC學(xué)習(xí)者身份認(rèn)證模式的研究——基于雙因子模糊認(rèn)證和區(qū)塊鏈技術(shù)[J]. 遠(yuǎn)程教育雜志, 2017, 35(04): 49-57.
[9] 楊彥偉, 雒志秀, 鄭肖宇, 亢麗變, 方舟. 基于STM32芯片的樓宇火災(zāi)遠(yuǎn)程自動(dòng)報(bào)警系統(tǒng)[J]. 軟件, 2015, 36(08): 117-120.
[10] 袁月, 曾春平, 馬琨, 白玉慧, 龔艷瓊. 基于無線WIFI的智能家居燈光控制系統(tǒng)設(shè)計(jì)[J]. 軟件, 2019, 40(08): 203-207+215.
[11] 王旭峰, 周建華, 董科雨, 周芳, 徐博文. 基于ESP8266的遠(yuǎn)程無線光功率監(jiān)測儀設(shè)計(jì)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用, 2018, 18(01): 70-72.
[12] 馬玉春, 劉雍, 喬麗娟, 汪文彬. Android平臺下的TCP客戶機(jī)教學(xué)設(shè)計(jì)[J]. 軟件, 2018, 39(10): 14-17.
[13] 張一鳴, 肖曉萍. 基于ARM和WIFI通信的智能開關(guān)控制器設(shè)計(jì)[J]. 計(jì)算機(jī)測量與控制, 2018, 26(08): 83-87+137.
[14] 韓團(tuán)軍. 基于Wi-Fi與GPRS的遠(yuǎn)程生理參數(shù)測試系統(tǒng)設(shè)計(jì)[J]. 實(shí)驗(yàn)室研究與探索, 2018, 37(03): 65-69.