陳希祥,黃 伍,李德英
(湖南信息學院 電子科學與工程學院,長沙410007)
人們生活節奏越來越快,時間的合理有效利用成為人們日益關注的焦點。隨著計算機與信息技術的迅速發展,家居系統智能化、信息化、數字化帶來方便的同時,為使用者提供了更優質的生活體驗,具有良好的發展前景與廣闊的應用市場[1]。
智能家居[2-3]的起源可以追溯到上世紀80年代的美國,隨后在歐美及日韓、新加坡等亞洲發達國家流行,目前已取得較豐富的研究成果[4-5]。智能家居進入我國的時間較短、起步較晚[6],隨著我國移動通信技術、自動控制技術、智能技術的不斷發展和突破創新,智能家居發展非常迅速。無線通訊技術、總線技術、綜合布線技術、以及網絡技術[7-8]推進了智能家居與物聯網之間的融合發展。
語音識別技術高效快捷、舒適方便,能夠很好地幫助人們將復雜繁瑣的生活簡單化,給人們帶來更舒適的居家體驗。隨著物聯網大數據與人工智能技術不斷發展,以智能音箱為代表的智能產品廣泛應用于家居生活,語音交互逐漸成為下一代人機交互模式[10-12]。近年來國內外對語音控制技術進行了研究,且已取得很多成就[13-14]。文章基于STM32 單片機,使用語音識別技術實現家居系統智能控制。
智能家居系統以家庭環境為依托,應用計算機技術、通信技術、傳感器技術以及智能技術,實現家居智能化監控和管理。本文以STM32 單片機為控制核心,基于LD3320 語音識別芯片實現人機交互,針對家居設備設計智能化嵌入式控制系統。系統結構上由硬件和軟件兩部分組成,實現照明電燈、窗簾和熱水器等典型家居設備的智能控制,如圖1 所示。

圖1 語音識別控制模塊框圖Fig.1 Block diagram of speech recognition control
在控制方式上主要采用語音采集與識別控制,主要過程如下:
(1)語音指令設置和修改:通過程序設計,對所使用的用戶語音指令關鍵詞進行預先設置與修改,作為觸發語音識別芯片的一級語音指令。
(2)家居系統語音識別控制:用戶發出語音信號作為二級語音控制指令,LD3320 語音識別芯片檢測信號,進行特征提取和關鍵詞匹配、頻譜分析,正確識別語音指令、數據處理后傳送給單片機,由單片機發送相應的控制指令給終端設備,實現家居系統語音控制,如圖2 所示。

圖2 語音識別流程圖Fig.2 Speech recognition flow chart
智能控制系統主要包括單片機最小系統、語音識別電路及相應的外圍接口電路等。
選用STM32F103C8T6 芯片做為主控制器,最小系設計是整個控制系統的核心,包括系統電源、實時時鐘電路、復位電路等幾個部分。
(1)電源電路設計
單片機工作電壓為2~3.6 V,由外部提供5 V 直流電源,通過AMS1117 電壓轉換芯片,以3.3 V 作為單片機供電電源,電源電路如圖3 所示。

圖3 電源電路Fig.3 Power circuit
(2)時鐘電路設計
STM32 內部有5 個時鐘源,只需考慮外部時鐘設計,即外部高速時鐘和外部低速時鐘,選擇8 MHz頻率的外部高速晶振源提供給內部時鐘,選擇頻率為32.768 kHz 的外部低速晶振源提供給實時時鐘模塊。時鐘電路如圖4 所示。

圖4 時鐘電路Fig.4 Clock circuit
(3)復位電路設計
系統復位方式有兩種,一是上電復位,由串聯電阻以及并聯電容構成,系統上電,電容使復位引腳為低電平;電容充電完成后,拉高電平,復位完成。上電復位為系統主要復位方式。二是按鍵復位,系統利用復位引腳連接按鍵實現復位。當按鍵被按下時,復位引腳電平被拉低,系統復位;按鍵彈起,復位引腳電平拉高。復位電路如圖5 所示。

圖5 復位電路Fig.5 Reset circuit
采用LD3320 語音識別芯片作為語音控制處理核心,它具有強大的語音識別特征庫,識別功能靈敏、短距離內識別誤差小。LD3320 內部有8 個數據傳輸接口P0~P7,且集成一塊單片機芯片;語音信號采集并進行處理后,通過串口方式與單片機P0.0~P0.7 相連 實 現數 據通 訊;P3.5~P3.7 分別與RST、WR、RD 等控制信號端連接,P4.3 與MD 端連接,采用10K 的上拉電阻; 系統電路原理如圖6 所示,實物如圖7 所示。

