盛振濤 顏鏗洋 浙江師范大學(xué)物理與電子信息工程學(xué)院
當(dāng)前的家用電器主要的控制方式為紅外遙控。隨著科技的進(jìn)步,日常家用電器的數(shù)目不斷增加、其專用的控制器數(shù)量增加,且控制器功能繁雜、操作復(fù)雜。由此帶來問題的是:控制器不統(tǒng)一導(dǎo)致的產(chǎn)品體驗(yàn)變差。
目前大多數(shù)的解決方案是通過智能手機(jī)進(jìn)行訪問和控制來解決上述問題。但是雖然手機(jī)成為了統(tǒng)一的遙控器,但上面種類繁多的遙控APP 也使得這種方法存在有操作復(fù)雜、不易學(xué)習(xí)的缺點(diǎn)。
本文提出一種新的解決方案:語音識(shí)別控制。語言可以直接表述用戶需求,采用語音識(shí)別控制的方法可以省去很多復(fù)雜的人機(jī)交互步驟。使用者可以通過語音傳達(dá)自己的指令,極大的方便了行動(dòng)不便的人群。
基于語音識(shí)別的智能家居助手系統(tǒng)框圖如圖1 所示,主要包括STM32 主控模塊、LD3320 芯片、ESP8266 WIFI 模塊及紅外發(fā)光二極管;該系統(tǒng)可以讓用戶可以通過語音輕松、便捷地遙控家中不同種類的電器。
圖1 系統(tǒng)框圖
該系統(tǒng)的語音識(shí)別系統(tǒng)工作模式為近端語音識(shí)別控制。在近端語音識(shí)別控制模式下,STM32 處理器使用LD3320 語音識(shí)別芯片進(jìn)行實(shí)時(shí)語音識(shí)別。識(shí)別完成后,STM32 主機(jī)可以接受到命令。如果命令是對(duì)本房間的電器進(jìn)行控制,則STM32 主機(jī)通過ESP8266 WIFI模塊和紅外二極管模塊直接對(duì)WIFI/紅外控制的家居進(jìn)行控制。如果命令是對(duì)其他房間的家居進(jìn)行控制,則STM32 主機(jī)通過ESP8266 WIFI 模塊組成的局域網(wǎng)和指定房間的STM32 子機(jī)進(jìn)行通訊,然后指定房間的STM32 子機(jī)進(jìn)行和上面相同步驟的控制操作。
ESP8266 WIFI 傳輸模塊的工作原理如圖2 所示,使用的芯片是ESP8266。該系列WIFI 芯片是一個(gè)完整且自成體系的Wi-Fi 網(wǎng)絡(luò)解決方案,能夠搭載軟件應(yīng)用,或通過另一個(gè)應(yīng)用處理器卸載所有Wi-Fi 網(wǎng)絡(luò)功能。
ESP8266 在搭載應(yīng)用并作為設(shè)備中唯一的應(yīng)用處理器時(shí),能夠直接從外接閃存中啟動(dòng)。內(nèi)置的高速緩沖存儲(chǔ)器有利于提高系統(tǒng)性能,并減少內(nèi)存需求。
另外一種情況是,無線上網(wǎng)接入承擔(dān)Wi-Fi 適配器的任務(wù)時(shí),可以將其添加到任何基于微控制器的設(shè)計(jì)中,連接簡(jiǎn)單易行,只需通過SPI/SDIO 接口或中央處理器AHB 橋接口即可。
LD3220 語音識(shí)別模塊搭載了LD3320 芯片。LD3320 芯片是一款“語音識(shí)別”專用芯片。該芯片集成了語音識(shí)別處理器和一些外部電路,包括AD、DA 轉(zhuǎn)換器、麥克風(fēng)接口、聲音輸出接口等。本芯片不需要外接任何的輔助芯片如 Flash、RAM 等,直接集成在現(xiàn)有的產(chǎn)品中即可以實(shí)現(xiàn)語音識(shí)別/聲控/人機(jī)對(duì)話功能。并且,識(shí)別的關(guān)鍵詞語列表是可以任意動(dòng)態(tài)編輯的。
STM32 主控制器與LD3320 語音識(shí)別模塊之間通過串口通信協(xié)議,實(shí)現(xiàn)數(shù)據(jù)的傳輸。STM32 程序內(nèi)部調(diào)用LD3320 庫函數(shù),讀取LD3320 芯片寄存器數(shù)據(jù),得到語音信息。然后STM32 主控制器通過SPI 接口將語音信息通過ESP8266 傳送給子控制器或者進(jìn)行控制操作。
系統(tǒng)的主控板采用STM32 核心板,其處理器核心是STM32F103 處理器。STM32 系列單片機(jī)功耗低,運(yùn)算速度快,片上資源滿足設(shè)計(jì)功能要求?;贏RM Cortex-M3 內(nèi)核,專為高性能、低成本、低功耗的嵌入式應(yīng)用而設(shè)計(jì)。處理器時(shí)鐘頻率為72MHz,含11 個(gè)定時(shí)器以及豐富的I/O 口,內(nèi)置3 個(gè)12 位的A/D 轉(zhuǎn)換器、2 個(gè)12 位D/A 轉(zhuǎn)換器,是同類產(chǎn)品中性價(jià)比最高的處理器。
控制板通過JLink 與電腦連接,便于在線進(jìn)行程序調(diào)試。與傳統(tǒng)的單片機(jī)相比,STM32 資料豐富、編程方法簡(jiǎn)單易學(xué)、軟硬件完全開放,在庫文件和例程的基礎(chǔ)上稍做修改就可以滿足該系統(tǒng)的設(shè)計(jì)要求,實(shí)現(xiàn)對(duì)語音信息的讀取、處理及發(fā)送。
STM32 程序設(shè)計(jì)流程圖如圖2 所示,在初始狀態(tài)下,STM32 與LD3220 語音模塊一直處于通信狀態(tài),當(dāng)LD3220 語音模塊響應(yīng)范圍內(nèi)有語音信號(hào)時(shí),LD3220 對(duì)語音信號(hào)轉(zhuǎn)換采集,然后得到語音信息通過串口發(fā)送給STM32。STM32 根據(jù)語音信息的內(nèi)容,將命令通過ESP8266 傳輸給子控制器或者直接進(jìn)行控制操作。
圖2 STM 32 程序設(shè)計(jì)流程圖
貝殼物聯(lián)是一個(gè)物聯(lián)網(wǎng)云平臺(tái)。貝殼物聯(lián)WIFI 組網(wǎng)設(shè)計(jì)包括設(shè)備在/離線監(jiān)控和語音命令傳送。該面板可以讓用戶清楚地看到哪些STM32 控制器是在線的,那些STM32 控制器處于離線狀態(tài)。
貝殼物聯(lián)在ESP8266 WIFI 模塊組網(wǎng)設(shè)計(jì)中承擔(dān)了路由器的作用。各個(gè)STM32 控制器之間通過確定的協(xié)議進(jìn)行聯(lián)網(wǎng)通訊,從而大大增加了智能家居助手的輕巧度。
本文設(shè)計(jì)的基于語音識(shí)別的的智能家居助手具有適應(yīng)性強(qiáng)、輕巧易用、工作穩(wěn)定等優(yōu)點(diǎn)??蓪?shí)現(xiàn)對(duì)不同類型的家中各處家居的控制,并且保證通訊的可靠性。大大提高了智能家居控制的高效性與便利性,具有廣闊的應(yīng)用前景。