李曉紅,付江豪
(太原工業(yè)學(xué)院 電子工程系,山西太原,030008)
當(dāng)步入20 世紀(jì)90 年代以后,數(shù)字化通訊科技得到了前所未有的蓬勃發(fā)展并很快滲入社會(huì)的各行各業(yè),物聯(lián)網(wǎng)環(huán)境,公眾信息安全,智慧消防、產(chǎn)業(yè)監(jiān)測等應(yīng)用領(lǐng)域生產(chǎn)業(yè)務(wù)的迅速蓬勃發(fā)展[1]。智能家居作為一個(gè)新興的概念逐漸被大眾所接受,它可以使用戶足不出戶就能享受各種服務(wù),并且還能夠通過互聯(lián)網(wǎng)與其他設(shè)備進(jìn)行交互。智能家居系統(tǒng)[2]以住宅平臺(tái)為基礎(chǔ),并采用嵌入式微電腦作為核心控制器,以實(shí)現(xiàn)無線通信、安全防范以及自動(dòng)控制等的系統(tǒng)集成,用于實(shí)現(xiàn)對智能家居環(huán)境的各個(gè)子系統(tǒng)的遠(yuǎn)程安全監(jiān)控,環(huán)境監(jiān)測和控制,智能家居環(huán)境監(jiān)測系統(tǒng)在我國發(fā)展迅速。因此本文對智能家居網(wǎng)絡(luò)系統(tǒng)進(jìn)行設(shè)計(jì),利用各種具有網(wǎng)絡(luò)通信能力的設(shè)備實(shí)現(xiàn)并通過STM32[3]獲取交換信號(hào),利用判斷命令確定系統(tǒng)運(yùn)行狀況,進(jìn)而達(dá)到對智能家居網(wǎng)絡(luò)系統(tǒng)的監(jiān)測,隨后利用手機(jī)APP 或電腦來發(fā)出指令,并通過與人們生活密切相關(guān)的各種設(shè)備的緊密結(jié)合,可以實(shí)現(xiàn)對家居室內(nèi)及室外區(qū)域的控制和監(jiān)測。
本次系統(tǒng)硬件設(shè)計(jì)主要由STM32 單片機(jī)、煙霧傳感器、溫濕度傳感器、紅外傳感器、光敏電阻等部件設(shè)計(jì)研制而成。軟件部分主要是基于手機(jī)APP 平臺(tái)實(shí)現(xiàn)對各個(gè)功能模塊的控制與監(jiān)測。通過上位機(jī)監(jiān)控界面可實(shí)時(shí)觀察各參數(shù)狀態(tài)并根據(jù)設(shè)定完成相應(yīng)操作??刂葡到y(tǒng)的結(jié)構(gòu)設(shè)計(jì)如圖1 所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)
其中STM32 的微機(jī)最小系統(tǒng)集成電路涵蓋了時(shí)鐘電路、接口調(diào)試電路、復(fù)位集成電路和啟動(dòng)模塊的選擇集成電路等部分。最小系統(tǒng)原理圖如圖2 所示[4]。
圖2 STM32F103C8T6 最小系統(tǒng)原理圖
外圍電路中采用OLED12864 液晶顯示屏為主體顯示屏,以完成人機(jī)交互功能。OLED 的基本原理是利用了發(fā)光二極管的特點(diǎn),通過利用OLED 在不同時(shí)刻所產(chǎn)生光的色彩差別原理,來組成特色LED 顯示屏畫面,具有顯示速度快,顯示穩(wěn)定性好及屏幕亮度和分辨率高的優(yōu)勢,且所呈現(xiàn)的信息也比較直接。OLED 液晶顯示器有四種接口方式,都可以使用模塊的BS1/BS2 設(shè)置。針對所設(shè)計(jì)系統(tǒng)實(shí)際應(yīng)用場景,最終選用4 針I(yè)2C 連接式的OLED 顯示屏,其名稱和對應(yīng)連接的方法如表1 所示,電路設(shè)計(jì)圖如圖3 所示。
表1 OLED與單片機(jī)連接
圖3 OLED 液晶電路接口
溫濕度傳感模塊主要利用DHT11傳感器[5]來檢測家居環(huán)境溫濕度狀態(tài),所得到的溫度濕度數(shù)據(jù)可以作為智能家電的控制系統(tǒng)(比如智能空調(diào)、加濕器)的判斷基礎(chǔ)。DHT11傳感器也是最常用的溫濕度檢測傳感器之一,其溫度相對濕度測量范圍為20%~95%RH,環(huán)境溫度檢測范圍為0℃~+50℃。將DHT11傳感器的DATA 輸出端口與STM32 處理器的PB14端口連接,STM32單片機(jī)把收集到的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,最后以數(shù)據(jù)的方式在OLED液晶屏幕上表示。DHT11 濕度傳感器實(shí)物圖及其接口電路線,分別如圖4 和5 所示。
圖4 DHT11 溫濕度傳感器實(shí)物圖
圖5 DHT11 接口電路
煙霧傳感模塊利用MQ-2 傳感器[6]來檢測室內(nèi)煙霧濃度。本次設(shè)計(jì)利用STM32 單片機(jī)內(nèi)集成的高速度ADC 完成煙氣檢測的數(shù)據(jù)采集,將MQ-2 傳感器的AOUT 端口與STM32 單片機(jī)內(nèi)的PA7 口相連接。MQ-2 傳感器內(nèi)部選用了更加敏感得高溫傳感器材料作為感應(yīng)器的導(dǎo)熱材質(zhì),當(dāng)煙氣感應(yīng)器探頭檢測到煙氣顆粒時(shí),其表面的溫度就會(huì)發(fā)生變化,從而能夠引起電信號(hào)發(fā)生改變,這種變化雖然十分微弱,但通過對信號(hào)放大,就能夠得到相當(dāng)明顯的電流變化,由此可以被在STM32 單片內(nèi)集成的高速ADC 所采集到。再通過控制器內(nèi)設(shè)定好的煙霧告警閾值,可以自動(dòng)判斷是否開啟聲光報(bào)警。MQ-2 煙霧傳感器模塊實(shí)物如圖6 所示。
圖6 MQ-2 煙霧傳感器模塊
圖7 光敏電阻原理圖
光敏傳感模塊主要通過光敏電阻來感知環(huán)境光的強(qiáng)弱。由于光敏電阻對于環(huán)境中光照強(qiáng)弱變化非常敏感,光敏電阻阻值的大小會(huì)隨著光照強(qiáng)弱發(fā)生變化,從而能夠輸出不同大小的電信號(hào)。使用時(shí)首先利用在STM32 單片機(jī)控制器內(nèi)集成的高速ADC 實(shí)現(xiàn)光敏電阻電壓的數(shù)據(jù)采集,其次通過控制器內(nèi)設(shè)定的光敏閾值,可以自動(dòng)判斷是否啟燈亮、燈滅。光敏傳感電路基本原理如7 所示。
防盜報(bào)警功能通過反射式紅外傳感器來實(shí)現(xiàn),并利用蜂鳴器產(chǎn)生聲音警報(bào),而報(bào)警光由LED 指示燈產(chǎn)生。本次設(shè)計(jì)的WiFi 通信模塊采用了ESP8266 模塊[7],該模塊的最大工作電壓范圍為3~3.6V。其優(yōu)勢具備輸入輸出電量小、體重輕、可靠性高以及支持多種網(wǎng)絡(luò)協(xié)議的特點(diǎn),實(shí)物圖如圖8 所示。
圖8 ESP8266 WiFi 通信模塊
軟件設(shè)計(jì)是整個(gè)系統(tǒng)功能實(shí)現(xiàn)的不可分割的重要環(huán)節(jié),同時(shí)也是各個(gè)功能模塊得以順利工作的重要基石。本系統(tǒng)設(shè)計(jì)工作主要由STM32 單片機(jī)系統(tǒng)軟件程序設(shè)計(jì)、ESP8266WiFi 通訊模塊及固件軟件設(shè)計(jì)、機(jī)智云云平臺(tái)產(chǎn)品設(shè)計(jì)與實(shí)現(xiàn)、手機(jī)APP 軟件設(shè)計(jì)與實(shí)現(xiàn)等四部分構(gòu)成。其中主控芯片設(shè)計(jì)采用的是STM32F103C8T6 芯片,主要完成以下四項(xiàng)功能:溫度、濕度、煙霧等傳感器信息的采集、通過OLED 液晶顯示屏顯示數(shù)據(jù)、蜂鳴器報(bào)警以及照明開關(guān)的控制。主程序的流程設(shè)為:
(1)硬件系統(tǒng)通電啟動(dòng)后,先對系統(tǒng)和各個(gè)傳感器進(jìn)行初始化,然后由STM32 嵌入式單片機(jī)利用紅外感器模塊判斷是否有外人入侵,并通過這些信息來判度是否進(jìn)行報(bào)警。
(2)由STM32 單片機(jī)讀出溫濕度傳感器模組收集的環(huán)境溫濕度數(shù)據(jù)信息,光敏傳感器模塊數(shù)據(jù)信息,讀出空氣質(zhì)量感應(yīng)器模組收集的空氣質(zhì)量情況,并將測量情況與控制系統(tǒng)設(shè)置的參數(shù)對比以確認(rèn)系統(tǒng)是否運(yùn)行了聲光報(bào)警程序。
(3)由STM32 單片機(jī)將得到的相關(guān)數(shù)據(jù)經(jīng)處理轉(zhuǎn)換后,驅(qū)動(dòng)OLED 液晶屏并在相應(yīng)的區(qū)域處顯示相應(yīng)數(shù)值。WiFi 通訊模塊手動(dòng)將有關(guān)數(shù)據(jù)上傳機(jī)智云云平臺(tái)客戶端,通過手機(jī)APP登陸機(jī)智云云平臺(tái)服務(wù)器進(jìn)行遠(yuǎn)程通訊,查看有關(guān)信息。
(4)手機(jī)APP 通過機(jī)智云云平臺(tái)客戶端給系統(tǒng)下達(dá)指令,然后系統(tǒng)不斷反復(fù)搜索WiFi 模塊,看有沒有來自機(jī)智云端的新指令。在接受到新指令之后,STM32 就對整個(gè)系統(tǒng)的各功能模塊都加以了控制。
(5)通過按鍵功能可以對OLED 顯示屏上設(shè)定的煙霧、光照、溫濕度、空氣質(zhì)量閾值進(jìn)行修改。
主程序流程圖如圖9 所示。
圖9 主程序流程圖
進(jìn)行了STM32單片機(jī)的應(yīng)用程序?qū)崿F(xiàn)、ESP8266 WiFi 通訊模塊的軟件設(shè)計(jì)和機(jī)智云云系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),再后面要進(jìn)行系統(tǒng)相關(guān)的APP 軟件設(shè)計(jì)。首先將系統(tǒng)和手機(jī)APP 相連,然后再進(jìn)入APP的操作界面,啟動(dòng)電源,若系統(tǒng)正處于自動(dòng)模式中,則系統(tǒng)會(huì)將收集到的溫濕度,以及煙氣含量,空氣質(zhì)量以及光照強(qiáng)度這些數(shù)據(jù)通過WiFi 模塊傳送給手機(jī)APP。當(dāng)空氣溫濕度示值的煙塵濃度和空氣質(zhì)量達(dá)到規(guī)定的閾值時(shí)就會(huì)實(shí)現(xiàn)自動(dòng)報(bào)警,同時(shí)當(dāng)光照強(qiáng)度低于設(shè)定閾值時(shí),會(huì)進(jìn)行自動(dòng)開啟室內(nèi)燈光。
當(dāng)通過按鍵將其自動(dòng)模式改為手動(dòng)模式時(shí),可以通過手機(jī)APP對其室內(nèi)燈光進(jìn)行打開或者關(guān)閉,如圖10和11所示。
圖10 手機(jī)APP 監(jiān)測
圖11 手機(jī)APP 控制燈光
本文通過對目前國內(nèi)智能家居產(chǎn)業(yè)的發(fā)展現(xiàn)狀以及存在的問題,從普通家庭的實(shí)際需要出發(fā),設(shè)計(jì)和完成了一款采用STM32 單片機(jī)的多功能智能家庭家居控制器。通過溫濕度傳感器模塊來檢測室內(nèi)的環(huán)境濕度狀況,并搭配了OLED 液晶顯示屏以及手機(jī)APP,實(shí)現(xiàn)了家居環(huán)境濕度檢測功能。利用煙霧傳感器模塊收集的環(huán)境煙氣含量情況,并結(jié)合蜂鳴器和LED 指向燈,實(shí)現(xiàn)了火災(zāi)事故聲光報(bào)警控制功能。利用紅外傳感器模塊來探測是否有人私自闖進(jìn)來的情況,利用光敏傳感模塊探測周圍光照信息,實(shí)現(xiàn)對照明的自動(dòng)控制。最后采用WiFi 通信模塊和機(jī)智云平臺(tái)進(jìn)行信息交換,完成了移動(dòng)APP 的遠(yuǎn)程監(jiān)視和控制服務(wù)。