引 言
防盜鎖是大部分家庭都需要購(gòu)買的鎖具,與人們的生活密切相關(guān)。鎖作為家中第一道安全防線,不僅可以保衛(wèi)家中安全,更是提升我們生活品質(zhì)的標(biāo)志。在智能家居時(shí)代,智能鎖是智能化時(shí)代的體現(xiàn),機(jī)械鎖的安全性和便利性已經(jīng)無(wú)法滿足人們的需求。“互聯(lián)網(wǎng)+”、智慧生活、物聯(lián)網(wǎng)技術(shù)的觸角已伸向每家每戶都離不開(kāi)的門鎖 [1]。此前,智能門鎖、安防門鎖、電子門鎖等主要在辦公樓、酒店賓館等地使用,如今隨著家庭安防需求的增加及智能產(chǎn)品的普及,家用門鎖已成為智能化搶占的市場(chǎng)。近期,智能門鎖產(chǎn)品層出不窮,在智能化和安全性等方面精益求精,目前已研發(fā)出人臉識(shí)別鎖、指紋密碼鎖、刷卡鎖和數(shù)字密碼鎖等。智能門鎖作為新一代識(shí)別技術(shù)優(yōu)勢(shì)明顯,將逐漸取代純機(jī)械鎖,成為鎖具行業(yè)的新主角,并且這一趨勢(shì)不可逆轉(zhuǎn)。本文所設(shè)計(jì)的智能門鎖使用聲紋識(shí)別技術(shù), 不僅使家用門鎖在安全性和便利性等方面得到了大幅提升,還可使用 APP 遠(yuǎn)程控制進(jìn)行門鎖的開(kāi)關(guān)動(dòng)作,遠(yuǎn)程監(jiān)視門鎖的開(kāi)關(guān)狀態(tài)。
1 系統(tǒng)設(shè)計(jì)
1.1 系統(tǒng)設(shè)計(jì)要求
SPCE061A 單片機(jī)可對(duì)特定人員進(jìn)行語(yǔ)音識(shí)別,識(shí)別成功率高達(dá) 80% 以上,還可控制高低電平動(dòng)作進(jìn)行開(kāi)鎖操作; 另一方面通過(guò)手機(jī) APP 或網(wǎng)頁(yè)端與服務(wù)器連接后,服務(wù)器與WiFi 模塊可進(jìn)行通信并傳輸數(shù)據(jù),由 WiFi 模塊向單片機(jī)輸入信號(hào),單片機(jī)動(dòng)作以實(shí)現(xiàn)對(duì)門鎖的遠(yuǎn)程控制。
1.2 總體設(shè)計(jì)方案
本系統(tǒng)設(shè)計(jì)的基于 SPCE061A 單片機(jī)的語(yǔ)音識(shí)別智能門鎖的主要組成包括 61 單片機(jī)、WiFi 模塊ESP8266、傳感器、網(wǎng)絡(luò)服務(wù)器、門鎖控制終端、LED 燈控制終端、繼電器、電子鎖。
61 單片機(jī)可進(jìn)行語(yǔ)音錄入,通過(guò)對(duì)語(yǔ)音信號(hào)進(jìn)行壓縮編碼,運(yùn)用壓縮算法放音,再通過(guò)編寫的程序進(jìn)行訓(xùn)練,將訓(xùn)練后的語(yǔ)音自動(dòng)存儲(chǔ)在片內(nèi)存儲(chǔ)器中,訓(xùn)練成功后即可進(jìn)行語(yǔ)音識(shí)別。方案設(shè)計(jì)如圖 1 所示,其客戶終端可選手機(jī) APP 或網(wǎng)頁(yè),網(wǎng)絡(luò)服務(wù)器采用貝殼物聯(lián)云端服務(wù)器,WiFi 模塊與家中WiFi 互聯(lián)后再與單片機(jī)系統(tǒng)相連,就可通過(guò) WiFi 模塊將來(lái)自互聯(lián)網(wǎng)的控制命令轉(zhuǎn)發(fā)至串口,此時(shí)WiFi 模塊的串口與單片機(jī)串口相連,單片機(jī)解讀串口數(shù)據(jù)命令,由繼電器通過(guò)單片機(jī) I/O口輸入的電平變化選擇發(fā)生階躍響應(yīng),觸發(fā)電子鎖, 實(shí)現(xiàn)手機(jī) APP 或者網(wǎng)頁(yè)對(duì)其的控制。
圖1 總體方案設(shè)計(jì)
2 硬件電路設(shè)計(jì)
2.1 單片機(jī)最小系統(tǒng)
系統(tǒng)采用SPCE061A 單片機(jī)進(jìn)行語(yǔ)音識(shí)別 [2]。SPCE061A 單片機(jī)具有功耗低、功能強(qiáng)、效率高、可靠性好且易于擴(kuò)展等優(yōu)點(diǎn)。SPCE061A 配備了凌陽(yáng)科技開(kāi)發(fā)的最新 16 位微處理器,其內(nèi)部含有 8 個(gè)寄存器,4 個(gè)通用寄存器 R1 ~ R4,1 個(gè)程序計(jì)數(shù)器 PC,1 個(gè)堆棧指針 SP,1 個(gè)基址指針 BP,1 個(gè)寄存器 SR,通用寄存器 R3 和 R4 結(jié)合組成一個(gè) 32 位寄存器MR,MR 可以作為乘法運(yùn)算和內(nèi)積運(yùn)算的目標(biāo)寄存器[3]。此外, SPCE061A 還有 3 個(gè)FIQ 中斷和 14 個(gè)IRQ 中斷,及1 個(gè)由指令控制的軟中斷。客戶終端采用 Arduino 單片機(jī)系統(tǒng)實(shí)現(xiàn) [4], 其核心是 ATMEGA328P-AU 單片機(jī),配上周邊器件,安裝在一快印刷電路板上能夠獨(dú)立完成設(shè)定功能,同時(shí)還能通過(guò)各類傳感器感知環(huán)境,通過(guò)控制燈光、馬達(dá)和其他裝置來(lái)反饋、影響環(huán)境。Arduino 單片機(jī)系統(tǒng)一端通過(guò)傳感器與門鎖相連, 一端通過(guò) ESP8266 WiFi 模塊與家庭 WiFi 相連,由此實(shí)現(xiàn)通過(guò)手機(jī) APP 控制門鎖開(kāi)關(guān)。
2.2 語(yǔ)音識(shí)別模塊
將 SPCE061A 單片機(jī)用于語(yǔ)音識(shí)別模塊 [5],SPCE061A的內(nèi)部結(jié)構(gòu)如圖 2 所示。
模塊含有 84 個(gè)引腳,可進(jìn)行多輸入輸出操作,且 32 k的 FLASH 存儲(chǔ)器可進(jìn)行語(yǔ)音存儲(chǔ),7 通道 10 位模 / 數(shù)轉(zhuǎn)換器與單通道聲音模 / 數(shù)轉(zhuǎn)換器可方便對(duì)語(yǔ)音進(jìn)行模數(shù)轉(zhuǎn)換 [6]。
語(yǔ)音識(shí)別模塊分為訓(xùn)練階段和識(shí)別階段 :在訓(xùn)練階段,先初始化 RAM,再調(diào)用語(yǔ)音訓(xùn)練函數(shù) BSR_Train(int WordID,int TrainMode)執(zhí)行訓(xùn)練,之后獲得訓(xùn)練結(jié)果,將訓(xùn)練結(jié)果中的語(yǔ)音模型導(dǎo)出存儲(chǔ)到 FLASH 中。SPCE061A 語(yǔ)音存儲(chǔ)和回訪系統(tǒng)如圖 3 所示 [7]。
在識(shí)別階段, 運(yùn)用凌陽(yáng)編碼算法庫(kù)中的函數(shù)進(jìn)行識(shí)別, 先調(diào)用初始化識(shí) 別器函數(shù) BSR_InitRecognizer(int AudioSource), 將存儲(chǔ)的訓(xùn)練語(yǔ)言的特征模型調(diào)出與需要識(shí)別的語(yǔ)音比對(duì), 再調(diào)用獲得識(shí)別結(jié)果可信度函數(shù) BSR_ GetRecognizerScore()獲取輸入語(yǔ)音與特征模型的匹配度 [8]。
2.3 繼電器模塊
繼電器模塊選用中間繼電器,當(dāng)傳感器收集語(yǔ)音信息讀入單片機(jī)系統(tǒng)后,單片機(jī)系統(tǒng)會(huì)發(fā)出一個(gè)高電平使繼電器線圈通電,之后繼電器主觸點(diǎn)閉合,同時(shí)使電子鎖 [9] 與電路之間的開(kāi)關(guān)閉合,進(jìn)而控制電子鎖的開(kāi)關(guān)。硬件電路框架如圖 4所示。
3 軟件設(shè)計(jì)
ESP8266 為安信可公司開(kāi)發(fā)的 ESP8266 模塊編譯平臺(tái),具有免安裝、純綠色、無(wú)需虛擬機(jī)、Windows 系統(tǒng)直接運(yùn)行、IDE 界面、編輯和編譯一體化、Eclipse 編譯后直接生成固件等優(yōu)點(diǎn) [10]。
該智能門鎖下位機(jī)通過(guò)公共云端將用戶的控制動(dòng)作傳送至 ESP8266 芯片,再通過(guò) Andruin UNO 面板實(shí)現(xiàn)該動(dòng)作,流程如圖 5 所示。
貝殼物聯(lián)云平臺(tái)采用以 TCP 協(xié)議為主,UDP 協(xié)議為輔的形式進(jìn)行通信,兩種協(xié)議間信息互通。在 TCP 協(xié)議基礎(chǔ)上, 可直接使用 TCP 或WebSocket 建立長(zhǎng)連接,定時(shí)發(fā)送心跳數(shù)據(jù),保持用戶、設(shè)備在線,在線期間與服務(wù)器可進(jìn)行 JSON 字符串格式的數(shù)據(jù)通信,也可采用 http(s)通信協(xié)議獲取用戶資源、上傳圖片,并實(shí)時(shí)更新。以 UDP 協(xié)議為基礎(chǔ)的通信,設(shè)備不必保持在線狀態(tài),可隨時(shí)向服務(wù)器發(fā)送指令進(jìn)行相關(guān)操作。
傳感器采集門鎖的開(kāi)關(guān)狀態(tài),反饋至 8266 模塊,8266 模塊將即時(shí)狀態(tài)通過(guò)云端傳遞給貝殼物聯(lián)服務(wù)器,服務(wù)器可通過(guò)兩種方式提示用戶門鎖的狀態(tài) :一是手機(jī)客戶端,即APP ;二是網(wǎng)頁(yè)。用戶可根據(jù)實(shí)際情況控制門鎖。
本設(shè)計(jì)的目的在于方便用戶通過(guò)手機(jī)打開(kāi)門鎖,因此需判斷上電顯示是否與預(yù)定相同,可采用 ESPlorer進(jìn)行仿真驗(yàn)證。程序開(kāi)始后,初始化函數(shù),將 ESP8266刷入NodeMCU固件, 默認(rèn)執(zhí)行Init.lua中的程序,在 Init.lua中再調(diào)用并執(zhí)行 switch. lua程序(遠(yuǎn)程開(kāi)關(guān)程序),之后在 ESPlorer環(huán)境下編寫程序。
4 性能測(cè)試與分析
本軟件完成了各模塊的設(shè)計(jì)并對(duì)各模塊進(jìn)行了測(cè)試,測(cè)試工具包括 Android 手機(jī)和筆記本電腦。利用“貝殼物聯(lián)”作為云端,在 Android 手機(jī)上運(yùn)行客戶端軟件,用戶登錄后可以進(jìn)行相關(guān)操作,登錄界面如圖 6 所示。
在貝殼物聯(lián)軟件中添加設(shè)備,實(shí)現(xiàn)對(duì)其的控制。WiFi 模塊選用 ESP8266,該模塊與家中 WiFi 互聯(lián)后再與單片機(jī)系統(tǒng)相連,之后可通過(guò) ESP8266 芯片轉(zhuǎn)發(fā)來(lái)自互聯(lián)網(wǎng)的控制命令至串口。圖 7 所示為已實(shí)現(xiàn)添加的門鎖設(shè)備,連接完成后通過(guò)手機(jī)控制門鎖的開(kāi)關(guān)。
5 結(jié) 語(yǔ)
本系統(tǒng)基于 SPCE061A 單片機(jī)語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)而成,通過(guò)語(yǔ)音訓(xùn)練后,將傳感器采集的用戶聲音與之前的樣本進(jìn)行比較,觸發(fā)電子鎖,實(shí)現(xiàn)語(yǔ)音開(kāi)鎖,識(shí)別率高。以MEGA328P-AU 單片機(jī)作為控制核心,通過(guò) WiFi 與電子鎖相連,實(shí)現(xiàn)智能開(kāi)鎖,降低成本。以手機(jī) APP 作為控制終端,隨時(shí)隨地實(shí)現(xiàn)對(duì)系統(tǒng)的控制和監(jiān)控。該智能門鎖具有開(kāi)鎖簡(jiǎn)便、安全性能良好、能耗小、成本低等優(yōu)點(diǎn),能夠較好地滿足市場(chǎng)需求。