王浩
關(guān)鍵詞:OpenHarmony;語音識(shí)別;智能家居
中圖分類號(hào):TP323 文獻(xiàn)標(biāo)志碼:A
0 引言(Introduction)
隨著鴻蒙OpenHarmony開源操作系統(tǒng)和智能語音技術(shù)的飛速發(fā)展,基于鴻蒙OpenHarmony操作系統(tǒng)的智能家居產(chǎn)業(yè)對(duì)家庭內(nèi)部智能化控制開發(fā)和應(yīng)用不斷加大力度。OpenHarmony采用開源的方式實(shí)現(xiàn)一個(gè)面向全場(chǎng)景、全連接和全智能的終端設(shè)備操作系統(tǒng)的框架和平臺(tái),可以支持各類設(shè)備的系統(tǒng)。為了能適應(yīng)各種硬件,OpenHarmony提供了如LiteOS、Linux的不同內(nèi)核,并基于這些內(nèi)核形成不同的系統(tǒng)類型,其中包括面向MCU類處理器的輕量級(jí)操作系統(tǒng),主要采用LiteOS-M 內(nèi)核,它是面向IoT領(lǐng)域構(gòu)建的輕量級(jí)物聯(lián)網(wǎng)操作系統(tǒng)內(nèi)核,具有小體積、低功耗、高性能的特點(diǎn)[1]。這種輕量級(jí)操作系統(tǒng)的代碼結(jié)構(gòu)簡(jiǎn)單,主要包括內(nèi)核最小功能集、內(nèi)核抽象層、可選組件以及工程目錄等,同時(shí)在這些系統(tǒng)中構(gòu)建了一套統(tǒng)一的系統(tǒng)能力[2]。本文提出一個(gè)基于 Hi3861V100核心處理器的Hi-12F模塊,搭載鴻蒙OpenHarmony輕量級(jí)操作系統(tǒng),通過串口方式連接低功耗高性能的ASRPRO語音識(shí)別模組,快速實(shí)現(xiàn)語音交互及控制方案。通過將語音識(shí)別技術(shù)應(yīng)用于智能家居系統(tǒng)中,能極大地方便用戶對(duì)家中電器設(shè)備的控制,創(chuàng)造更加舒適的家庭生活。
1 總體設(shè)計(jì)(Overall design)
本系統(tǒng)主要由Hi-12F通信模組、ASRPRO 語音識(shí)別模組、TTL轉(zhuǎn)USB串口模塊、風(fēng)扇控制模塊、MIC麥克風(fēng)模塊和揚(yáng)聲器模塊組成,其中Hi-12F通信模組和ASRPRO語音識(shí)別模組通過串口通信完成數(shù)據(jù)交互和數(shù)據(jù)處理。首先,ASRPRO語音識(shí)別模組通過麥克風(fēng)模塊采集用戶發(fā)出的語音控制風(fēng)扇設(shè)備命令,在對(duì)聲音進(jìn)行分析后能從“命令列表”匹配出最接近的命令,通過揚(yáng)聲器模塊提示用戶已識(shí)別語音命令,接著進(jìn)行語音識(shí)別轉(zhuǎn)換處理,將每條語音指令轉(zhuǎn)換成對(duì)應(yīng)的文本字符串,以此達(dá)到語音識(shí)別的功能。其次,通過串口將風(fēng)扇控制命令的字符串發(fā)送給Hi-12F通信模組,Hi-12F通信模組搭載鴻蒙OpenHarmony輕量級(jí)操作系統(tǒng)之后,通過應(yīng)用層串口通信函數(shù)接收控制風(fēng)扇命令字符串,對(duì)連接Hi-12F通信模組IO引腳的風(fēng)扇設(shè)備進(jìn)行控制,實(shí)現(xiàn)對(duì)風(fēng)扇的開啟或者關(guān)閉功能,系統(tǒng)的整體架構(gòu)如圖1所示。
2 系統(tǒng)的硬件設(shè)計(jì)(Hardware design of the system)
2.1 鴻蒙OpenHarmony硬件設(shè)計(jì)
對(duì)于能搭載和支持鴻蒙OpenHarmony輕量級(jí)操作系統(tǒng)的硬件電路主要是面向MCU類處理器,例如Arm Cortex-M、RISC-V 32位的設(shè)備,其硬件資源極其有限,支持的設(shè)備最小內(nèi)存為128 kB,并可以提供多種輕量級(jí)網(wǎng)絡(luò)協(xié)議、輕量級(jí)的圖形框架以及豐富的IOT總線讀寫部件等[3]。本文采用Hi-12F通信模組,該模組已獲得了鴻蒙HarmonyOS Connect的生態(tài)模組技術(shù)認(rèn)證,可以快速地將智能產(chǎn)品接入華為鴻蒙生態(tài),以便幫助開發(fā)者提供開放、易用的開發(fā)和調(diào)試運(yùn)行環(huán)境。
Hi-12F模塊搭載Hi3861V100核心處理器芯片,該芯片是一款高度集成的2.4 GHz 低功耗SoC WiFi芯片,集成IEEE802.11b/g/n基帶和射頻(Radio Frequency,RF)電路。Hi-12F模塊的Hi3861V100芯片同時(shí)集成高性能32 bit微處理器、硬件安全引擎以及豐富的外設(shè)接口,外設(shè)接口包括SPI、UART、I2C、PWM、GPIO和多路ADC芯片,同時(shí)支持高速SDIO2.0Slave接口,最高時(shí)鐘可達(dá)50 MHz[4];芯片內(nèi)置靜態(tài)隨機(jī)存取存儲(chǔ)器(Static Random-Access Memory, SRAM)和閃存(FlashMemory),可獨(dú)立運(yùn)行,并支持在 Flash Memory上運(yùn)行程序[5]。IO03引腳和IO04引腳分別連接到USB轉(zhuǎn)串口模塊(CH340C模塊)的RX引腳和TX引腳,一旦按下PWR引腳上的按鍵,就可以將PC端的OpenHarmony輕量級(jí)操作系統(tǒng)編譯完成的bin文件通過D+引腳和D-引腳傳輸?shù)紺H340C模塊,并最終通過TX串口和RX串口方式下載至Hi3861模塊中的Hi3861V100芯片的Flash Memory中。
2.2 風(fēng)扇控制設(shè)計(jì)
為了能夠通過OpenHarmony硬件電路驅(qū)動(dòng)大功率的風(fēng)扇設(shè)備運(yùn)行,需要將OpenHarmony硬件電路模塊的GPIO2引腳與直流電機(jī)L9110S驅(qū)動(dòng)芯片相連,L9110S芯片內(nèi)部集成“H”橋電路,是一個(gè)可以直接驅(qū)動(dòng)直流有刷電機(jī)的芯片,VCC電源電壓工作在2.2~6.5 V,輸出的電流最大支持200 mA。本文只需要將風(fēng)扇的兩端連接芯片的OA引腳和OB引腳,它的兩個(gè)輸出端能直接驅(qū)動(dòng)直流風(fēng)扇電機(jī)的運(yùn)行和停止。
2.3 語音識(shí)別采集模塊設(shè)計(jì)
語音識(shí)別采集模塊選用ASRPRO語音識(shí)別芯片,它是針對(duì)低成本離線語音應(yīng)用方案開發(fā)的一款通用、便攜、低功耗高性能的語音識(shí)別模組,其內(nèi)置神經(jīng)網(wǎng)絡(luò)處理器,能支持DNN、TDNN及RNN等神經(jīng)網(wǎng)絡(luò)及卷積運(yùn)算,具備強(qiáng)勁的回聲消除和環(huán)境噪聲抑制能力,模塊主芯片支持離線神經(jīng)網(wǎng)絡(luò)計(jì)算,ASRPRO語音識(shí)別模組的MIC+引腳和MIC-引腳連接麥克風(fēng)模塊進(jìn)行語音數(shù)據(jù)采集,并將語音數(shù)據(jù)經(jīng)過內(nèi)置神經(jīng)網(wǎng)絡(luò)處理器進(jìn)行卷積運(yùn)算,實(shí)現(xiàn)語音識(shí)別轉(zhuǎn)換為文本字符串,ASRPRO 語音識(shí)別模組的PA6 和PA5 分別連接OpenHarmony硬件電路中的IO06引腳和IO05引腳,實(shí)現(xiàn)將文本字符串通過串口發(fā)送至Hi-12F模塊,并最終完成對(duì)風(fēng)扇的控制功能。
3 系統(tǒng)的軟件設(shè)計(jì)(Software design of the system)
3.1 OpenHarmony 輕量級(jí)操作系統(tǒng)應(yīng)用開發(fā)環(huán)境搭建
首先,系統(tǒng)采用虛擬機(jī)環(huán)境下基于Linux環(huán)境的Ubuntu操作系統(tǒng)作為編譯服務(wù)器,而應(yīng)用層的功能代碼編寫需要在Windows環(huán)境下的VSCode編輯器中進(jìn)行,因此需要將獲取的鴻蒙OpenHarmony輕量級(jí)操作系統(tǒng)源碼通過共享文件夾方式映射到Windows平臺(tái)上進(jìn)行編寫[6]。其次,將VSCode編輯器中編輯完成的功能代碼映射回虛擬機(jī)環(huán)境下的Ubuntu進(jìn)行編譯,編譯成功之后會(huì)生成.bin的二進(jìn)制文件。最后,使用華為海思Hi3861芯片的專用燒寫工具HiBurn,通過串口方式燒寫至Hi-12F模塊中,OpenHarmony輕量級(jí)操作系統(tǒng)應(yīng)用開發(fā)流程如圖2所示。一旦OpenHarmony輕量級(jí)操作系統(tǒng)鏡像燒寫完成后,按下Hi-12F 模塊的復(fù)位鍵就可以啟動(dòng)OpenHarmony輕量級(jí)操作系統(tǒng)運(yùn)行,并可以通過PC端串口調(diào)試助手與OpenHarmony硬件電路進(jìn)行串口通信。
這里的鴻蒙OpenHarmony輕量級(jí)操作系統(tǒng)是按照“系統(tǒng)(子系統(tǒng)集)—子系統(tǒng)(Subsystem)—組件/模塊(Component)”逐次展開的,其中一個(gè)組件/模塊(Component)也可以進(jìn)一步分成若干個(gè)Feature[11]。本文中,由源程序uart_example.c生成的靜態(tài)庫B6_YUYIN_uart就被作為一個(gè)feature加入名為app的Component 中,app 的Component 又是在子系統(tǒng)applications中。BUILD.gn文件內(nèi)容幫助編譯構(gòu)建子系統(tǒng)對(duì)一個(gè)模塊的構(gòu)建[12]。
4 系統(tǒng)測(cè)試(System testing)
當(dāng)系統(tǒng)軟硬件設(shè)計(jì)完成后,首先將硬件模塊組裝集成后放置在家居環(huán)境中,給系統(tǒng)上電,這時(shí)可以通過ASRPRO語音識(shí)別模組連接的MIC麥克風(fēng)進(jìn)行語音數(shù)據(jù)采集;其次通過語音識(shí)別轉(zhuǎn)換成對(duì)應(yīng)的控制風(fēng)扇的字符串命令數(shù)據(jù),以串口方式將數(shù)據(jù)傳輸至包含OpenHarmony輕量級(jí)操作系統(tǒng)的Hi-12F模塊中;最后通過GPIO02引腳完成高低電平的控制,實(shí)現(xiàn)對(duì)風(fēng)扇的轉(zhuǎn)動(dòng)和停止操作。
5 結(jié)論(Conclusion)
本文設(shè)計(jì)了一種基于鴻蒙Openharmony的語音識(shí)別風(fēng)扇控制系統(tǒng),該系統(tǒng)以Hi-12F模塊搭載華為海思Hi3861V100核心處理器芯片作為核心設(shè)計(jì),通過構(gòu)建和編程OpenHarmony語音識(shí)別控制工程中應(yīng)用層功能代碼以及編寫B(tài)UILD.gn文件,指示編譯構(gòu)建子系統(tǒng)構(gòu)建一個(gè)Feature,以及將Feature加入Component中構(gòu)建一個(gè)新的Component[13]。把Component加入Subsystem中,讓Subsystem參與整個(gè)鴻蒙系統(tǒng)的構(gòu)建,實(shí)現(xiàn)了與ASRPRO語音識(shí)別模組的數(shù)據(jù)交互,達(dá)到了精準(zhǔn)的語音識(shí)別控制功能,發(fā)揮了鴻蒙國(guó)產(chǎn)操作系統(tǒng)的技術(shù)特點(diǎn)和優(yōu)勢(shì),解決了目前智能家居中普遍存在的安全性和效率低及舒適性差的問題,為用戶帶來全新的智能家居控制新體驗(yàn)。
作者簡(jiǎn)介:
王 浩(1971-),男,碩士,副教授。研究領(lǐng)域:物聯(lián)網(wǎng)工程應(yīng)用研究。