胥建鵬,楊澤偉,牛熠,許元
(東莞城市學院,廣東東莞,523419)
近些年來,伴隨著物聯網技術、嵌入式技術、集成電路技術和AI 人工智能技術的飛速發展,逐漸改變著各行業、各領域的工作方式和生產方式,極大程度上有力推動社會生產力的發展與提高。在此背景下,全世界各國紛紛投入大量的人力、物力和財力進行相關關鍵技術的研發與突破。其中,語音識別、無線通信技術和智能傳感器作為最基本、最常見的關鍵技術,經過多年努力,取得了長足發展,已經日漸成熟,并在各領域得到廣泛應用,從而也催生了智能家居系統的出現。
以前,家居環境和辦公場所中使用的各種電器設備,大多數都是采用傳統開關實現控制,在很多種情況下,這種控制方式具有一定的不足和局限性。比如,對老人和行動不方便的人,在使用家用設備的時候,存在諸多困難和不便。以智能家居系統為代表的物聯網技術的發展與應用,為此類問題提供了一種很好的解決方案。智能家居系統的出現和發展,讓設備控制方式向智能、便捷的語音交互、APP 控制方向發展,人們利用手機APP 或者語音識別技術,就可以對各種家用設備實現便捷、精確的控制,從此擺脫了以往傳統機械式開關控制的局限性,更加體現出便捷化和人性化,為人們提供一個安全、舒適的生活、辦公環境[1]。
智能家居語音控制系統硬件結構框圖如圖1 所示。其中,由DHT11 溫濕度模塊、物理按鍵、麥克風+語音識別模塊以及手機+ONE NET 云平臺+ESP8266 無線通信模塊組成系統的輸入電路端;由舵機、OLED 顯示屏、LED 燈和繼電器等模塊組成系統的輸出電路端。各模塊的功能描述如下:

圖1 系統硬件結構框圖
(2)物理按鍵電路:通過物理按鍵電路,可以實現對日歷、時間和溫度閾值的設定。
(3)麥克風+語音識別模塊:接收和識別語音控制信號,并將其轉換成為STM32 主控芯片能夠識別的控制命令。
(4)手機+ONE NET 云平臺+ESP8266 無線通信模塊:手機APP 端可以通過ESP8266 無線通信模塊對各聯網設備進行控制。同時,STM32 主控芯片通過ESP8266 無線通信模塊把傳感器采集的數據上傳到ONE NET 云平臺,并在手機APP 端可以實時查看。
(1) 舵機模塊:可以通過語音、手機APP、物理按鍵來控制舵機的啟停,進而實現對家居環境和辦公環境中窗簾的控制。
(2)OLED 顯示屏:將傳感器采集的溫濕度信息以及DS1302 模塊的時間、日期信息進行實時的可視化顯示。
(3)LED 室內燈:模擬室內燈光的亮滅,可以對STM32 主控芯片識別的語音和手機APP 的控制命令進行亮滅響應。
(4) LED 報警燈:正常情況下,燈是熄滅的,當溫度超過設定的閾值時,燈會點亮,起報警作用。
(5)繼電器模塊:模擬室內降溫裝置,如風扇或空調的開關,可以對STM32 主控芯片識別的語音和手機APP 的控制命令進行啟停響應。
試驗于2014年3月~10月在甘肅省天祝縣哈溪鎮友愛科技示范園區進行。該試驗地位于祁連山東段北麓綠洲區,海拔1450m,土壤為山地栗鈣土,屬冷溫帶干旱區。年均氣溫7.7℃,≥10℃的積溫3300℃,年均日照2945.3h,極端最高氣溫40.0℃,最低氣溫-29.5℃,無霜期180d,年均降水量358.4mm。
DS1302 時鐘模塊是一種串行接口的實時時鐘,這個芯片的內部具有可編程的日歷時鐘和31 個字節的靜態RAM[2]。DS1302 時鐘模塊硬件接線圖如圖2 所示。

圖2 DS1302 時鐘模塊硬件接線圖
其中,DS1302 的RST 引腳連接在單片機的PA6 引腳,用于DS1302 使能芯片,在讀寫數據期間,必須為高電平;I/O 引腳連接單片機的PA5 引腳,三線接口時的雙向數據線;SCLK 時鐘引腳連接單片機的PA4 引腳,其作用是控制數據的輸入、輸出,當系統使能時鐘模塊之后,SCLK 給上升沿,將數據寫入單片機,隨后SCLK 給下降沿,將數據讀出。
ESP8266 是一款面向物聯網的高性價比、高度集成的Wi-Fi 模塊,是目前物聯網通信中應用非常廣泛的模塊。它最大的功能是可以打開Wi-Fi 和連接Wi-Fi,可以將設備和互聯網連接到云平臺[3],進而對連接設備實現無線控制。ESP8266 硬件接線圖如圖3 所示。

圖3 ESP8266 硬件接線圖
其中,ESP8266 的1 號引腳RX 接單片機的串口2 的TX引腳,ESP8266的8號引腳TX接單片機串口2的RX引腳,即與STM32 主控芯片數據收發端進行交叉連接實現串口數據的發送和接收。
舵機是一種常見的“伺服機構”,根據控制信號執行做出響應,沒有收到控制信號時,轉子靜止不動;接收到控制信號時,轉子立即轉動。SG90 舵機具有快速響應、高精度、可靠性高等優點,可以滿足各種精密控制的需求。SG90 舵機硬件接線圖如圖4 所示。

