徐光進,肖勁松
(百色學院,廣西百色,533000)
智能家居系統集單片機原理、嵌入式系統、計算機網絡、通信技術等多種系統于一體,成為提高居家生活質量的一項多功能產品。家居的核心設備實現物聯網智能化是為了使用起來更加方便,符合現代社會人們對家電自動化的需求,家居系統的多功能設定和操作方式決定了用戶的體驗感,為此,各企業都在爭相設計出一款功能更多、更便捷的智能化全自動家居控制系統,智能自動化系統不僅包括基礎的室內物聯網燈光控制和家中智能電器控制、家庭的環境安全檢測,還包括對室外設備遠程控制及安全防盜控制等功能,從而實現對家庭室內、室外的全方位控制與安全監測。
一款智能家居控制系統的制作,需要以單片機設備為硬件芯片基礎,本文選用STM32類型單片機作為主電路板控制芯片,外接各模塊電路,通過USB接口為主芯片燒錄入操作各功能的程序。主系統集成電路外接模塊有Wi–Fi無線通訊模塊、人類語音識別模塊等[1]。設計的每個模塊都是有指定功能的,主控模塊通過局域網絡和用戶終端實現操作指令的獲得,后經串口通訊模塊和檢測與控制模塊實現對物聯網家電設備的指令下達,同時可將對家電設備的監控和檢測以同樣方式逆向傳給用戶終端,獲取家中狀況信息。
在本系統控制中,為實現家居系統更智能化,對室內光亮、溫度、濕度等控制調節,主要通過語音形式實現,可以隨時隨地經語音識別模塊經檢測和識別以后,發送客戶需求的特定指令來控制智能家居控制系統實現對家庭環境中物聯網終端的操作。例如,在居家可檢測范圍內,大聲說:“小智,請打開所有燈光”,此時等待中的系統語音輸入模塊就會盡快將錄入的語音模擬信號轉換為控制相應終端的數字指令信號,經導線傳輸給STM32主控模塊,經核心解析處理后,通過Wi–Fi模塊發送特定指令到家中燈光終端,打開所有燈光開關。這個智能控制的操作首先需要語音輸入模塊通過串口通信與STM32主控系統實現連接,之后STM32通過Wi–Fi轉串口通訊與終端建立聯系,傳遞數據包,實現制定功能。完善的家居控制系統首先要保證整個系統的硬件的良好組成和供電,確保各模塊間的協調運轉,然后將各子模塊與主控模塊集成,最后通過對終端軟件不斷測試、實驗,將得到的反饋數據用來完善系統的功能,以做到每一個指令都快速、準確地實現。智能家居的控制系統原理如圖1所示。

圖1 智能控制系統示意圖
本系統具體選用STM32F103ZET6單片機作為主控芯片,結合各專業硬件實現整體功能設計。用于集成的外接子模塊包括用于傳遞信息的Wi–Fi模塊和用于采集信息的非特定人語音識別模塊等[2]。選擇的主控芯片STM32F103ZET6是STM32單片機系列當中的一款144引腳的芯片。片內FLASH支持在線編程以供今后功能的完善,數據、指令在單片機內存中分開存放,讀取數據時也分別走不同的流水線,以確保CPU運行速度達到最大化節省智能系統操作等待時間。其構成的最小系統的工作電路圖如圖2所示。

圖2 最小系統工作電路圖
語音識別模塊選用訊飛語音識別方案XFMT101,此方案具備語連續語音斷句識別、語義理解、置信度輸出、多識別結構等技術,完美展現智能家居控制系統對聲音處理的作用,為用戶提供便捷的語音輸入操作。語言識別模塊首先收集大量的聲音素材,經過音頻預處理后去除噪音,提取聲波特征,得到特征參數,對特征參數建模組成語音數據庫,將常用語音關鍵詞儲存在內存中,以供更好地識別語音指令。當檢測到有聲音輸入的時候,經預處理提取特征參數和數據庫中提前錄入的參考模型進行全方位多次對比,最后將與數據庫特征相似度最高的語音指令作為最終識別結果,從而實現系統的語音識別功能。
模塊集中器RAK831在發射和接收方面具有多方向高效率的優點,它的作用是同時接收多個數據包,以空氣為媒介,在8個通道上使用不同的擴頻因子進行數據傳輸。Wi–Fi技術的無線電波覆蓋范圍廣,半徑在一百米左右,且傳輸速度快,可靠性高,完全可以支持家居控制系統使用。模塊內部編寫了OpenWrt程序。OpenWrt系統的軟件包加入可以提供允許自定義待編輯的文件系統,以適應應用程序的使用,為今后的升級優化提供預存條件。
選擇對煙霧等氣體靈敏度較高的MQ–2型煙霧傳感器。加熱電壓在5V左右,工作電壓在24V以下均可,主要檢測家庭常見的CO、CH4、C3H8等多種廚房或者家用電器使用不當產生的可燃性危險氣體,可燃氣體濃度上升會導致氣敏元件的導電率增加,輸出電阻變小,通過氣敏元件與空氣中可燃氣體的占比變化,監測室內的空氣質量和家庭的環境安全。圖3所示為煙霧傳感器的電路圖。

