李曉紅,付江豪
(太原工業學院 電子工程系,山西太原,030008)
當步入20 世紀90 年代以后,數字化通訊科技得到了前所未有的蓬勃發展并很快滲入社會的各行各業,物聯網環境,公眾信息安全,智慧消防、產業監測等應用領域生產業務的迅速蓬勃發展[1]。智能家居作為一個新興的概念逐漸被大眾所接受,它可以使用戶足不出戶就能享受各種服務,并且還能夠通過互聯網與其他設備進行交互。智能家居系統[2]以住宅平臺為基礎,并采用嵌入式微電腦作為核心控制器,以實現無線通信、安全防范以及自動控制等的系統集成,用于實現對智能家居環境的各個子系統的遠程安全監控,環境監測和控制,智能家居環境監測系統在我國發展迅速。因此本文對智能家居網絡系統進行設計,利用各種具有網絡通信能力的設備實現并通過STM32[3]獲取交換信號,利用判斷命令確定系統運行狀況,進而達到對智能家居網絡系統的監測,隨后利用手機APP 或電腦來發出指令,并通過與人們生活密切相關的各種設備的緊密結合,可以實現對家居室內及室外區域的控制和監測。
本次系統硬件設計主要由STM32 單片機、煙霧傳感器、溫濕度傳感器、紅外傳感器、光敏電阻等部件設計研制而成。軟件部分主要是基于手機APP 平臺實現對各個功能模塊的控制與監測。通過上位機監控界面可實時觀察各參數狀態并根據設定完成相應操作。控制系統的結構設計如圖1 所示。

圖1 系統硬件結構設計
其中STM32 的微機最小系統集成電路涵蓋了時鐘電路、接口調試電路、復位集成電路和啟動模塊的選擇集成電路等部分。最小系統原理圖如圖2 所示[4]。

圖2 STM32F103C8T6 最小系統原理圖
外圍電路中采用OLED12864 液晶顯示屏為主體顯示屏,以完成人機交互功能。OLED 的基本原理是利用了發光二極管的特點,通過利用OLED 在不同時刻所產生光的色彩差別原理,來組成特色LED 顯示屏畫面,具有顯示速度快,顯示穩定性好及屏幕亮度和分辨率高的優勢,且所呈現的信息也比較直接。OLED 液晶顯示器有四種接口方式,都可以使用模塊的BS1/BS2 設置。針對所設計系統實際應用場景,最終選用4 針I2C 連接式的OLED 顯示屏,其名稱和對應連接的方法如表1 所示,電路設計圖如圖3 所示。

表1 OLED與單片機連接

圖3 OLED 液晶電路接口
溫濕度傳感模塊主要利用DHT11傳感器[5]來檢測家居環境溫濕度狀態,所得到的溫度濕度數據可以作為智能家電的控制系統(比如智能空調、加濕器)的判斷基礎。DHT11傳感器也是最常用的溫濕度檢測傳感器之一,其溫度相對濕度測量范圍為20%~95%RH,環境溫度檢測范圍為0℃~+50℃。將DHT11傳感器的DATA 輸出端口與STM32 處理器的PB14端口連接,STM32單片機把收集到的數據進行轉換,最后以數據的方式在OLED液晶屏幕上表示。DHT11 濕度傳感器實物圖及其接口電路線,分別如圖4 和5 所示。

圖4 DHT11 溫濕度傳感器實物圖

圖5 DHT11 接口電路
煙霧傳感模塊利用MQ-2 傳感器[6]來檢測室內煙霧濃度。本次設計利用STM32 單片機內集成的高速度ADC 完成煙氣檢測的數據采集,將MQ-2 傳感器的AOUT 端口與STM32 單片機內的PA7 口相連接。MQ-2 傳感器內部選用了更加敏感得高溫傳感器材料作為感應器的導熱材質,當煙氣感應器探頭檢測到煙氣顆粒時,其表面的溫度就會發生變化,從而能夠引起電信號發生改變,這種變化雖然十分微弱,但通過對信號放大,就能夠得到相當明顯的電流變化,由此可以被在STM32 單片內集成的高速ADC 所采集到。再通過控制器內設定好的煙霧告警閾值,可以自動判斷是否開啟聲光報警。MQ-2 煙霧傳感器模塊實物如圖6 所示。

圖6 MQ-2 煙霧傳感器模塊

