李奕軒,李鵬程,肖永軍,夏亞輝,周永婕
(湖北工程學院 物理與電子信息工程學院,湖北 孝感 432000)
近年來,伴隨著社會的發(fā)展及生活節(jié)奏不斷加快,繁忙的工作、父母的希望以及同輩之間的競爭已經(jīng)使得當代人的生活越發(fā)沉重,生活壓力不斷提高,致使人們始終對良好休息環(huán)境的需求不斷增強,越來越看重居家中的生活細節(jié)。因此,在家中實現(xiàn)便捷、安全和溫馨的環(huán)境,同時可防犯家中外人入侵或能及時自動報警的需求越來越廣泛[1-2]?,F(xiàn)在電子行業(yè)的開發(fā)速度加快,琳瑯滿目的產(chǎn)品讓人們應接不暇,將先進的技術和人們想要的溫馨生活相結(jié)合,便促使了智能家居的產(chǎn)生,因而研究監(jiān)測外人入侵以及家庭環(huán)境監(jiān)測、燈光控制為一體的控制系統(tǒng)具有重要的意義及應用價值[3-7]。
本文嘗試以ESP8266為核心,搭配溫濕度傳感器、人體熱釋電傳感器、12位5050封裝RGB彩燈以及電源模塊,設計并制作了智能家居燈光控制系統(tǒng),最終設計并制作了實物及WEB控制端,取得了較好的效果。
智能家居燈光控制系統(tǒng)設計總體框圖如圖1所示,其主要由ESP8266開發(fā)板、人體熱釋電傳感器、DHT11溫濕度傳感器、燈光驅(qū)動及RBG燈和WEB服務器構成。其中ESP8266開發(fā)板采用ESP-12F系列的Wifi驅(qū)動模塊,主要完成對下(聯(lián)系下層硬件資源,如溫濕度傳感器和人體熱釋電以及RGB燈光)和對上(WEB服務器)的控制及服務。人體熱釋電傳感器為HC-SR501模塊,其針對人體的檢測半徑大約是5 m,角度是120°,用于檢測房間內(nèi)是否有外人入侵。DHT11溫濕度傳感器為集成化一體式傳感器,用于感測系統(tǒng)所在環(huán)境的溫濕度信息。燈光驅(qū)動及RBG燈采用集成式的12位環(huán)形5050封裝的RGB燈光組,內(nèi)置WS2812D驅(qū)動,支持Arduino系統(tǒng)的直接開發(fā)與連接。WEB服務器可以采用獨立開發(fā),也可以采用一些公用的云平臺,如機智云、阿里云、騰訊云等。主要負責與ESP8266網(wǎng)絡模塊進行通信,從而使用戶在手機端或者網(wǎng)頁端實時查看信息或者發(fā)送相關指令。
SEP-12F系列(ESP8266的增強版)ESP8266的內(nèi)部集成了Mode MCU,該MCU上有9個IO口(GPIO5、GPIO4、GPIO0、GPIO2、GPIO15、GPIO16、GPIO14、GPIO12和GPIO13),而且還帶一路ADC轉(zhuǎn)換引腳,以及串口通信引腳TXD和RXD,板載VCC和GND。板子上更是增加了SPI口的引出口,同時Arduino IDE為其開發(fā)了MCU庫資源[8-10],通過串口連接到電腦端的Arduino軟件,即可進行編程開發(fā),從而完成通信以及底層硬件的控制,使得開發(fā)更為便捷容易。
圖1 系統(tǒng)總體設計框圖
圖2 ESP8266及MCU最小系統(tǒng)原理圖
基于ESP8266開發(fā)板的最小系統(tǒng)電路圖如圖2所示,在本次設計中,ESP8266既負責聯(lián)網(wǎng),與網(wǎng)絡端的WEB或者手機進行通信,又利用自身的Node MCU控制著相關的硬件,如燈光系統(tǒng)(工作電壓5 V,可接收3.3 V的PWM脈沖)、DHT11溫濕度傳感器(接3.3 V電壓)以及人體熱釋電傳感器(5 V工作電壓,但是輸出信號為3.3 V)[11-13]。
為方便進行燈光控制,采用了集成化一體的外控LED光源,即WS2812全彩LED,其內(nèi)部集成了控制所需的接口電路,諸如電源穩(wěn)壓電路、內(nèi)置恒流、高精度RC振蕩等電路,LED的控制采用PWM方式。
1.2.1 WS2812D全彩LED驅(qū)動
如圖3所示,全彩LED上集成了WS2812D驅(qū)動IC以及LED光源,其為一體式結(jié)構,共同集成在直徑為5 mm的貼片燈珠內(nèi),構成一個相對完整的像素點(外部控制),其內(nèi)部的任何一個像素點收到信號后均整形后再次輸出。其采用四腳貼片封裝,1腳為GND,2腳為DI,3腳為VCC,4腳為DO,外部控制信號從2腳DI輸入,從4腳DO輸出。由于內(nèi)部進行了集成,其工作電壓為5~7 V。其在實際應用中,往往不是一個單個的燈珠,而是多個串聯(lián)進行應用。
圖3 5050貼片全彩LED實物圖及電路圖
1)單株芯片的驅(qū)動控制。該芯片為全彩的LED芯片,內(nèi)部由RGB三個控制二極管構成,需要24位數(shù)據(jù)來依次完成該芯片的像素控制,其中每種顏色使用8位二進制數(shù),控制的順序的GRB(綠色—紅色—藍色)。8位二進制數(shù)剛好可以表示255級變化,與實際使用的顏色想對應,以G顏色表示,若需要該種顏色的亮度越大,需要寫入255,即表示的8位為11111111;若需要關閉該顏色,則寫入0(也可以認為亮度最小),即00000000。根據(jù)三基色原理,若移入的24位值分別不同,可以形成不同亮度的RBG色彩,最終可以混色成為自然界中的任何一種顏色。當然若需要表示為白色,則24位值全部寫入1即可,即每個成分均為255。
24位中的每一位的表示如圖4所示,其要求如下:
邏輯低電平:0.35 μs的高+0.8 μs的低電平;
邏輯高電平:0.7 μs的高+0.6 μs的低電平。
按照對應的寬度拉高拉低IO口即可實現(xiàn)不同的“0”和“1”輸出。
圖4 芯片的邏輯低和高電平的表示
2)多顆芯片的驅(qū)動控制實現(xiàn)。當需要多顆芯片工作應用時,其實現(xiàn)的原理如圖5所示,PWM信號從第一顆的LED的DI引腳輸入,從其DO引腳輸出,芯片內(nèi)部自動移位輸出(而且進行了波形整形),每移過一個芯片,其數(shù)據(jù)則減少24位。
圖5 系統(tǒng)工作狀態(tài)指示電路圖
1.2.2 12位環(huán)形5050 LED燈光模塊及接口電路設計
如圖6所示,其為12位環(huán)形LED燈模塊,即為全彩的WS2812D構成的RGB燈光模塊,控制信號從LED1的2腳DI輸入,從DO引腳輸出,多個LED級聯(lián)形成電路,同時在模塊上配置了104貼片電容作為去耦電容。同時模塊間也可以級聯(lián),其可以對下一級輸出,也可以接收上一級的輸入。在控制中,1腳接入PWM信號(由控制器產(chǎn)生),2腳為空,3腳接電源VCC(本例中為5 V電源),4腳接地。由于控制器模塊的電源為3.3 V,其輸出的PWM信號也為3.3 V,該電路可以
圖6 12位環(huán)形LED燈模塊內(nèi)部電路圖
兼容3.3 V和5 V脈沖,使得控制能夠得以順利實現(xiàn)。
ESP8266板載MCU軟件執(zhí)行總流程圖如圖7所示,MCU控制器上電初始化,主要為設置串口波特率、網(wǎng)絡連接模式、初始化光帶及亮度。之后進入循環(huán)LOOP任務。
在任務中,首先判斷溫濕度數(shù)據(jù)讀取是否失敗,若失敗,延時1 s后繼續(xù)判斷,直到溫濕度數(shù)據(jù)讀取成功。隨后讀取并保存溫濕度數(shù)據(jù)信息,并設置人體紅外檢測信息。之后將上述數(shù)據(jù)信息設置為既定格式,發(fā)送至服務器。完成后,等待服務器返回數(shù)據(jù),若有數(shù)據(jù)返回,則數(shù)據(jù)的長度大于0;否則無數(shù)據(jù)返回,直接退出。若有數(shù)據(jù)返回,則打印輸出接收到的數(shù)據(jù),并同時進行相關的數(shù)據(jù)指令處理,之后進行軟件喂狗,最后返回,繼續(xù)執(zhí)行LOOP循環(huán)。以此往復執(zhí)行。
圖7 板載MCU系統(tǒng)軟件執(zhí)行總流程圖
根據(jù)上述設計焊接了實物,如圖8所示,板子上存在ESP8266最小系統(tǒng)板、DHT11溫濕度傳感器、人體熱釋電傳感器、12位5050封裝的RGB彩燈模塊。整個實物采用USB進行供電,同時設置了LM1117三端穩(wěn)壓電源,將輸入的5 V電壓轉(zhuǎn)換為3.3 V輸出,并經(jīng)過電容平滑濾波后送給ESP8266的內(nèi)部CPU使用。
同時基于spring下的JAVA編程語言設計了WEB端控制軟件。首先登錄設計的WEB端網(wǎng)頁(118.89.31.89∶8899/rgb/user-lpgin.html),并輸入輸入用戶名“admin”和六位密碼,以及隨機的驗證碼后,即可進入welcome界面(首頁面),可以在頁面中完成如下操作和測試實驗:溫濕度傳感器數(shù)據(jù)讀取、熱釋電傳感器數(shù)據(jù)讀取與測試以及智能燈光測試實驗。
圖8 系統(tǒng)硬件實物圖
1)溫濕度傳感器信息獲取及熱釋電傳感器測試。采用的測試方案為:不同的溫度采用打火機炙烤,不同的濕度采用加濕器進行環(huán)境加濕。每組數(shù)據(jù)測量5次,計算平均值。通過將本設計的實物測試結(jié)果與市售的溫濕度結(jié)果進行比對測試,以判斷其測量準確性。具體的測試數(shù)據(jù)如表1所示,從表中可以看出,本系統(tǒng)測量的環(huán)境溫濕度信息與市售的測量結(jié)果一致,說明本系統(tǒng)測量準確,能及時采集當前環(huán)境的溫濕度信息以及是否有人信息,進而上傳至WEB服務器端。
表1 系統(tǒng)測試實驗數(shù)據(jù)對比表
2)燈光控制測試。燈光控制的操作主要是手工操作及現(xiàn)象觀察,具體如下:默認狀態(tài)下,燈光是關閉的;點擊頁面下方燈泡進行開燈操作,則頁面會顯示“開燈成功”。觀察到實物的燈光打開,同時WEB頁面上進一步顯示彩色的燈泡,其下方的按鈕則激活顯示,諸如調(diào)節(jié)亮度進度條、更改顏色按鈕和模式選擇列表框??牲c擊更改燈光的顏色、調(diào)整亮度或者流水花色等功能,下位機實物硬件均會呈現(xiàn)相應的變化。
經(jīng)過實驗測試,在WEB端進行操作,可以實時查看下位機系統(tǒng)端的環(huán)境溫濕度信息,是否有人等信息,以及對燈光的操作。且操作成功后,無論是頁面端還是實物端,均有相應的現(xiàn)象出現(xiàn)。因此,系統(tǒng)能準確接收WEB端傳輸?shù)拿钚畔ⅲ部蓪崟r向WEB端傳輸所需的反饋信息,實現(xiàn)了系統(tǒng)設計所需功能。