黨長青,陳昌盛,周恒
(貴州大學(xué)電氣工程學(xué)院,貴州貴陽,550025)
物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,使得智能家居遍地開花,所以在實(shí)驗(yàn)室搭建一個(gè)基于物聯(lián)網(wǎng)的智能家居實(shí)驗(yàn)技術(shù)平臺供學(xué)生實(shí)驗(yàn)研究顯得異常的重要。本系統(tǒng)將結(jié)合ATMEGA 2560-16AU開發(fā)板與ESP8266Wifi模塊搭建一個(gè)簡單實(shí)用、使用方便、價(jià)格低廉、便于擴(kuò)展的智能家居實(shí)驗(yàn)平臺,方便學(xué)生通過智能家居實(shí)驗(yàn)平臺感受互聯(lián)網(wǎng)的發(fā)展對人們?nèi)粘I畹臎_擊,也便于教師的實(shí)驗(yàn)教學(xué)。
本實(shí)驗(yàn)技術(shù)平臺主要由DHT11溫濕度傳感器模塊、BH1750光照強(qiáng)度傳感器模塊、土壤濕度傳感器模塊、水位傳感器模塊、煙霧濃度傳感器模塊、OLED顯示模塊、ESP8266WiFi無線傳輸模塊、控制器與處理器模塊、繼電器模塊、電機(jī)模塊以及YS-M3語音播放模塊構(gòu)成[1]。該實(shí)驗(yàn)平臺以Arduino MEGA2560單片機(jī)作為核心控制器,通過上述傳感器模塊對家居環(huán)境參數(shù)進(jìn)行采集,然后通過Arduino單片機(jī)的AD模塊對傳感器采集的模擬量數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,其中將土壤濕度、光照強(qiáng)度、蓄水池液位以及環(huán)境溫濕度等重要環(huán)境數(shù)據(jù)通過顯示模塊進(jìn)行數(shù)據(jù)顯示,以便用戶更加直觀的觀察到家居環(huán)境的實(shí)時(shí)數(shù)據(jù)。同時(shí)通過ESP8266Wifi模塊將采集到的傳感器數(shù)據(jù)上報(bào)至云端服務(wù)器,服務(wù)器再將傳感器所采集到的相關(guān)數(shù)據(jù)轉(zhuǎn)發(fā)給客戶端,客戶端接收到云端服務(wù)器發(fā)送的狀態(tài)信息后更新相關(guān)數(shù)據(jù)并通過本文設(shè)計(jì)的手機(jī)APP平臺進(jìn)行顯示。當(dāng)傳感器檢測到的數(shù)據(jù)低于所設(shè)定閾值時(shí),語音播放模塊將會播放報(bào)警信息,實(shí)現(xiàn)現(xiàn)場報(bào)警;同時(shí)Arduino單片機(jī)將該警告信息通過ESP8266WIFI模塊及機(jī)智云服務(wù)器發(fā)送至Android客戶端進(jìn)行顯示,實(shí)現(xiàn)遠(yuǎn)程報(bào)警。該智能家居實(shí)驗(yàn)技術(shù)平臺能夠?qū)崿F(xiàn)對智能設(shè)備的遠(yuǎn)程操作控制,便于實(shí)驗(yàn)室教師開展各類相關(guān)的實(shí)驗(yàn)教學(xué),實(shí)用性價(jià)值比較高。
智能家居控制系統(tǒng)硬件系統(tǒng)框圖如圖1所示,該控制系統(tǒng)以ATMEGA2560-16UA芯片為核心處理器,通過各個(gè)傳感器對環(huán)境參數(shù)進(jìn)行檢測。將傳感器輸出的電信號接入單片機(jī)的A/D轉(zhuǎn)換模塊,轉(zhuǎn)換成單片機(jī)能夠處理的數(shù)字信號然后再通過單片機(jī)進(jìn)行處理。Arduino單片機(jī)將各個(gè)傳感器數(shù)據(jù)進(jìn)行中值濾波后將部分?jǐn)?shù)據(jù)進(jìn)行歸一化處理,然后通過ESP8266WIFI模塊發(fā)送至機(jī)智云服務(wù)器,并將部分重要參數(shù)值發(fā)送至OLED顯示屏進(jìn)行顯示。
圖1 智能家居實(shí)驗(yàn)技術(shù)平臺硬件系統(tǒng)框圖
2.2.1 MCU選擇
由于本設(shè)計(jì)中使用了多個(gè)傳感器,而ArduinoMega2560核心板具有多個(gè)IO接口正好滿足本設(shè)計(jì)對多個(gè)IO口的需求,因此本設(shè)計(jì)選擇ArduinoMega2560作為本系統(tǒng)的核心控制板。ArduinoMega2560核心板如圖2所示。
圖2 ArduinoMega2560核心板
2.2.2 WIFI模塊選擇
WIFI模塊選擇ESP8266WIFI模塊。這款芯片使用3.3V的直流電源,體積小,功耗低,支持透傳,數(shù)據(jù)收發(fā)穩(wěn)定。ESP8266可以通過AT命令來設(shè)置芯片的大部分參數(shù)和設(shè)置為透傳模式[2]。ESP8266也可以采集一些溫濕度傳感器的數(shù)據(jù),然后發(fā)送到互聯(lián)網(wǎng)上。ESP8266模塊如圖3所示。
圖3 ESP8266模塊
本設(shè)計(jì)配置網(wǎng)絡(luò)時(shí)使用的是SmartConfig模式,采用UDP廣播模式(UDP接收IP地址是255.255.255.255)ESP8266WIFI模塊先掃描所在環(huán)境的AP(AccessPoint),得到AP的相關(guān)信息,如工作的channel,然后配置wifi芯片工作在剛才掃描到的channel上去接收UDP包,如果沒有接收到相應(yīng)的UDP包,則繼續(xù)配置ESP8266工作在另外的channel上,如此往復(fù)循環(huán),直到收到UDP包為止。
2.2.3 OLED屏幕的選擇
本設(shè)計(jì)中只需查看部分重要數(shù)據(jù),選擇0.96寸OLED顯示屏足以滿足需求。
2.2.4 語音模塊
YS-M3模塊具備9個(gè)觸發(fā)口,其觸發(fā)方式為低電平觸發(fā)。為了更方便的實(shí)現(xiàn)語音播報(bào)的功能,本設(shè)計(jì)選擇單片機(jī)的IO口觸發(fā)。以A1-A5為編碼端口、二進(jìn)制的反碼進(jìn)行編碼。編碼格式如表1所示。
表1 語音模塊編碼方式
根據(jù)以上表格的輸出形式,0代表輸出低電平,1代表輸出高電平,在單片機(jī)IO口輸出編碼后,等待200ms以上恢復(fù)默認(rèn)值(高電平),即可進(jìn)行播放語音。主控板收到手機(jī)APP的指令之后,語音模塊會同時(shí)播報(bào)手機(jī)發(fā)送的指令,用于提醒用戶。其部分實(shí)現(xiàn)代碼如下:
2.2.5 穩(wěn)壓電路設(shè)計(jì)
該智能家居實(shí)驗(yàn)技術(shù)平臺整體采用7.2V鋰電池供電,而OLED顯示模塊、ESP8266WiFi模塊均采用 3.3V電源進(jìn)行供電。傳感器以及單片機(jī)最小系統(tǒng)需采用5V電源供電。因此需進(jìn)行穩(wěn)壓電路設(shè)計(jì)將7.2V的電源通過相應(yīng)的穩(wěn)壓芯片降至本系統(tǒng)所需的5V以及3.3V電源。在穩(wěn)壓電路設(shè)計(jì)中本設(shè)計(jì)采用LM1117-3.3、LM1117-5.0和TPS7350穩(wěn)壓芯片對電源電壓進(jìn)行降壓處理,降至3.3V和5V,考慮到穩(wěn)壓芯片在進(jìn)行降壓處理后會有較大的紋波,因此在設(shè)計(jì)電路時(shí)采用10μF的電解電容濾除低頻信號,采用0.1μF的瓷片電容濾除高頻信號,對穩(wěn)壓芯片輸出的電壓進(jìn)行濾波處理,得到一個(gè)穩(wěn)定的直流電源。其電路設(shè)計(jì)如圖4所示。
圖4 穩(wěn)壓電路設(shè)計(jì)
該智能家居實(shí)驗(yàn)技術(shù)平臺的軟件設(shè)計(jì)步驟主要有:(1)控制器通過傳感器對環(huán)境參數(shù)的采集和處理;(2)控制器采集處理后的家居環(huán)境數(shù)據(jù)發(fā)送至OLED顯示;(3)控制系統(tǒng)配置入網(wǎng);(4)控制器通過ESP8266WiFi模塊上報(bào)數(shù)據(jù);
(5)接收客戶端下發(fā)的控制命令并執(zhí)行相應(yīng)的操作[3]。
智能家居實(shí)驗(yàn)技術(shù)平臺的主程序流程圖如圖5所示。
圖5 智能家居實(shí)驗(yàn)技術(shù)平臺程序流程圖
智能家居實(shí)驗(yàn)技術(shù)平臺配網(wǎng)流程圖如圖6所示。
圖6 智能家居實(shí)驗(yàn)技術(shù)平臺配網(wǎng)流程圖
將各個(gè)模塊通電,智能家居控制系統(tǒng)配置入網(wǎng),連接機(jī)智云服務(wù)器。打開Android客戶端應(yīng)用程序便可查看相關(guān)傳感器檢測到的環(huán)境參數(shù)值,同時(shí)OLED顯示屏也會顯示當(dāng)前數(shù)據(jù)。如圖7、8所示,分別為手機(jī)APP顯示的各個(gè)傳感器參數(shù)值和OLED顯示屏顯示的重要參數(shù)值;如圖7所示,通過Android客戶端應(yīng)用程序還可實(shí)現(xiàn)對家居設(shè)備的控制,當(dāng)傳感器檢測到的環(huán)境參數(shù)小于所設(shè)定的閾值時(shí),在Android客戶端應(yīng)用程序還可查看到相關(guān)警告信息,如圖9所示。
圖7 手機(jī)APP顯示各個(gè)傳感器檢測到的數(shù)值
圖9 警告信息顯示
本智能家居實(shí)驗(yàn)技術(shù)平臺將Arduino單片機(jī)通過WiFi模塊和物聯(lián)網(wǎng)結(jié)合起來,設(shè)計(jì)了一個(gè)能夠通過Android客戶端應(yīng)用程序?qū)崟r(shí)監(jiān)測花盆的土壤濕度、室內(nèi)環(huán)境溫濕度、煙霧濃度、光照強(qiáng)度,并且能夠遠(yuǎn)程控制家居設(shè)備的實(shí)驗(yàn)平臺。本實(shí)驗(yàn)技術(shù)平臺可以實(shí)現(xiàn)數(shù)據(jù)的可視化、智能化,可以滿足不同用戶的客戶體驗(yàn)。
圖8 OLED顯示的重要環(huán)境參數(shù)值