圖7 光敏電阻原理圖
光敏傳感模塊主要通過光敏電阻來感知環境光的強弱。由于光敏電阻對于環境中光照強弱變化非常敏感,光敏電阻阻值的大小會隨著光照強弱發生變化,從而能夠輸出不同大小的電信號。使用時首先利用在STM32 單片機控制器內集成的高速ADC 實現光敏電阻電壓的數據采集,其次通過控制器內設定的光敏閾值,可以自動判斷是否啟燈亮、燈滅。光敏傳感電路基本原理如7 所示。
防盜報警功能通過反射式紅外傳感器來實現,并利用蜂鳴器產生聲音警報,而報警光由LED 指示燈產生。本次設計的WiFi 通信模塊采用了ESP8266 模塊[7],該模塊的最大工作電壓范圍為3~3.6V。其優勢具備輸入輸出電量小、體重輕、可靠性高以及支持多種網絡協議的特點,實物圖如圖8 所示。

圖8 ESP8266 WiFi 通信模塊
軟件設計是整個系統功能實現的不可分割的重要環節,同時也是各個功能模塊得以順利工作的重要基石。本系統設計工作主要由STM32 單片機系統軟件程序設計、ESP8266WiFi 通訊模塊及固件軟件設計、機智云云平臺產品設計與實現、手機APP 軟件設計與實現等四部分構成。其中主控芯片設計采用的是STM32F103C8T6 芯片,主要完成以下四項功能:溫度、濕度、煙霧等傳感器信息的采集、通過OLED 液晶顯示屏顯示數據、蜂鳴器報警以及照明開關的控制。主程序的流程設為:
(1)硬件系統通電啟動后,先對系統和各個傳感器進行初始化,然后由STM32 嵌入式單片機利用紅外感器模塊判斷是否有外人入侵,并通過這些信息來判度是否進行報警。
(2)由STM32 單片機讀出溫濕度傳感器模組收集的環境溫濕度數據信息,光敏傳感器模塊數據信息,讀出空氣質量感應器模組收集的空氣質量情況,并將測量情況與控制系統設置的參數對比以確認系統是否運行了聲光報警程序。
(3)由STM32 單片機將得到的相關數據經處理轉換后,驅動OLED 液晶屏并在相應的區域處顯示相應數值。WiFi 通訊模塊手動將有關數據上傳機智云云平臺客戶端,通過手機APP登陸機智云云平臺服務器進行遠程通訊,查看有關信息。
(4)手機APP 通過機智云云平臺客戶端給系統下達指令,然后系統不斷反復搜索WiFi 模塊,看有沒有來自機智云端的新指令。在接受到新指令之后,STM32 就對整個系統的各功能模塊都加以了控制。
(5)通過按鍵功能可以對OLED 顯示屏上設定的煙霧、光照、溫濕度、空氣質量閾值進行修改。
主程序流程圖如圖9 所示。

圖9 主程序流程圖
進行了STM32單片機的應用程序實現、ESP8266 WiFi 通訊模塊的軟件設計和機智云云系統設計與實現,再后面要進行系統相關的APP 軟件設計。首先將系統和手機APP 相連,然后再進入APP的操作界面,啟動電源,若系統正處于自動模式中,則系統會將收集到的溫濕度,以及煙氣含量,空氣質量以及光照強度這些數據通過WiFi 模塊傳送給手機APP。當空氣溫濕度示值的煙塵濃度和空氣質量達到規定的閾值時就會實現自動報警,同時當光照強度低于設定閾值時,會進行自動開啟室內燈光。
當通過按鍵將其自動模式改為手動模式時,可以通過手機APP對其室內燈光進行打開或者關閉,如圖10和11所示。

圖10 手機APP 監測

圖11 手機APP 控制燈光
本文通過對目前國內智能家居產業的發展現狀以及存在的問題,從普通家庭的實際需要出發,設計和完成了一款采用STM32 單片機的多功能智能家庭家居控制器。通過溫濕度傳感器模塊來檢測室內的環境濕度狀況,并搭配了OLED 液晶顯示屏以及手機APP,實現了家居環境濕度檢測功能。利用煙霧傳感器模塊收集的環境煙氣含量情況,并結合蜂鳴器和LED 指向燈,實現了火災事故聲光報警控制功能。利用紅外傳感器模塊來探測是否有人私自闖進來的情況,利用光敏傳感模塊探測周圍光照信息,實現對照明的自動控制。最后采用WiFi 通信模塊和機智云平臺進行信息交換,完成了移動APP 的遠程監視和控制服務。