◇平頂山市財經(jīng)學校 李淵博 馬豪杰
本文采用IOT技術(shù)、語音識別技術(shù)與傳統(tǒng)的空調(diào)遙控器結(jié)合,STM32F103主控芯片與紅外發(fā)射電路實現(xiàn)發(fā)射紅外編碼信號,設(shè)計一款集語音交互、聯(lián)網(wǎng)控制功能于一體的空調(diào)紅外遙控器。該遙控器有兩種方式對空調(diào)進行控制,分別為語音控制和聯(lián)網(wǎng)控制。這兩種方式都是主控芯片收到不同的控制命令,發(fā)射出相對應(yīng)的紅外編碼信號,從而達到控制空調(diào)的目的,同時空調(diào)運行狀態(tài)顯示在1.44寸的TFTLCD屏幕上。另外,為了達到類似語音助手的交互,作品搭載了語音播放模塊,可以依據(jù)識別到的關(guān)鍵詞語做出相應(yīng)的語音回復,提升交互感,帶來全新的,智能的生活體驗。
隨著互聯(lián)網(wǎng)技術(shù)與通訊技術(shù)的發(fā)展,提出了萬物互聯(lián)的概念,產(chǎn)生了物聯(lián)網(wǎng)技術(shù)。物聯(lián)網(wǎng)技術(shù)的快速發(fā)展帶動了許多相關(guān)產(chǎn)業(yè),以IOT、嵌入式技術(shù)為支撐的智能家居產(chǎn)業(yè)也在社會上得到了快速普及。智能家居中利用物聯(lián)網(wǎng)技術(shù),不僅促進了智能家居領(lǐng)域得到更好地優(yōu)化與完善,還進一步提高了智能化家居的舒適度與安全可靠性。
(1)理論意義。隨著社會的飛速發(fā)展,社會生活變得更加便捷和智能,智能家居概念逐漸融入社會,將會為人們組建一個智能、安全和快捷的數(shù)字化家居空間。在智能家居給人們帶來便捷生活的同時,人們的控制習慣逐漸發(fā)生改變,語音交互和APP遠程聯(lián)網(wǎng)控制是現(xiàn)在智能家居行業(yè)內(nèi),使用的最多的智能控制方式,而空調(diào)又是現(xiàn)代家庭生活中最重要的電器之一,將會是智能家居系統(tǒng)中重要的組成部分。本設(shè)計結(jié)合這個背景,將設(shè)計一款集語音交互、聯(lián)網(wǎng)控制功能于一體的空調(diào)紅外遙控器,帶來全新的、智能的生活體驗。
(2)工程背景。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,智能家居概念逐漸融入社會,很多的家電產(chǎn)品也紛紛帶有了聯(lián)網(wǎng)功能,使用APP就可以控制和查看家電的運行狀態(tài),十分方便,但是一般的家電使用壽命都很長,為了一個新的功能去換一套家電,顯然是不劃算的。可以換個思路,大多數(shù)的家電都是采用紅外遙控器控制的,只需制作一個聯(lián)網(wǎng)的遙控器,從而家電也具備聯(lián)網(wǎng)的功能,這種方式只需要換一個遙控器,而不是換一套家電。本作品選擇了聯(lián)網(wǎng)意義較高的空調(diào)作為控制對象,制作一款具備語音交互與聯(lián)網(wǎng)控制的空調(diào)紅外遙控器。
(3)研究內(nèi)容及任務(wù)。設(shè)計一款語音交互空調(diào)遙控器,要求:能夠語音識別并做出對應(yīng)的語音反饋;控制空調(diào),具體操作可以為切換空調(diào)模式,升降溫,定時,掃風等;LCD顯示屏顯示空調(diào)模式,溫度,掃風等;夜燈功能,根據(jù)語音指令開關(guān)燈啟用夜燈功能;遙控功能可以使用手機APP遠程控制;具有間隔定時功能。
(4)主要工作。本設(shè)計中的重點工作是對空調(diào)遙控器紅外波形采集和解碼,并設(shè)計發(fā)射功率較大的紅外發(fā)射電路,以及遙控器的聯(lián)網(wǎng),能實現(xiàn)手機對空調(diào)遙控器的遠程控制。
系統(tǒng)設(shè)計框架圖,如圖1所示,圖中MCU主控左側(cè)共包含語音播放、語音識別、ESP-12F、紅外發(fā)射電路、LCD顯示屏、溫濕度傳感器和小夜燈共計7個模塊,MCU將運行RT-Thread嵌入式實時操作系統(tǒng),創(chuàng)建的5個線程,交由操作系統(tǒng)進行統(tǒng)一的管理調(diào)度。

