黃夢龍 李云紅 馬麗萍 鐘曉妮 王剛毅



摘要:為了改變傳統家居中人為觸發的控制方式,提高智能控制程度,設計了基于ARM和WEGASUN-M6的智能家居語音控制系統。系統以X6818bv3開發板和WEGASUN-M6語音識別模塊為核心搭建了智能家居的硬件平臺,采用非特定人語音識別技術,通過語音識別模塊對關鍵詞語音信號進行識別,最終識別結果的控制指令以無線方式發送到設備節點實現家電的智能控制。實驗測試表明,該語音控制系統的語音識別率高,可靠性強。
關鍵詞:智能家居;ARM;非特定人語音識別;語音控制
中圖分類號:TP23? ? ?文獻標識碼:A? ? ?文章編號:1009-3044(2018)34-0178-03
智能家居是將家庭中各種通信設備、家用電器和安防設備連接成為一個家庭智能化系統,以便對上述設備進行監視、控制管理和信息交換,提供安全、高效、舒適、便利的家居環境[1-4]。語音識別是人機交互的一種重要技術手段,隨著科學技術的發展,語音識別技術開始應用于智能家居生活中,而常見的語音控制系統都是基于單片機實現,文獻[5-7]采用單片機進行智能家居語音控制系統設計,但隨著人們對家居要求不斷提高,傳統的單片機已無法滿足需求,文獻[8]采用凌陽單片機以及射頻模塊組成zigbee語音子節點設計語音控制系統,但成本比較高。WiFi是移動互聯網新興的一支主力軍,滿足了不斷增長的帶寬需求,在文獻[9]中,李云紅等設計了基于ARM的WiFi無線終端系統,實現了隨時隨地連接入互聯網,實現上網沖浪、下載信息等功能,WiFi也廣泛應用于智能家居系統中,備受業界關注[10-12]。在以上研究基礎上,系統選擇無線路由WiFi技術組建家庭內網,通過語音模塊實現語音人機交互,最終實現設備的監控以及語音控制。
1 系統總體結構設計
該系統的硬件部分包括電源、WEGASUN-M6語音識別模塊、X6818bv3開發板、繼電器、WiFi模塊等。系統整體控制由 X6818bv3開發板實現,包括對M6語音識別模塊的初始化等。用戶語音指令經麥克風送給語音識別模塊,語音識別模塊對識別到的語音進行解析并且通過USB轉串口將識別結果發送給控制器,控制器對識別結果進行判斷分析,將相關設備控制命令通過無線發送到對應的家庭網絡節點,由節點對命令進行判斷并執行底層硬件操作,達到對設備的精確控制,傳感器系統對環境進行監測,監測異常時,控制器發送相關指令給語音模塊,進行語音報警。系統總體框架圖如圖1所示。
2 硬件設計
硬件電路主要由控制器模塊X6818bv3開發板、WEGASUN-M6語音模塊、WiFi模塊等組成。X6818bv3開發板采用三星最新的S5P6818芯片設計,含有64位8核Cortex-a53處理器,并且集成了LCD控制器,USBHost,BUS控制器、中斷控制、存儲控制等豐富的外設資源。
2.1 WEGASUN-M6語音人機交互
在語音識別技術發展之初,只能由特定的人進行語音命令來完成任務,而且需要錄音和訓練等,而現在非特定人語音識別只需用戶使用相同的語言就可以進行識別,且識別效率大大提高,識別率高達95%,無須外接輔助,M6語音識別模塊采用ASR技術中的非特定人語音識別技術。它的原理是通過數學模型進行建模,將使用者的語音數據通過頻譜轉換為語音特征提取出來,然后通過關鍵詞列表逐一匹配,通過概率匹配最優的結果。
M6語音識別模塊芯片內部集成了快速穩定的優化算法,不需外接存儲器,不需要用戶在使用前進行訓練和錄音完成非特定人語音識別,識別的語音準確率比較高,可識別漢語以及英語,模塊具有優越的語音識別和語音合成性能,可獨立運行,識別詞條達2000多句,識別距離達5米,包含多種工作模式,無須在Windows或者Android平臺上,通過TTL串口(UART)接收指令和返回結果,能通過串口與各種MCU進行通訊。
2.1.2 語音控制設備流程
設置語音識別模塊串口通信參數、與設備相對應的關鍵詞列表,以及語音詞條識別結果輸出,設置成功后再與控制器USB接口相連接,控制器對M6語音識別模塊初始化,語音模塊與控制器之間就可以進行正常通信,同時控制器可以發送相應指令給語音模塊,讓語音模塊輸出語音信息達到語音報警的目的。
MIC將控制命令語音信息輸入給語音模塊后,首先進行頻譜分析,從語音信息中提取特征信息,隨后模塊中語音識別器將采集到的語音特征信息與識別關鍵詞條列表中的數據進行對比匹配,與關鍵詞條列表中的一條匹配成功后,則輸出已經設置好的詞條識別結果,此時,控制器收到識別結果并且對接收到的數據進行判斷,執行相應的操作。系統設計過程中,為了有效提高語音識別率,識別模塊采取口令工作模式,避免周圍環境雜聲導致系統錯誤識別,如控制客廳燈時,說出口令“大管家”,語音模塊播放語音“我在呢”,說出“打開客廳燈”控制命令,語音識別模塊對控制命令進行識別,并將識別結果發送給控制器,語音控制設備流程圖如圖2所示。
3 軟件設計
控制器采用linux操作系統,在其基礎上實現相關程序的設計,軟件主要包括系統軟件平臺的搭建、linux系統裁剪及編譯、驅動程序設計、應用主程序設計,系統應用主程序主要包括控制器調用設備驅動模塊的程序以及Qt界面程序,并且兩應用程序之間通過TCP/IP協議進行socket通信。
3.1 系統軟件平臺搭建
在智能家居系統中選擇3.4.39版本的linux操作系統,構建交叉編譯環境,進行uboot移植,在內核目錄中,通過運行make menuconfig進入內核配置菜單,進行linux內核配置如對USB攝像頭、無線網絡802.11協議的支持等,編譯內核并移植,完成后制作根文件系統并進行移植,搭建Qt編譯與開發環境。
3.2 系統應用程序設計
系統應用程序設計采用C/S架構,包括進行TCP/IP socket通信的服務器端程序以及客戶端程序(app),其中對客戶端發送的指令進行判斷并將相應指令發送至節點的程序為服務器端,Qt界面程序為客戶端。在Qt編程中,TabWidget控件可以實現多個標簽進行切換顯示不同的內容,利用信號和槽機制進行對象間的通信,如在LCD觸摸屏上點擊燈光開關按鈕時,則會觸發clicked()響應信號,然后執行相對應的槽函數,將燈光控制指令發送給服務器。在Qt主線程中,程序通過定時器類QTimer不停地監測傳感器系統檢測到的環境參數數據,當檢測到的數據異常時,控制器發送相應指令給語音模塊,達到語音模塊語音提示與報警的效果,環境參數檢測流程圖如圖3所示。Qt界面程序不僅設計控制界面,同時還通過線程類QThread建立子線程實現不斷輪詢語音模塊的輸出值,解決程序多任務同時運行的問題,當客戶端程序收到語音模塊輸出值時,進行判斷并且將對應的設備控制命令通過TCP/IP協議socket通信發送給服務器端程序,服務器端程序對接收到的設備控制命令進行判斷后,發送命令至對應設備的網絡節點,最后設備執行響應,從而實現家居設備的控制。應用程序設計框架如圖4所示。
4 系統測試
智能家居系統硬件以及軟件設計完成后,部署好硬件,并將設計好的Qt客戶端程序移植到控制器上并運行,與控制器連接的LCD觸摸屏界面顯示如圖5所示,首先測試觸摸屏控制設備效果,通過點擊觸摸屏對應按鈕對設備進行控制,測試結果表明,智能家居系統運行穩定。
對語音模塊進行測試,說出包含控制設備的關鍵詞識別詞條,系統穩定運行,對各識別詞條進行多次測試,分別在安靜環境和嘈雜環境兩種家庭場景中使用設備,分別記錄在不同情況下設備指令識別成功的準確率,測試結果如表1所示。從表1可以看出,在安靜的環境中,設備對非特定人的語音識別準確率達91%,在嘈雜環境中準確率降低,這主要是由于雜音對語音信息的干擾導致語音處理器的誤處理。
5 結論
設計的智能家居語音控制系統,通過WiFi組建家庭內部無線網絡,以ARM控制器為核心,實現了人機語音交互,可實現語音識別以及控制智能家居的所有終端節點。系統的功能性強,運行穩定,可應用在智能家居以及相關行業中,具有廣闊的應用前景。
參考文獻:
[1] 鄧昀,李朝慶,程小輝.基于物聯網的智能家居遠程無線監控系統設計[J].計算機應用,2017,37(1):159-165.
[2] 程亮,章國寶.基于IOS的智能家居終端控制系統[J].計算機應用,2015,35(S1):292-295.
[3] 宋玉琴,姬引飛,段俊瑞,等.基于Android和ZigBee的智能家居系統設計[J].西安工程大學學報,2015,29(4):442-446.
[4] 賈陽靜,鄒念育,雷冬鳴,等.基于Android和WIFI通信的智能家居系統設計[J].大連工業大學學報,2016,35(1):67-71.
[5] 徐子豪,張騰飛. 基于語音識別和無線傳感網絡的智能家居系統設計[J]. 計算機測量與控制,2012,20(1):180-182.
[6] 馮志榮,王紅梅. 基于LIN總線的語音控制智能家居系統[J]. 現代電子技術,2015,38(10):28-31.
[7] 李澤彬,姚有峰,張飛龍,等. 基于單片機的智能家居語音控制系統設計[J]. 電子設計工程,2017,25(8):175-177+182.
[8] 趙奎兵,段富海.基于ZigBee節點的智能家居系統語音控制設計[J].現代電子技術,2012,35(20):5-8.
[9] 李云紅,張恒,張亞林,等.基于ARM的WiFi無線終端系統設計[J].計算機與數字工程,2017,45(3):498-501+543.
[10] 鄭希,王一甲,周金治.基于WiFi的智能家居系統設計[J].微型機與應用,2016,35(7):67-68+72.
[11] 賈陽靜,鄒念育,雷冬鳴,等.基于Android和WIFI通信的智能家居系統設計[J].大連工業大學報,2016,35(1):67-71.
[12] 季建華.基于物聯網的智能家居遠程監控系統設計與實現[J].計算機應用與軟件,2015,32(11):143-146+205.
【通聯編輯:梁書】