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