圖1 系統(tǒng)設(shè)計框架圖
其中語音識別模塊主要用于識別與控制相關(guān)的關(guān)鍵詞,達到語音控制的效果,為了達到類似語音助手的交互邏輯,系統(tǒng)搭載了語音播放模塊,提升交互感。而將MCU與機智云平臺聯(lián)系起來的就是ESP-12F無線聯(lián)網(wǎng)模塊,可以使用手機對空調(diào)遙控器的遠程控制。系統(tǒng)將通過該紅外發(fā)射電路發(fā)射紅外編碼信號,實現(xiàn)對空調(diào)的控制。1.44寸的LCD屏幕將顯示空調(diào)當前運行狀態(tài)、室內(nèi)溫濕度、WIFI的連接狀態(tài)。小夜燈可以在夜里提供臨時的照明。
因為系統(tǒng)中的模塊比較多,實時性要求也比較高,使用裸機編程難度大,所以選用了RT-Thread操作系統(tǒng),讓操作系統(tǒng)對模塊進行任務(wù)調(diào)度。
MCU作為整個系統(tǒng)的“大腦”,選擇尤為重要,要同時滿足系統(tǒng)中各個模塊、電路的工作需求,表1為語音交互空調(diào)遙控器設(shè)計中各個模塊所需的外設(shè)。

表1 各個模塊所需的外設(shè)
C51系列芯片:僅擁有2個定時器,1個串口,32個普通10口,5個中斷源,是8位的MCU,4k的ROM,128bytes的RAM,可用的外設(shè)資源較少,達不到系統(tǒng)設(shè)計的需求。
Cortex-M4系列芯片:雖然在性能遠遠超過Cortex-M3系列芯片,能夠滿足系統(tǒng)設(shè)計的需求,但價格更貴,并且性能會過剩,性價比不高,故不選擇此系列的芯片。
Cortex-M3系列芯片:意法半導體公司生產(chǎn)的基于Cortex-M3系列的STM32F103RCT6芯片,芯片引腳數(shù)為64,最高主頻為72M,工作電壓2V~3.6V,它擁有的資源包括:48KBSRAM、256KBFLASH、2個基本定時器、4個通用定時器、2個高級定時器、3個SPI、2個ⅡC、5個串口、及51個通用10口[1]。此芯片開發(fā)過程簡單,性價比極高,被廣泛用于各個領(lǐng)域。經(jīng)過與表2-1作比較后,選用該芯片作為主控芯片完全能夠滿足系統(tǒng)設(shè)計的需求。

