?

基于語音控制的智能浴缸設計

2024-01-24 10:58肖陽陽黃憲通
電腦知識與技術 2023年34期
關鍵詞:語音識別無線通信智能家居

肖陽陽 黃憲通

摘要:該設計選用STM32作為主控單元,采用LD3320語音識別芯片接收指令并與數據庫中已存數據比對,將處理結果發送到主控單元,其發送指令控制相應模塊,通過溫度傳感器測量水溫并選用超聲波傳感器測量水位高度,采用ESP8266無線通信模塊訪問阿里云服務器,實現與手機App之間的數據通信。在手機界面顯示測量值和設置閾值,根據測量值控制加熱棒加熱和水泵加水,也可點擊手機界面功能按鈕實現相應功能操作。該設計經過多次測試,針對影響因素進行分析,可以實現預期功能。

關鍵詞:無線通信;單片機;語音識別;傳感器;智能家居;語音控制

中圖分類號:TN921? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2023)34-0108-04

開放科學(資源服務)標識碼(OSID)

0 引言

近年來伴隨5G技術的出現,使得物聯網和互聯網的聯系變得更加緊密,其中智能家居系統更是顯著代表。市場上常見的傳統浴缸只具備沐浴功能,使用時需要用戶自己放水,不能保持恒定水溫,也不具備按摩和播放音樂功能,用戶的體驗僅僅在于躺下沐浴,因此對于浴缸的智能化需求迫在眉睫。一些發達國家在智能家居領域的發展前景突出,早在20世紀80年代,美國就已經開始研制智能住宅系統并且取得了一定成果。目前美國的家庭對于智能家居的使用率達到了一半以上,同時日本也緊跟其后,推出了一系列具有代表性的智能家居產品。盡管我國智能浴缸產業發展呈現上升趨勢,但實際的市場分布并不廣泛,和智能馬桶、智能淋浴房相比,在日常家庭中的應用不多,人們對于智能浴缸的需求在增加,但是真正達到智能化的浴缸在市場中所占的數量并不多,總之,技術的提升仍是值得關注的問題。

1 系統總體方案設計

基于語音控制的智能浴缸設計,分為硬件設計和軟件設計2部分。硬件設計部分包括主控模塊、語音識別模塊、無線通信模塊、水溫檢測模塊、水位檢測模塊、按摩模塊、加熱模塊、加水模塊和音樂播放模塊。軟件設計部分包括主程序設計、無線通信系統設計和手機程序開發,系統總體設計框圖如圖1所示。

該智能浴缸選用了STM32作為最小核心系統,可以實現本地語音控制和手機遠程控制2種方式。用戶喚醒語音助手,說出目標指令,語音識別芯片接收來自用戶的指令并與數據庫中的信息進行分析對比,將識別結果發送給STM32,STM32對指令解碼后,發出控制指令來控制相應模塊實現加熱、加水、按摩、音樂播放等功能[1]。無線通信模塊用于連接網絡,通過網絡訪問阿里云服務器,實現與手機終端之間的數據通信。STM32接收到來自溫度傳感器和超聲波傳感器采集到的水溫和水位數據,并將采集的數據通過ESP8266Wi-Fi模塊送達用戶手機終端,在手機界面上顯示測得的數據,由用戶選擇自動模式或者手動模式。自動模式下,系統比較測量值和設置值發送控制指令給繼電器,繼電器控制水泵加水、控制加熱棒加熱,直到水溫水位達到設置值。手動模式下,通過功能按鈕選擇浴缸具備的各種功能。

2 硬件設計

以STM32F103C8T6為基礎,結合LD3320芯片和ESP8266芯片,構建一套具有語音識別功能和手機遠程控制功能的智能浴缸控制電路。硬件設計部分包括主控模塊、語音識別模塊、無線通信模塊、水溫檢測模塊、水位檢測模塊、按摩模塊、加熱模塊、加水模塊和音樂播放模塊。

2.1 主控模塊

STM32F103C8T6芯片是一款基于ARM Cortex-M3內核的32位微控制器,采用LQFP48封裝,由意法半導體公司推出,具有高性能、低功耗的特點。STM32主控芯片引腳及外接圖如圖2所示。引腳功能如下:PC13連接指示燈,PA4~PA7是SPI1,PB12~PB15是SPI2,PA9、PA10是串口1,PA2、PA3是串口2,PB10、PB11是串口3,PB6~PB9一般可以用于PWM輸出,對應TIM4。PC13~15用于時鐘相關。

2.2 語音識別模塊