圖3 MQ—2型煙霧傳感器模塊電路原理圖
HC–SR501工作電壓在4.8V到20V之間,與我們設定的模塊電壓相近。人體的溫度在37攝氏度左右,發出的紅外線波長固定在10μm左右,當有人闖入家庭領域時,人體紅外線通過菲涅爾透鏡增強后聚集到紅外線感應源上,會使感應源的熱釋電元件打破原本的電荷平衡,向外釋放帶正負電的基本粒子,經后續電路處理就會觸動報警信號。此型號紅外傳感器價格較低,靈敏度高,市場上應用較為普遍。
濕度檢測選擇GZBJ–WX330傳感器,工作電壓在12V,可檢測的濕度在0到100%RH之間,是普遍用來檢測室內濕度的智能化監控模塊,檢測量程滿足一年四季的空氣濕度的變換,濕度誤差在3%RH以內。溫度傳感器選擇體積較小的單線智能DS18B20型號數字傳感器,測量溫度在零下10℃到85℃范圍內,適合家庭使用。將設備檢測溫度由人類可識別數據轉化為計算語言數字信號輸出,讀寫溫度數據及溫度變換數據的功率損耗不需要額外電源的支持,僅靠一根數據線就可以實現。
3.1.1 溫度控制接口
智能家居控制系統的溫度控制采用的DS18B20溫度傳感器。在此設計中采用的電路連接方式是寄生電源供電,DS18B20溫度傳感器從單線信號線上獲取檢測溫度過程所需能量,這一實現過程為:當信號線DQ持續為高電平時,內部電容持續儲存小部分能量,處于低電平期間時,電容上的能量大于電路的能量,由于電路所需電容會充當電源,直到高電平再次到來,電容不再釋放能量而是作為寄生電源又重新備電。這種可儲存電能又可以釋放電能的電容作為寄生電源,可保證設備的良好運行,可以在沒有電源供應的條件下仍然依靠提前存儲的電能讀取內存中ROM單元里的數據;電路更加簡單,使用更加方便,僅用一根I/O口數據線便可以實現測溫。系統開始運行時,首先會檢查到室內的溫度,再語音識別用戶設定的目標溫度,將當下溫度與目標溫度對比,經STM32主控系統解析處理后,將指令傳輸到聯網終端,打開空調制冷或制熱模式。當溫度達到以后,就自動控制空調結束執行命令。同時實時監測,與用戶設定的溫度進行對比,如果經消耗以后,溫度相差達到一定數值,則發出相應的數據指令,聯網終端重新開始運轉,直到與設定的溫度在允許偏差范圍內,再進行中斷停止,從而形成連環控制,確保完成用戶要求。
3.1.2 Wi-Fi控制接口
Wi–Fi模 塊 功 能實 現 主 要依 靠Wi–Fi模塊 的 四 個串 口(VCC、RX、TX、GND)功能。Wi–Fi模塊的作用就是將串口轉化成無線Wi–Fi信號。單片機上的Wi–Fi模塊的發送數據、接收數據、電源、地線端點分別連接到對應的STM32主控系統的異步接受、異步發送、3.3V的電源、地線引腳,專門設定RESET復位引腳與STM32連接,便于緊急時刻或者修復期間對模塊進行復位操作,從頭開始,正常工作狀態下,此復位引腳懸空,不參與電路。可以將WiFi設置成用戶數據報協議廣播模式,智能終端即家用電器點對點的方式接入Wi–Fi模塊提供的家用網絡。
在電源部分的設計中,輸入主電源為12,1路5V輸出,兩路12V輸出,總電流設定為5A,為主控芯片、Wi–Fi模塊、語音識別模塊煙霧傳感器模塊和溫濕度傳感器等模塊供電。也可以通過USB接口為主控板連入外部電源。部分電路如圖4所示。

圖4 電源電路示意圖
當用戶需要幫助時,做出相應的控制指令,家居控制系統從睡眠狀態迅速轉換為蘇醒狀態,并進行信號處理,STM32單片機擁有很強的串口通訊能力,因此可以采用串口實現與WiFi模塊的通信和其他模塊間的數據傳輸,數據經串口相關模塊傳遞給STM32主控系統,經解析后發出相應的指令,完成對用戶控制指令的識別后,在STM32單片機當中采用實際輪訓機制依次完成用戶需求操作。系統中設置了基于嵌入式的指令優先執行順序規則,按信號與系統原理中斷的優先級進行處理,由外部設備產生請求中斷指令,施加到主控系統引腳上產生中斷響應,系統進入中斷響應周期,中斷運行完成以后,系統恢復現場,將會返回中斷以前的操作繼續執行,要隨時檢測家庭狀態和安全環境,若沒有不良風險和待辦指令,則停止運行進入睡眠狀態等待用戶的需求。實現用戶通過語音控制物聯網終端家電和環境的控制。當串口接收到相應的語音輸入時,將緩沖區內存入的數據與語音數據庫進行對比判斷是否為某一指令信息,則按照語音中要求的執行時間送入系統完成相應的控制操作[3]。
基于STM32單片機的智能家居全自動控制系統在設計上實現了日常生活中多種便捷功能,具有精準、全面的指令識別功能,同時操作簡單便于老人小孩使用,可以很輕松地對居家范圍內的物聯網家用電器、家居溫度和濕度環境、安全防護系統進行智能的自動控制。智能家居控制系統不僅被普遍用來提升生活質量,還輔助攝像頭設備,方便照顧家里老人和小孩,在系統的升級方面,像系統耗電量和家庭隱私情況加密等功能還有待進一步開發,從而為智能家居控制系統的完善提供技術支撐,為人們對更高層次生活的追求提供物質基礎條件。