圖2 RT-Thread操作系統(tǒng)架構(gòu)圖
本設(shè)計作品中,需要用到很多的模塊,實時性要求也比較高,單純的裸機系統(tǒng)已經(jīng)不能夠完美地解決問題,反而會使編程變得更加復雜,可以考慮引入RTOS實現(xiàn)多線程管理,將各個模塊分成一個個任務(wù),交由操作系統(tǒng)進行合理地多任務(wù)調(diào)度、充分利用系統(tǒng)資源,提高實時性[2]。RTOS有許多種,需要一個能運行在STM32F103RCT6芯片上的操作系統(tǒng),同時占用的系統(tǒng)資源FLASH和RAM比較少,不會影響程序的運行。
RT-Thread是一款嵌入式實時操作系統(tǒng)(RTOS),內(nèi)核最小的資源占用情況是3KB ROM,1.2KB RAM,完全符合需求。RT-Thread基本屬性之一是支持多任務(wù),允許多個任務(wù)同時運行并不意味著處理器在同一時刻真地執(zhí)行了多個任務(wù)。事實上,一個處理器核心在某一時刻只能運行一個任務(wù),由于每次對一個任務(wù)的執(zhí)行時間很短、任務(wù)與任務(wù)之間通過任務(wù)調(diào)度器進行非常快速地切換,給人造成多個任務(wù)在一個時刻同時運行的錯覺[3]。
作品中需要APP遠程聯(lián)網(wǎng)控制,需要一個WIFI模塊和一個云平臺,系統(tǒng)將數(shù)據(jù)采集發(fā)送給云端,云端將數(shù)據(jù)處理完成后,再把結(jié)果發(fā)送給用戶的手機APP。ESP8266是一顆高性能無線SOC,被廣泛的應(yīng)用于物聯(lián)網(wǎng)行業(yè)。為了減小開發(fā)的難度,選擇基于ESP8266設(shè)計開發(fā)的ESP-12FWIFI模塊,該模塊支持標準的IEEE802.11b/g/n協(xié)議,完整的TCP/IP協(xié)議棧,用戶可以直接使用它為設(shè)備添加聯(lián)網(wǎng)功能。
機智云平臺為開發(fā)者提供了自助式智能硬件開發(fā)工具與開放的云端服務(wù)。GAgent是機智云為硬件接入提供的運行于通信模組等環(huán)境的嵌入式固件系統(tǒng),主要的作用是數(shù)據(jù)轉(zhuǎn)發(fā),是設(shè)備數(shù)據(jù)、機智云、應(yīng)用端(APP)的數(shù)據(jù)交互橋梁。借助機智云平臺,也可以省去云端服務(wù)器的搭建,降低開發(fā)難度,節(jié)省成本田。所以,將GAgent固件燒入WIFI模組中,再配合機智云平臺,主控MCU只需要負責把發(fā)送的數(shù)據(jù)告訴ESP-12F模塊,它將自動地把數(shù)據(jù)打包發(fā)送給云端,云端再將數(shù)據(jù)發(fā)送到移動端(APP),這樣就能將系統(tǒng)聯(lián)網(wǎng)的橋梁打通。
在智能家居中,語音交互是很重要的一種人與物的交互方式,當前市面上大多數(shù)使用的嵌入式語音識別芯片為LD3320,基于非特定人語音識別技術(shù)的語音識別/聲控芯片。
非特定人語音識別技術(shù)ASR,語言學家建立語音模型對大量的語音數(shù)據(jù)進行分析,建立數(shù)學模型后,反復訓練提取基元語音的細節(jié)特征,以及各基元間的特征差異。可以得到在統(tǒng)計概率最優(yōu)化意義上的各個基元語音特征。最后由資深工程師將算法以及語音模型轉(zhuǎn)化為硬件芯片以應(yīng)用在嵌入式系統(tǒng)中S1。只需要設(shè)定好要識別的關(guān)鍵詞語列表,以字符的形式把這些關(guān)鍵詞語傳送到LD3320內(nèi)部,不需要用戶作任何地錄音訓練,將用戶說出的詞語與關(guān)鍵詞語列表進行比較,就可以識別關(guān)鍵詞。
(1)語音播放。為了達到類似語音助手的交互,系統(tǒng)搭載了語音播放模塊,提升交互感。因為系統(tǒng)針對性很強,所以只需要預(yù)存與空調(diào)操控相關(guān)的應(yīng)答語句,也是這一點,選擇便宜的MP3播放模塊就可以滿足需求,而不用去選購比較昂貴語音合成模塊。
(2)HDC1080溫濕度傳感器。空調(diào)主要的目的就是調(diào)節(jié)室內(nèi)的溫度,系統(tǒng)搭載了一顆高精度的溫濕度傳感器,實時測量室內(nèi)的溫度和濕度,同時溫濕度數(shù)據(jù)也將通過WIFI,同步到移動端APP上,可遠程查看室內(nèi)溫度。
(3)紅外發(fā)射電路。紅外發(fā)射電路是整個系統(tǒng)最關(guān)鍵的部分,系統(tǒng)將通過該電路發(fā)射紅外編碼信號,實現(xiàn)對空調(diào)的控制。
(4)觸摸按鍵。觸摸按鍵主要作用是控制LCD屏幕的背光,降低LCD屏幕的功耗,同時按鍵上的LED燈可以作為語音識別時的識別指示燈。
(5)小夜燈。小夜燈模塊由一個大功率的LED燈組成,在夜晚提供臨時照明,可使用語音或手機APP控制夜燈的開關(guān)。
(6)LCD屏幕。1.44寸的LCD屏幕將顯示空調(diào)當前運行狀態(tài)、室內(nèi)溫濕度、WIFI的連接狀態(tài),以及通過WIFI網(wǎng)絡(luò)獲取的日期時間,LCD屏幕背光開關(guān)將通過觸摸按鍵控制,在背光點亮60秒后,會自動熄滅,這樣做主要是為了降低功耗,延長使用壽命。
本文主要介紹了作品整個系統(tǒng)的組成模塊,系統(tǒng)中兩個重要的功能,一是聯(lián)網(wǎng)服務(wù)主要由機智云平臺提供,二是語音識別則交由LD3320模塊來實現(xiàn)。因為系統(tǒng)所包含的模塊比較多,選擇植入RT-Thread實時操作系統(tǒng),不僅提高了系統(tǒng)的實時性,還大大降低了編程的難度。