使用LD3320芯片能夠提供更先進的語音識別技術,采用了先進的處理模塊,并且具有AD/DA轉換器,可以實現更有效的語音識別[2]、達到更精準的聲音控制,從而更好地滿足人們的日常交流需求。通過采集用戶的語音指令,對接收到的語音指令進行頻譜分析,提取關鍵詞特征,與已存儲的數據進行比對,然后輸出對應的返回數據。

2.3 無線通信模塊

使用ESP8266芯片,內部集成了完整的Wi-Fi網絡解決方案,擁有SDIO、SPI等多種通信接口,通過訪問阿里云服務器建立手機終端與主控模塊之間的數據通信,主控模塊采集的數據可以通過無線通信模塊發送到手機,并在手機界面上顯示,也可以在手機上遠程控制系統工作[3]。

2.4 水溫檢測模塊

使用DS18B20溫度傳感器,實現對水溫的實時檢測,并將測量數據傳遞給STM32。DS18B20溫度傳感器的優點在于體積小,使用時能夠得到較快響應??梢酝ㄟ^單線接口將溫度信息傳輸到主控制器,也可以通過這條總線將主控制器發送的控制指令發送到DS18B20[4]。

2.5 水位檢測模塊

使用HC-SR04超聲波傳感器,實現對水位的實時檢測,并將測量數據傳遞給STM32。HC-SR04是一種先進的超聲波傳感器,可以準確地檢測出浴缸邊緣與水面之間的距離,由兩個獨立的傳感器組成,一個負責接收和傳輸40KHz的超聲波脈沖,另一個則負責處理和傳輸[5]。

2.6 按摩模塊

使用驅動連接一個小電機,電機震動模擬按摩功能實現。用戶喚醒智慧助手說出“打開按摩”“關閉按摩”的指令,主控模塊接收到指令,控制電機震動或者關閉。

2.7 加熱模塊

HF46F12-HS1是一種超小型中功率繼電器,觸電是繼電器中的重要結構件,該繼電器擁有5A觸點切換能力,觸點形式為1H(常開類型),觸點材料選擇使用具有優秀抗粘接性的AgSnO2和具有高燒蝕性的AgNi。而且該繼電器很小,可以在密度較小的情況下安裝。

使用HF46F12-HS1,通過連接一個加熱棒對水溫進行加熱,當測量數據低于設定值時,傳輸數據到主控模塊,其控制加熱模塊進行水溫加熱操作,當水溫達到閾值時,該模塊停止工作。

2.8 加水模塊

使用HF46F12-HS1,通過連接一個水泵實現加水,當測量數據低于設定值時,傳輸數據到主控模塊,其控制加水模塊進行加水操作,當水位達到閾值時,該模塊停止工作。

2.9 音樂播放模塊

JQ8400-FL擁有強大的信息查詢功能,隨時可以得到語音芯片的狀態信息,并且支持歌曲切換、播放選擇、曲目選擇等功能,與日常音樂播放軟件功能完全一致。使用JQ8400-FL芯片,通過連接一個喇叭實現音樂播放,用戶喚醒智慧助手說出“打開音樂”“關閉按摩”的指令,主控模塊接收到指令,控制音樂播放或者關閉。

3 軟件設計

軟件部分包括主程序設計、無線通信系統設計和手機程序開發。

3.1 開發所需軟件

本系統采用Keil作為主要編程工具,使用Eclipse作為一個跨平臺的自由集成開發環境。

3.2 主程序設計

STM32F103C8T6開發環境的搭建,需要先對STM32和各個功能模塊進行初始化,目的在于對時鐘和GPIO等進行配置,符合系統需要的狀態。等待Wi-Fi連接成功,在存儲器中讀取水位閾值和水溫閾值,由水溫傳感器和超聲波傳感器檢測水位和水溫數據,若用戶說出語音識別喚醒指令,進入語音識別模塊,通過語音控制開關燈、開關按摩、開關音樂的操作。數據上報手機App時間到達,系統將數據包通過Wi-Fi發送給服務器,然后發送給手機。手機接收到數據,獲取數據長度,對數據包進行驗證。判斷選擇自動模式還是手動模式,并對水位閾值、水溫閾值和燈光進行設置,將測量數據與設置值比較判斷是否對水泵控制、加熱控制,主程序流程圖如圖3所示。

語音識別模塊開始工作時,用戶可以說出不同的指令,該模塊將語音指令進行解碼分析,輸出結果給主控模塊。在主程序中識別語音發送的命令,執行不同的判斷。如打開音樂的指令判斷,在識別到用戶說出該指令時,STM32控制音樂播放模塊工作,沒有識別到該指令時,執行下一項。

3.3 無線通信系統設計

無線通信系統配置需要對串口進行初始化,建立數據同步,設置合適的波特率,然后對函數進行初始化,通過發送AT指令建立與服務器之間的TCP連接。返回連接成功時,說明主控制系統與手機終端之間已經建立聯系。無線通信系統配置流程圖如圖4所示。

