黃李健
(寧德師范學院信息與機電工程學院,福建寧德,352100)
智能語音識別技術可以讓機器通過識別、理解,把聲音信號轉化為相應的文本或命令,讓機器能夠聽懂人類的語言,從而做出正確的操作[1]。智能語音技術作為AI應用最成熟的技術之一,在智能家居、智能車載、智能可穿戴領域有了迅猛發(fā)展[2]。“智能家居”是集信息家電、設備自動化、網(wǎng)絡通信、傳感為一體,從而實現(xiàn)家電可被遠程操控的一種便利、高效、安全的管理系統(tǒng)[3]。真正的智能家居應該做到真正的無感化,可以直接與其“對話”,實現(xiàn)對家電家居的控制,真正打造一款無感化的智能家居系統(tǒng)[4]。利用話語來進行操作控制,能夠為人們在實際應用過程中減少手動控制的過程,提高操作的便利性,這一控制技術正在改變人們日常生活的方方面面。智能語音家居系統(tǒng)可以提高人們生活的幸福感[5]。本文設計了一個具有語音識別的智能家居控制系統(tǒng),系統(tǒng)使用便利,安全可靠。
如圖1所示,系統(tǒng)以STM32F103C8T6作為主控制器,語音模塊采用SNR6812進行語音信息的識別,溫濕度模塊采用DHT11進行室內溫度和濕度信號的檢測,并交由單片機進行數(shù)據(jù)處理;采用光敏電阻實現(xiàn)對外界光強的測量,并可依據(jù)設定的光強閾值范圍,實現(xiàn)對窗簾的自動控制;按鍵電路可以實現(xiàn)模式的切換以及數(shù)值的調節(jié);顯示模塊采用TFT液晶顯示屏,實現(xiàn)系統(tǒng)的人機交互界面,通過顯示屏可以讀取溫濕度、光照強度、時間日期、設備的開關狀態(tài)、燈光亮度等信息。
圖1 系統(tǒng)整體框圖
該智能家居系統(tǒng)能夠對家庭內部的環(huán)境參數(shù)進行系統(tǒng)性的采集,根據(jù)光照、溫度、濕度等環(huán)境信息的變化自動做出相應控制。同時,聲控模式可以識別用戶的語音命令,并傳輸給單片機,通過主控中心解析該命令后進行相關操作控制。此外,還保留了手動控制模式,當自動模式和聲控模式失靈時,可以通過手動操作按鍵控制設備。
系統(tǒng)選用的處理器模塊采用STM32單片機,型號為STM32F103C8T6,它最高帶有64K的Flash,抗干擾能力強。采用STM32作為主控制器,功能比較全面,編程方式基于C語言,編程靈活,可移植性強,自由度大,能實現(xiàn)多種算法,這個控制器也在各個領域廣泛的使用,小到日常家電,大到工業(yè)儀表,隨處可見它的身影。
語音模塊采用SNR6812語音模塊,其抗干擾能力比大多數(shù)的語音識別模塊要強,在市場上的使用率非常高,原因是該模塊的內部具有更高級的語音識別算法,這樣即使在高噪聲環(huán)境下使用也可以較為穩(wěn)定地識別出指定關鍵字的聲音。且該模塊無需用戶錄音訓練,具有高穩(wěn)定的非特定人聲語音識別,可以滿足設計的可靠性需求。本模塊具備UART通信界面,語音引擎可以自動反饋識別成功后的數(shù)據(jù),通過UART串口發(fā)送,可靈活搭配MCU使用,這使得語音識別的使用變得簡單,提高了開發(fā)的效率。該模塊專注本土優(yōu)化的語音識別算法,只支持普通話語種。
數(shù)據(jù)采集模塊包含溫濕度采集和光照強度采集模塊。設計中利用DHT11溫濕度傳感器對室內溫濕度進行監(jiān)測采集,DHT11是一款常用的溫濕度復合傳感器,具有校準數(shù)字信號輸出功能,其性能穩(wěn)定,安全可靠。采用光敏電阻傳感器對外部環(huán)境光線進行監(jiān)測,根據(jù)光敏電阻阻值隨光照強度變化的特性,實現(xiàn)光照強度的測量。
顯示模塊采用TFT-LCD液晶顯示器,它是薄膜晶體管型液晶顯示屏,即所謂的“真彩”。每一個TFT液晶的像素都有獨立的半導體開關,因此每個像素都可以通過點脈沖直接控制,故而每個節(jié)點都相對獨立,同時也可以連續(xù)控制,這不僅使顯示屏的反應速度更快,還可以使顯示色階更精準,這都使得TFT液晶的色彩更真實。該模塊可以實現(xiàn)室內環(huán)境的溫濕度、光照強度、風扇燈光等設備的工作狀態(tài)以及時間、日期等信息的顯示功能。
在此系統(tǒng)設計中,通過對步進電機進的控制,模擬實現(xiàn)對窗簾的自動開關功能。步進電機是一種可以將接收到的電信號轉換為相應角度動作的電機,屬于一步一動類型,與直流電機相比,其可以很好地控制行程的長短,達到較好的控制效果,采用的步進電機型號為28BJY-48,是一個四相八拍的步進電機。由于單片機的I/O口本身驅動能力有限,不能對其進行直接驅動,因此需要經(jīng)過相應的電路進行放大,可以通過ULN2003實現(xiàn),其持續(xù)輸出電流可以達到500毫安以上,滿足本次設計需求。
風扇的作用是模擬降溫設備,當家庭環(huán)境的溫度過高,可自動開啟風扇設備,風扇相當于一個電機設備,所以無法直接用單片機的引腳口去驅動,這里使用了一個三極管的驅動電路實現(xiàn),采用8050型號三極管,這是一種NPN型三極管,在三極管的基極串聯(lián)一個限流電阻,然后與單片機的I/O口相接,這樣當該引腳口輸出高電平時三極管導通,風扇就會開啟。燈光控制部分采用USB接口驅動LED燈實現(xiàn)。
主程序流程圖如圖2所示。程序啟動后首先進入初始化設置,傳感器、顯示模塊、語音模塊以及相應的時鐘、定時器的初始化完成后,系統(tǒng)就會進入主程序循環(huán),控制包括自動、手動、聲控三種模式。當程序進入自動模式后會進行溫濕度和光照強度的檢測,從而實現(xiàn)對風扇以及燈光的開關控制;當程序進入聲控模式,語音模塊等待喚醒,喚醒后接收預先設置的指令,例如“打開風扇”指令后,單片機會控制風扇電路啟動風扇;當程序進入手動模式,按鍵掃描程序啟動,對按下的按鍵進行檢測,進而通過單片機控制對應設備的開關。
圖2 主程序流程圖
語音識別模塊包含語音關鍵字識別和語音識別芯片與單片機之間利用串口的信息傳輸,傳輸?shù)膬热菔且淮M制數(shù)值。系統(tǒng)初始化后,加載語音關鍵詞和識別列表,當用戶通過語音進行控制時,單片機對語音信號進行匹配,匹配成功后輸出控制命令。語音識別命令包括一級指令和二級指令,呼叫一級指令“小智你好”喚醒語音模塊才能進行語音控制操作。之后通過語音控制二級指令如“打開燈光”、“關閉燈光”、“調亮一點”、“調暗一點”、“打開風扇”、“關閉風扇”、“提高速度”、“降低速度”、“打開窗簾”、“關閉窗簾”等實現(xiàn)相應具體控制動作。
當程序進入自動模式后會進行溫濕度和光照強度的實時檢測,采集信號經(jīng)過AD轉換后送單片機處理并顯示,依據(jù)預先設定閾值范圍實現(xiàn)對相關設備的自動控制。例如:當光照強度在合適的范圍內可以驅動電機打開窗簾,溫度過高時自動打開風扇,環(huán)境光線較暗時自動打開LED燈。手動控制模式通過具體功能按鍵控制。