項(xiàng)宇楠,胡小小,李章東,傅偉聰,王 鵬,沈艷霞
(江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫 214122)
防盜鎖是大部分家庭都需要購(gòu)買(mǎi)的鎖具,與人們的生活密切相關(guān)。鎖作為家中第一道安全防線(xiàn),不僅可以保衛(wèi)家中安全,更是提升我們生活品質(zhì)的標(biāo)志。在智能家居時(shí)代,智能鎖是智能化時(shí)代的體現(xiàn),機(jī)械鎖的安全性和便利性已經(jīng)無(wú)法滿(mǎn)足人們的需求?!盎ヂ?lián)網(wǎng)+”、智慧生活、物聯(lián)網(wǎng)技術(shù)的觸角已伸向每家每戶(hù)都離不開(kāi)的門(mén)鎖[1]。此前,智能門(mén)鎖、安防門(mén)鎖、電子門(mén)鎖等主要在辦公樓、酒店賓館等地使用,如今隨著家庭安防需求的增加及智能產(chǎn)品的普及,家用門(mén)鎖已成為智能化搶占的市場(chǎng)。近期,智能門(mén)鎖產(chǎn)品層出不窮,在智能化和安全性等方面精益求精,目前已研發(fā)出人臉識(shí)別鎖、指紋密碼鎖、刷卡鎖和數(shù)字密碼鎖等。智能門(mén)鎖作為新一代識(shí)別技術(shù)優(yōu)勢(shì)明顯,將逐漸取代純機(jī)械鎖,成為鎖具行業(yè)的新主角,并且這一趨勢(shì)不可逆轉(zhuǎn)。本文所設(shè)計(jì)的智能門(mén)鎖使用聲紋識(shí)別技術(shù),不僅使家用門(mén)鎖在安全性和便利性等方面得到了大幅提升,還可使用APP遠(yuǎn)程控制進(jìn)行門(mén)鎖的開(kāi)關(guān)動(dòng)作,遠(yuǎn)程監(jiān)視門(mén)鎖的開(kāi)關(guān)狀態(tài)。
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ì)門(mén)鎖的遠(yuǎn)程控制。
本系統(tǒng)設(shè)計(jì)的基于SPCE061A單片機(jī)的語(yǔ)音識(shí)別智能門(mén)鎖的主要組成包括61單片機(jī)、WiFi模塊ESP8266、傳感器、網(wǎng)絡(luò)服務(wù)器、門(mén)鎖控制終端、LED燈控制終端、繼電器、電子鎖。
61單片機(jī)可進(jìn)行語(yǔ)音錄入,通過(guò)對(duì)語(yǔ)音信號(hào)進(jìn)行壓縮編碼,運(yùn)用壓縮算法放音,再通過(guò)編寫(xiě)的程序進(jìn)行訓(xùn)練,將訓(xùn)練后的語(yǔ)音自動(dòng)存儲(chǔ)在片內(nèi)存儲(chǔ)器中,訓(xùn)練成功后即可進(jìn)行語(yǔ)音識(shí)別。方案設(shè)計(jì)如圖1所示,其客戶(hù)終端可選手機(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ì)
系統(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è)由指令控制的軟中斷??蛻?hù)終端采用Arduino單片機(jī)系統(tǒng)實(shí)現(xiàn)[4],其核心是ATMEGA328P-AU單片機(jī),配上周邊器件,安裝在一快印刷電路板上能夠獨(dú)立完成設(shè)定功能,同時(shí)還能通過(guò)各類(lèi)傳感器感知環(huán)境,通過(guò)控制燈光、馬達(dá)和其他裝置來(lái)反饋、影響環(huán)境。Arduino單片機(jī)系統(tǒng)一端通過(guò)傳感器與門(mén)鎖相連,一端通過(guò)ESP8266 WiFi模塊與家庭WiFi相連,由此實(shí)現(xiàn)通過(guò)手機(jī)APP控制門(mén)鎖開(kāi)關(guān)。
將SPCE061A單片機(jī)用于語(yǔ)音識(shí)別模塊[5],SPCE061A的內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 SPCE061A單片機(jī)內(nèi)部結(jié)構(gòu)
模塊含有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ǔ)和回訪(fǎng)系統(tǒng)如圖3所示[7]。
圖3 語(yǔ)音存儲(chǔ)和回訪(fǎng)系統(tǒng)結(jié)構(gòu)圖
在識(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]。
繼電器模塊選用中間繼電器,當(dāng)傳感器收集語(yǔ)音信息讀入單片機(jī)系統(tǒng)后,單片機(jī)系統(tǒng)會(huì)發(fā)出一個(gè)高電平使繼電器線(xiàn)圈通電,之后繼電器主觸點(diǎn)閉合,同時(shí)使電子鎖[9]與電路之間的開(kāi)關(guān)閉合,進(jìn)而控制電子鎖的開(kāi)關(guān)。硬件電路框架如圖4所示。
圖4 硬件電路框架
ESP8266為安信可公司開(kāi)發(fā)的ESP8266模塊編譯平臺(tái),具有免安裝、純綠色、無(wú)需虛擬機(jī)、Windows系統(tǒng)直接運(yùn)行、IDE界面、編輯和編譯一體化、Eclipse編譯后直接生成固件等優(yōu)點(diǎn)[10]。
該智能門(mén)鎖下位機(jī)通過(guò)公共云端將用戶(hù)的控制動(dòng)作傳送至ESP8266芯片,再通過(guò)Andruin UNO面板實(shí)現(xiàn)該動(dòng)作,流程如圖5所示。
圖5 下位機(jī)流程圖
貝殼物聯(lián)云平臺(tái)采用以TCP協(xié)議為主,UDP協(xié)議為輔的形式進(jìn)行通信,兩種協(xié)議間信息互通。在TCP協(xié)議基礎(chǔ)上,可直接使用TCP或WebSocket建立長(zhǎng)連接,定時(shí)發(fā)送心跳數(shù)據(jù),保持用戶(hù)、設(shè)備在線(xiàn),在線(xiàn)期間與服務(wù)器可進(jìn)行JSON字符串格式的數(shù)據(jù)通信,也可采用http(s)通信協(xié)議獲取用戶(hù)資源、上傳圖片,并實(shí)時(shí)更新。以UDP協(xié)議為基礎(chǔ)的通信,設(shè)備不必保持在線(xiàn)狀態(tài),可隨時(shí)向服務(wù)器發(fā)送指令進(jìn)行相關(guān)操作。
傳感器采集門(mén)鎖的開(kāi)關(guān)狀態(tài),反饋至8266模塊,8266模塊將即時(shí)狀態(tài)通過(guò)云端傳遞給貝殼物聯(lián)服務(wù)器,服務(wù)器可通過(guò)兩種方式提示用戶(hù)門(mén)鎖的狀態(tài):一是手機(jī)客戶(hù)端,即APP;二是網(wǎng)頁(yè)。用戶(hù)可根據(jù)實(shí)際情況控制門(mén)鎖。
本設(shè)計(jì)的目的在于方便用戶(hù)通過(guò)手機(jī)打開(kāi)門(mén)鎖,因此需判斷上電顯示是否與預(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)境下編寫(xiě)程序。
本軟件完成了各模塊的設(shè)計(jì)并對(duì)各模塊進(jìn)行了測(cè)試,測(cè)試工具包括Android手機(jī)和筆記本電腦。利用“貝殼物聯(lián)”作為云端,在Android手機(jī)上運(yùn)行客戶(hù)端軟件,用戶(hù)登錄后可以進(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)添加的門(mén)鎖設(shè)備,連接完成后通過(guò)手機(jī)控制門(mén)鎖的開(kāi)關(guān)。
圖6 登錄界面
圖7 已實(shí)現(xiàn)添加的門(mén)鎖設(shè)備
本系統(tǒng)基于SPCE061A單片機(jī)語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)而成,通過(guò)語(yǔ)音訓(xùn)練后,將傳感器采集的用戶(hù)聲音與之前的樣本進(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)控。該智能門(mén)鎖具有開(kāi)鎖簡(jiǎn)便、安全性能良好、能耗小、成本低等優(yōu)點(diǎn),能夠較好地滿(mǎn)足市場(chǎng)需求。