ESP8266和網絡調試助手之間通過服務器建立聯系。觀察串口調試助手發送窗口,每條指令成功后會返回OK,看到OK后再點擊下一條指令,當發送AT+CIPSEND指令后,收到OK回復,表明接下來開始通過ESP8266向外發送數據。

3.4 手機程序開發

手機程序開發設計,首先對主界面顯示進行規劃,結合硬件模塊的功能對代碼部分進行總結規劃,開始代碼編寫。手機App的開發使用Eclipse作為開發環境,使用Java語言進行代碼編寫,并創建了一個手機遠程控制界面的模擬器。

當用戶打開設置好的熱點時,設置點擊連接按鈕,界面顯示Wi-Fi是否連接成功,連接成功時,手機界面顯示“已連接”,反之顯示“未連接”,系統重新啟動Wi-Fi線程。接收來自主控制系統的數據,并對測試值進行判斷,當水位測試值小于閾值時,手機界面上顯示“水位低”,反之不顯示。當水溫測試值小于閾值時,手機界面上顯示“水溫低”,反之不顯示。設置模式按鈕,分別為“自動模式”和“手動模式”,自動模式下設置:對比測量水溫水位值與設置閾值大小,發送數據給主程序,控制水泵和加熱棒的自動打開操作,手動模式下設置:點擊手機下方功能按鈕,可以得到相應回復。

4 系統測試及結果分析

通過一根電源線,將電路板和5V穩定電壓的充電寶連接起來,打開電路板上的電源開關,此時STM32上的指示燈亮起,紅色是電源指示燈,藍色是Wi-Fi指示燈。打開手機熱點進行連接,當表示Wi-Fi狀態的指示燈滅表示兩者連接成功。此時會聽到繼電器響一聲,由于模擬浴缸環境內水溫較低,加熱棒開始加熱操作,測試結果表明系統連接電源成功,且連接Wi-Fi正常。

4.1 手機App測試

在手機App界面上可以實時檢測水溫水位情況,此時連接狀態為已連接。點擊模式按鈕的自動模式,觀察電路板上加熱棒和水泵工作。選擇模式按鈕的手動模式,當點擊頁面最下方的6個功能按鈕時,觀察電路板做出回應。多次測試結果表明,手機App可以實現穩定遠程控制。

4.2 語音識別功能測試

設備連接5V穩定電壓后,語音識別模塊紅色燈亮起,幾秒后熄滅,表明語音識別模塊進入工作狀態。說出喚醒詞“你好,小益”,聽到“在呀”的回復,用戶發出不同的指令,觀察系統給出不同回應。

4.3 系統總測試

使用輸出5V穩定電壓的充電寶連接電路板,觀察指示燈的亮滅情況,打開手機設置好的熱點,此時指示燈改變。喚醒智慧助手“你好,小益”聽到“在呀”的回復。說出希望實現的功能,設備分別給出回應。使用安卓手機App連接電路板,對設備進行控制。設備同樣會給出相應回應。實驗結果表明,基于語音控制的智能浴缸功能可實現,并且具備本地語音控制和手機遠程控制兩種方式。

5 結束語

基于語音控制的智能浴缸的設計,前期根據課題進行市場調研和背景調查,分析系統所具備的功能,滿足本地語音控制和遠程手機控制兩種方式。

實驗結果顯示,系統可以正常運行,但語音識別會存在誤觸發現象,與關鍵詞相似會誤識別為關鍵詞,在說出喚醒詞時,會發生因為音樂播放或者電機振動聲音過大而無法識別的情況,今后需要對比進行改正。另外受到無法模擬真實浴缸環境條件的影響,一些水溫水位的檢測值不準確,無法排除其他因素的影響。

參考文獻:

[1] 崔浩斌,劉偉.基于STM32單片機的智能家居控制系統設計研究[J].微處理機,2020,41(1):61-64.

[2] 陳喜春.基于LD3320語音識別專用芯片實現的語音控制[J].電子技術,2011,38(11):20-21.

[3] 范興隆.ESP8266在智能家居監控系統中的應用[J].單片機與嵌入式系統應用,2016,16(9):52-56.

[4] 張越,張炎,趙延軍.基于DS18B20溫度傳感器的數字溫度計[J].微電子學,2007,37(5):709-711,716.

[5] 蘇琳.基于HC-SR04的超聲波測距器的設計[J].科技信息,2012(9):124-125.

【通聯編輯:唐一東】

猜你喜歡
語音識別無線通信智能家居
基于Zigbee的無線通信技術在智能家居中的應用
通話中的語音識別技術
無線通信技術在測繪工程中的應用分析
基于LD3320的智能家居控制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合