圖6 語音信號采集識別電路Fig.6 Speech signal acquisition and recognition circuit

圖7 控制系統硬件圖Fig.7 Hardware diagram of control system
在家居系統控制中,系統上電后首先對LD3320芯片進行初始化,包括單片機SPI、GPIO 引腳、片內時鐘、定時器以及對各個引腳端的初始化和配置。其次,系統通過LD3320 語音識別芯片采集并識別用戶發出的一級語音觸發指令及二級語音控制指令,將語音指令進行處理后傳輸給單片機,單片機發送控制指令給相應的家居設備,實現語音控制。當系統接收到一級觸發指令“小智”時,進入預備狀態,等待二級語音控制指令。該語音識別芯片允許用戶預設50 條識別指令,文章所設計的語音識別指令如表1 所示。

表1 語音識別指令預設Tab.1 Preset values of speech recognition instruction
單條控制指令語句字數限制在5 個字以內,若用戶發出的單條語句字數過多,則字的發音,人的敘述時間等因素,影響語音指令識別準確度。
(1)照明電燈開啟和關閉。燈光照明模塊由2個LED 燈模塊組成。單片機通過檢測用戶發出的語音指令,控制引腳的高低電平輸出進而控制LED 燈狀態。當識別到二級指令“開客廳燈”語句時,語音識別芯片觸發,單片機引腳輸出高電平信號,二極管正向導通,LED 點亮;當識別到“關客廳燈”指令時,語音識別芯片觸發,單片機引腳輸出低電平信號,二極管反向電流截止,LED 熄滅。
(2)智能窗簾智能卷合。當用戶發出“開窗簾”或者“關窗簾”的二級語音控制指令時,語音識別芯片便對語音識別信號進行處理并傳送到單片機,經L298N 驅動芯片驅動電機正反轉,從而控制窗簾的開啟和關閉。
(3)熱水器開啟和關閉。當用戶發出二級語音指令“打開熱水器”,單片機引腳PA1 輸出高電平,控制繼電器的PIN 端,使繼電器光電耦合閉合,打開熱水器開關;當用戶發出二級語音指令“關閉熱水器”,PA1 輸出低電平,繼電器光電隔離斷開,熱水器關閉。
對系統上電,發送“小智”的語音指令,藍燈亮起,語音識別模式觸發,開始進入二級語音指令檢測與識別狀態;發送“小白”指令,無反應。若16 s 內無二級指令,藍燈熄滅,語音識別模式關閉。
(1)語音指令測試:通過設定幾組不同的語音指令,分為短字符串長度和長字符串長度語音指令,分別對這些語音指令進行檢測,觀察并判斷系統對語音指令長短的處理能力,結果如表2 所示。

表2 長、短語音指令識別能力測試Tab.2 Identification ability test of long and short speech instructions
經過對10 組不同長語音指令、短語音指令識別測試可以看出,語音的長短對識別準確率有較明顯的影響,長指令語音識別的能力較弱,有一定識別誤差,甚至得不到響應。而對于短指令,語音識別的效率和能力都非常有效。
(2)距離測試:通過在室內5 個不同距離的地點,發送相同的語音指令,檢測不同距離對二級語音控制指令的檢查與識別能力的影響,結果如表3所示。

表3 語音識別距離測試Tab.3 Speech recognition distance test
通過數據可以看出,離主控制器越遠,識別的能力越弱,甚至出現監測、識別不了的情況,而在語音識別芯片的允許范圍0~15 m 內,可滿足正常住宅控制距離范圍。
最后對所設計的家居智能控制系統進行綜合測試,結果如表4 所示,結果表明,所設計的系統能夠有效實現語音遠程智能控制。

表4 智能家居系統語音控制功能測試Tab.4 Speech control function test of smart home control system
綜合考慮成本和工作效率,設計基于語音識別的家居智能控制系統,支持非特定人語音識別(ASR),采用雙重口令語音識別控制,提升了語音的使用范圍。測試結果表明,系統功能正常運行,語音識別芯片的識別率已經能夠達到95%,操作方便,具有較好的人機交互能力,可修改、可編程,實現家居系統控制的嵌入式、小型化。
隨著5G 和物聯網時代的到來,萬物互聯都變為可能,智能家居改善用戶的生活環境、增強人的生活體驗,具有非常大的研究與應用空間。特別是圖像識別及自然語言處理等人工智能技術與算法的不斷發展,家居系統智能化控制提供更優化解決方案,為不同用戶提供個性化的智能產品與服務。