圖4 SG90 舵機硬件接線圖
其中,SG90 舵機的1 號引腳為VCC 電源引腳;2 號引腳為接地引腳;3 號引腳為PWM 控制信號輸入端。
0.96 寸OLED 顯示屏具有高亮度、低功耗和可視效果好等特點。它具有多個控制指令,可以控制OLED 的亮度、對比度、開關升壓電路等。此外,因為它操作方便,功能豐富,在工業控制領域得到廣泛應用。OLED 顯示模塊硬件接線圖如圖5 所示。

圖5 OLED 顯示模塊硬件接線圖
其中,OLED 顯示屏的1 號引腳為接地引腳;2 號引腳為電源引腳;其他兩個引腳分別為SCL 和SDA,分別與STM32 主控芯片的PB6 和PB7 連接,用普通的GPIO 口的拉高和拉低動作來模擬I2C 的硬件時序來實現傳輸數據。
LD3320 是有ICRoute 公司設計生產的語音識別芯片。該芯片集成了語音識別處理器和AD、DA 轉換器、麥克風接口、聲音輸出接口等。所以在設計電路的時候基本不需要太多的芯片就可以實現語言識別功能[4]。語音識別處理器會從數字信號中提取語音特征,與預先訓練好的語音模型進行匹配,語音模型是一種統計模型,它記錄了各種語音指令的語音特征,能夠識別出用戶所說的語音指令這些特征包括聲音的基頻、頻率、能量等信息[10],語音識別模塊硬件接線圖如圖6 所示。

圖6 語音識別模塊硬件接線圖
其中,LD3320 語音識別模塊的RX 引腳接STM32 主控芯片的PA9 引腳,TX 引腳接STM32 主控芯片的PA10 引腳,當用戶對麥克風說出關鍵詞之后,LD3320 將接收到的語音控制信號完成轉換并發送STM32 主控芯片,STM32 主控芯片再將控制信號進行處理,并控制對應模塊進行工作。
DHT11溫濕度模塊電路是一種常用的溫濕度測量模塊,它采用數字信號輸出方式,能夠快速、準確地測量當前環境的溫度和濕度[5]。DHT11 溫濕度模塊的接口電路包括三個引腳,分別是VCC、GND 和DATA。其中,VCC 和GND 為模塊的電源接口,DATA 為數字信號輸出接口。DHT11 模塊硬件接線圖如圖7 所示。

圖7 DHT11 模塊硬件接線圖
其中,DHT11 模塊的DATA 引腳連接到STM32 主控芯片的PA8 引腳上。當DHT11 采集到溫濕度的數據之后,通過DATA 引腳傳輸到STM32 主控芯片,通過STM32 主控芯片處理之后,發送到OLED 顯示屏顯示出來。
環境中溫度數據信息采集工作由DHT11 傳感器模塊來完成。當系統上電后,首先,DHT11 傳感器模塊完成初始化;然后,DHT11 開始不斷采集環境中的溫度信息,并將采集到的溫度信息不停地發送給STM32 主控制器進行處理,并將處理后溫度值在OLED 顯示屏上進行顯示;同時,STM32 主控制器判斷當前采集的溫度值是否在設定的閾值范圍,如果溫度高于設定的閾值上限,繼電器模擬空調或風扇的打開進行降溫,LED 同時點亮報警。其程序控制流程圖如圖8 所示。

圖8 溫度程序控制流程圖
當系統上電后,語音識別模塊完成初始化,并不斷檢測是否有語音信號輸入。如果沒有收到來自用戶的語音輸入信號,則返回并重新進行檢測,如果收到來自用戶的語音輸入信號,語音識別器就會將語音轉換為文本指令,然后判斷轉換的文本指令是否有效,如果無效,則返回并重新進行檢測,如果有效,STM32 主控芯片就會處理指令,最終實現控制繼電器的開閉和舵機的轉停。其程序控制流程圖如圖9 所示。

圖9 語音識別程序控制流程圖
語音識別智能家居系統實物圖和手機APP 界面如圖10所示。時鐘模塊用于獲取日期時間,紅色LED 燈用于溫度超過閾值時亮起用于報警,白色LED 燈模擬家里的燈光,舵機用于模擬窗簾的拉動,繼電器模擬家里的風扇或空調開關用于降溫,按鍵用于設置日期時間和溫度閾值。

圖10 硬件實物圖
可以通過語音控制窗簾、風扇、燈的開關,語音模式功能測試如圖11 所示。

圖11 語音模式功能測試
在使用WiFi 聯網后可以顯示DHT11 采集的溫濕度信息,并控制窗簾、風扇、燈的開關,手機APP 模式功能測試如圖12 所示。

圖12 手機APP 模式功能測試
該系統設計實現了預期功能,以更加便捷的方式實現了對家庭或辦公場所各種設備的靈活控制。同時,也解決了行動困難人群操作傳統機械式開關的不便,體現一定的便捷性和人性化。該系統具有開發周期短、成本低、應用廣、穩定性好等特點,受到人們的青睞。
但是,由于該智能家居系統接入的控制設備有限,所以功能相對簡單,也使得應用環境具有一定的局限性。為了實現功能的多樣性和應用環境的復雜性,在后期的學習和工作中,還需要不斷地完善和豐富。