謝永紅,李威
(華南理工大學(xué)廣州學(xué)院電子信息工程學(xué)院,廣東廣州 510800)
隨著科學(xué)技術(shù)的進(jìn)步和生活水平的不斷提高,人們對家電設(shè)備的控制方式提出了更高的要求,實(shí)現(xiàn)對家電的智能化、網(wǎng)絡(luò)化控制成為家電系統(tǒng)重要的發(fā)展和研究方向[1-2],它可以為用戶提供更加舒適、便利的生活方式和用戶體驗(yàn)。文中設(shè)計(jì)了一款智能語音家電控制系統(tǒng),利用物聯(lián)網(wǎng)技術(shù)將各種家電設(shè)備進(jìn)行組合,形成一個(gè)家電設(shè)備控制網(wǎng)絡(luò)。該系統(tǒng)可以通過語音、手機(jī)應(yīng)用程序和人機(jī)交互界面等多種方式實(shí)現(xiàn)對家電的控制,突破了傳統(tǒng)家電本地控制和單一控制的局限,實(shí)現(xiàn)了遠(yuǎn)程異地控制。
文中設(shè)計(jì)的家電控制系統(tǒng)主要由語音識別部分、底層執(zhí)行器件控制部分以及圖形化控制部分組成,其總體設(shè)計(jì)框圖如圖1 所示。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
語音識別部分通過語音識別模塊,識別用戶發(fā)出的語音指令,利用WIFI 模塊將系統(tǒng)連接到云服務(wù)器上,手機(jī)應(yīng)用程序可以登錄到云服務(wù)器,實(shí)現(xiàn)對家電系統(tǒng)的遠(yuǎn)程訪問和控制。利用ZigBee 模塊連接到ZigBee 網(wǎng)絡(luò),從而控制終端家電設(shè)備。底層執(zhí)行器件控制部分主要通過I/O 端口控制RGB 彩燈、步進(jìn)電機(jī)和繼電器等執(zhí)行器件。圖形化控制部分采用STM32 芯片和實(shí)時(shí)操作系統(tǒng),通過人機(jī)交互界面,進(jìn)行可視化控制,實(shí)現(xiàn)任務(wù)間的跳轉(zhuǎn)與數(shù)據(jù)顯示。圖形化控制部分同時(shí)帶有陀螺儀、環(huán)境傳感器、指紋識別模塊和攝像頭模塊,利用IIC 協(xié)議讀取陀螺儀模塊的數(shù)據(jù),通過串口與環(huán)境傳感器模塊和指紋識別模塊連接,并將攝像頭模塊所拍攝的圖像數(shù)據(jù)保存在SD 卡中。
家電控制系統(tǒng)的各個(gè)部分之間通過CAN 總線、LoRa/藍(lán)牙等方式進(jìn)行連接,完成相互間的數(shù)據(jù)通信與信號同步,從而形成一個(gè)整體。系統(tǒng)可以將控制數(shù)據(jù)的指令發(fā)送給執(zhí)行器件,并將采集到的環(huán)境數(shù)據(jù)發(fā)送給用戶,實(shí)現(xiàn)對家電的操控和信息數(shù)據(jù)的讀取。
家電控制系統(tǒng)的硬件電路設(shè)計(jì)主要包括各組成部分主控制器的選擇、語音識別電路設(shè)計(jì)、底層執(zhí)行器件控制電路設(shè)計(jì)以及各個(gè)部分之間的通信模塊電路設(shè)計(jì)。
由于家電控制系統(tǒng)低功耗、微型化的要求,故整個(gè)家電控制系統(tǒng)的硬件電路采用嵌入式芯片作為主處理器。語音識別部分的主控芯片MCU1 和底層執(zhí)行器件控制部分的主控芯片MCU2 使用的是STM32 F103C8T6 處理器,圖形化控制部分的主控芯片MCU3 采用STM32F429IGT6 處理器。STM32F429 IGT6 處理器與STM32F103C8T6 處理器相比,外設(shè)接口多、處理速度快、功能更強(qiáng)大[3-5],可以滿足搭載實(shí)時(shí)操作系統(tǒng)和用于圖形界面設(shè)計(jì)的需求。
語音識別模塊采用SYN7318 模塊,由語音識別、合成控制兩個(gè)部分組成,能夠識別非特定人的語音信號[6-8]。用戶通過向語音識別模塊說出定義好的語音詞條命令,就可以實(shí)現(xiàn)用語音識別來控制家用電器的功能。
語音識別模塊的接口電路圖如圖2所示。SYN7318模塊通過RXD、TXD連接主控MCU1的串口,PINYUYI接口用于連接喇叭。語音識別模塊把從麥克風(fēng)采集到的語音指令與設(shè)定好的詞條進(jìn)行匹配,識別成功后,得到控制設(shè)備的詞條ID,發(fā)送給主控MCU1。主控對接收的數(shù)據(jù)進(jìn)行處理,并通過通信模塊發(fā)送給執(zhí)行器件,從而控制執(zhí)行器件的動(dòng)作。主控也可通過串口發(fā)送命令給SYN7318 語音識別模塊,語音識別模塊在收到命令后,合成為語音信號輸出,通過喇叭進(jìn)行播放。
圖2 語音識別模塊接口電路圖
家電控制系統(tǒng)采用CAN 總線、WIFI模塊、ZigBee模塊和LoRa/藍(lán)牙模塊實(shí)現(xiàn)各部分之間的連接和數(shù)據(jù)通信,其各個(gè)模塊的接口電路圖如圖3 所示。
圖3 通信模塊接口電路圖
WIFI 模塊采用ESP8266 模塊,主要完成MCU1與云服務(wù)器之間的通信。WIFI 模塊通過RX、TX 連接主控MCU1 的串口USART3,LED、KEY 用于狀態(tài)的顯示以及通信模式的選擇[9-10]。
ZigBee 模塊采用WLT2420SZ 模塊,與主控MCU1 的串口USART2 進(jìn)行連接,主要完成家電終端設(shè)備的組網(wǎng)。ZigBee 無線通信網(wǎng)絡(luò)功耗低、通信可靠[11-12]。當(dāng)MCU1 接收到數(shù)據(jù)后,對數(shù)據(jù)進(jìn)行處理,并將處理好的數(shù)據(jù)通過串口發(fā)送給ZigBee 模塊。ZigBee 模塊接收到數(shù)據(jù)后再轉(zhuǎn)發(fā)給ZigBee 網(wǎng)絡(luò)的終端節(jié)點(diǎn),進(jìn)而控制空調(diào)和室內(nèi)燈等設(shè)備。
MCU1 和MCU2 之間通過CAN 總線進(jìn)行連接和數(shù)據(jù)交換通信,CAN 總線使用TJA1050 芯片實(shí)現(xiàn)對通信數(shù)據(jù)的傳輸和控制。CAN 總線采用差分信號進(jìn)行傳輸,因此具有抗干擾能力強(qiáng)、傳輸距離遠(yuǎn)、速度快等優(yōu)點(diǎn)[13-14]。
MCU3 與MCU2 之間進(jìn)行通信,可以根據(jù)通信距離、傳輸速率等實(shí)際需要,選擇使用LoRa 模塊或藍(lán)牙模塊,兩者都是通過串口與主控芯片進(jìn)行連接,完成數(shù)據(jù)的收發(fā)操作。LoRa 模塊、藍(lán)牙模塊分別采用E32-433T20DC 模塊和HC-05 模塊,利用開關(guān)KEY來設(shè)置通信模式,可以選擇使用LoRa 或者藍(lán)牙通信方式,并通過LED 燈進(jìn)行直觀顯示。LoRa 模塊的通信距離遠(yuǎn)、通信節(jié)點(diǎn)多、功耗低[15],而藍(lán)牙模塊相對于LoRa 模塊來說,速率較快、連接簡單、通用性強(qiáng)[16-18]。
系統(tǒng)軟件設(shè)計(jì)總體架構(gòu)如圖4 所示。系統(tǒng)軟件分為3 部分進(jìn)行設(shè)計(jì),分別是語音識別、底層執(zhí)行器件及圖形化控制系統(tǒng)。每個(gè)部分的軟件根據(jù)其實(shí)現(xiàn)的功能不同,由不同的模塊組成,其中語音識別程序設(shè)計(jì)和圖形化控制系統(tǒng)程序設(shè)計(jì)是整個(gè)系統(tǒng)程序設(shè)計(jì)的重點(diǎn)。
圖4 系統(tǒng)軟件設(shè)計(jì)總體架構(gòu)
語音識別模塊軟件設(shè)計(jì)流程如圖5 所示。首先對各個(gè)傳感器模塊、通信協(xié)議及主芯片時(shí)鐘等進(jìn)行初始化操作,待初始化完成后,主控會(huì)接收傳感器和通信模塊的數(shù)據(jù),并進(jìn)行數(shù)據(jù)分析。如果接收到來自語音識別模塊的數(shù)據(jù)幀,將數(shù)據(jù)與預(yù)先存儲(chǔ)好的語音識別關(guān)鍵詞進(jìn)行匹配,判斷數(shù)據(jù)是否有效。如果數(shù)據(jù)無效,則繼續(xù)等待接收下一次的數(shù)據(jù)幀。如果數(shù)據(jù)有效,則對數(shù)據(jù)進(jìn)行處理,并將格式化好的數(shù)據(jù),通過通信模塊發(fā)送給其他的主控器件,來控制執(zhí)行器的動(dòng)作。待數(shù)據(jù)發(fā)送完成后,繼續(xù)等待下一次有效數(shù)據(jù)的到來。
圖形化控制系統(tǒng)軟件采用UCOSIII 實(shí)時(shí)操作系統(tǒng)和Stemwin 來構(gòu)建人機(jī)交互界面,可以實(shí)現(xiàn)室內(nèi)環(huán)境數(shù)據(jù)的實(shí)時(shí)監(jiān)測與使用人機(jī)交互界面控制底層執(zhí)行器件。通過點(diǎn)擊觸發(fā)界面的各個(gè)應(yīng)用,以實(shí)現(xiàn)不同的功能,如指紋錄取與刪除、智能門禁控制、查看拍攝圖片、顯示室內(nèi)溫濕度、空氣質(zhì)量等環(huán)境數(shù)據(jù)及時(shí)鐘日歷、展示陀螺儀坐標(biāo)狀態(tài)、空調(diào)和燈光控制等。各個(gè)功能任務(wù)通過實(shí)時(shí)操作系統(tǒng)進(jìn)行輪轉(zhuǎn)調(diào)度,以達(dá)到快速響應(yīng)的效果。使用LoRa/藍(lán)牙通信模塊來收發(fā)數(shù)據(jù),當(dāng)接收到數(shù)據(jù)幀信息后,對數(shù)據(jù)幀所包含的數(shù)據(jù)進(jìn)行提取與代入,通過人機(jī)交互界面可以進(jìn)行查看與控制。
圖形化控制系統(tǒng)軟件運(yùn)行流程圖如圖6 所示。首先進(jìn)行系統(tǒng)的初始化,初始化完成后進(jìn)入圖形化主界面,主界面顯示的是各個(gè)任務(wù)的功能應(yīng)用,接下來判斷是否接收到交互界面的點(diǎn)擊數(shù)據(jù),如果沒有收到點(diǎn)擊數(shù)據(jù),則主界面不進(jìn)行功能任務(wù)的跳轉(zhuǎn)。如果收到交互界面的點(diǎn)擊數(shù)據(jù),則通過通信模塊讀取和同步數(shù)據(jù),并進(jìn)行規(guī)則化處理。處理完畢后,從主界面跳轉(zhuǎn)進(jìn)入到所選擇的功能界面,并執(zhí)行相應(yīng)的底層器件模塊動(dòng)作,然后判斷用戶是否有對設(shè)定的數(shù)據(jù)進(jìn)行修改,如果不需要修改,則可以返回主界面。如果需要對設(shè)定的數(shù)據(jù)進(jìn)行修改,則將修改后的數(shù)據(jù)打包成數(shù)據(jù)幀,通過通信模塊發(fā)送給底層器件模塊執(zhí)行相應(yīng)的動(dòng)作。
圖6 圖形化控制系統(tǒng)軟件流程圖
針對嵌入式語音控制家電系統(tǒng),目前主要測試了系統(tǒng)語音識別的可靠性和不同控制方式下系統(tǒng)響應(yīng)的成功率。
1)語音識別測試
在不同的使用環(huán)境中,分別對系統(tǒng)語音識別的準(zhǔn)確性、距離進(jìn)行測試。測試時(shí)同一人用同樣大小的音量,分別在安靜的環(huán)境和有噪音的環(huán)境中,在不同的語音距離情況下,對系統(tǒng)進(jìn)行語音控制,記錄系統(tǒng)的響應(yīng)結(jié)果,其測試結(jié)果如表1 所示。
表1 系統(tǒng)語音識別測試結(jié)果
從表1 的測試結(jié)果來看,外界的噪音和語音距離會(huì)造成語音識別準(zhǔn)確率下降。當(dāng)外界噪音較小,語音識別距離較近時(shí),識別的準(zhǔn)確率較高。
2)功能測試
通過手機(jī)應(yīng)用程序、人機(jī)交互界面、語音分別對系統(tǒng)進(jìn)行控制,測試系統(tǒng)響應(yīng)的成功率。測試結(jié)果如表2 所示。
表2 系統(tǒng)整體功能測試
從表2 的結(jié)果可以看出,在3 種不同控制方式下,系統(tǒng)響應(yīng)的成功率都比較高,達(dá)到95%以上,能夠滿足用戶的需求。
該文結(jié)合物聯(lián)網(wǎng)技術(shù)、嵌入式技術(shù)和語音識別技術(shù),設(shè)計(jì)了一款智能家電控制系統(tǒng)。測試結(jié)果表明,該系統(tǒng)工作穩(wěn)定可靠,實(shí)現(xiàn)了家電系統(tǒng)的語音識別控制、手機(jī)應(yīng)用遠(yuǎn)程控制和圖形化用戶界面控制。用戶可以在室內(nèi)或遠(yuǎn)程不同情況下,隨時(shí)隨地通過該系統(tǒng)來實(shí)現(xiàn)對家電的控制和家庭環(huán)境數(shù)據(jù)的獲取。