林朋右,王佳豪,蔡益富
(泉州職業(yè)技術(shù)大學,福建 泉州 362000)
隨著科技的不斷進步,人們對居住環(huán)境的舒適性、便利性、節(jié)能性要求不斷提高,智能家居已成為市場熱潮[1]。智能家居利用網(wǎng)絡(luò)與傳感器技術(shù),實現(xiàn)了家居設(shè)備與家居環(huán)境的互連及交互,是一種智能化控制、自動化管理的新型家居系統(tǒng)。
傳統(tǒng)的智能家居產(chǎn)品存在一些問題,如使用不方便、功能單一、安全性差等,這限制了智能家居的進一步發(fā)展。設(shè)計一種基于NodeMCU的智能玻璃百葉窗控制系統(tǒng),使窗戶能夠根據(jù)天氣變化自動開合,實現(xiàn)自動化控制及智能化管理。與傳統(tǒng)的手動控制方式相比,本設(shè)計更加智能、便捷、節(jié)能,采用多種傳感器技術(shù),實時感知室內(nèi)與室外的溫度、濕度、光線、雨量、風力等參數(shù),用戶可通過手機或電腦遠程控制并監(jiān)控窗戶的狀態(tài)及運行情況,令窗戶的開合更加智能化、精準化,實現(xiàn)窗戶在不同天氣環(huán)境下的自動開合控制,為人們提供更好的生活體驗,滿足人們對智能家居的需求,有望成為未來智能家居發(fā)展的重要方向之一。
智能玻璃百葉窗控制系統(tǒng)的整體結(jié)構(gòu)及外觀設(shè)計如圖1、圖2所示。
圖1 整體結(jié)構(gòu)設(shè)計
該系統(tǒng)通過傳感器采集信息,與本地數(shù)據(jù)進行比對,獲得匹配的氣象信號,根據(jù)預設(shè)的控制邏輯自動調(diào)整百葉窗的開合角度,以實現(xiàn)室內(nèi)溫度、濕度及光線的控制及窗戶在不同天氣環(huán)境下的自動開合控制。當室內(nèi)溫濕度值為30%~80%時,百葉窗的打開角度約為50°~60°;當溫濕度小于30%時,為了避免室內(nèi)過于干燥,百葉窗的打開角度約為 20°~30°;當溫濕度大于80%時,為了避免室內(nèi)過于潮濕,百葉窗的打開角度約為80°~90°。當風力大于4級或下雨時,為了避免風雨侵入室內(nèi),百葉窗直接關(guān)閉。
NodeMCU ESP8266模塊是一款基于ESP8266 WiFi芯片的開源硬件平臺,主要優(yōu)勢體現(xiàn)在強大的WiFi連接能力、豐富的硬件接口、開源硬件平臺及豐富的軟件支持等方面,已成為實現(xiàn)智能化控制及自動化管理的核心元件,能夠為智能玻璃百葉窗窗控制系統(tǒng)提供強大的控制及聯(lián)網(wǎng)功能[2],通過連接數(shù)字舵機、顯示終端及多種傳感器,實時感知環(huán)境參數(shù),根據(jù)預設(shè)的控制邏輯自動調(diào)整開合角度,通過WiFi連接到互聯(lián)網(wǎng),實現(xiàn)設(shè)備之間的遠程控制及監(jiān)控。支持多種編程語言及軟件庫,加快了編寫及調(diào)試代碼的速度[3],提高了系統(tǒng)的性能及可靠性。硬件設(shè)計如圖3所示。
圖3 硬件設(shè)計
采用多種傳感器來檢測環(huán)境信息,包括雨滴傳感器、風力傳感器、DHT11數(shù)字溫濕度傳感器及光敏亮度電阻傳感器。雨滴傳感器采用反應板與信號轉(zhuǎn)換模塊相互配合,通過檢測反應板電阻值來判斷是否有雨滴,當雨滴落入反應板時,反應板阻值會發(fā)生變化,信號轉(zhuǎn)換模塊將采集的數(shù)據(jù)轉(zhuǎn)化為數(shù)字信號,通過D0端口傳輸給控制器進行處理[4]。風力傳感器內(nèi)含發(fā)電機及葉片,當風力作用于葉片時,會帶動發(fā)電機轉(zhuǎn)動,產(chǎn)生模擬電壓輸出。為了避免電壓過高導致控制器損壞,通過電壓檢測模塊將馬達輸出電壓降低到1/5,再經(jīng)過A0端口傳輸給控制器進行處理[5]。DHT11數(shù)字溫濕度傳感器采用數(shù)字式溫濕度傳感技術(shù),內(nèi)含正電子濕度計與NTC溫度計,通過特殊的數(shù)字模塊采集技術(shù)及溫濕度傳感技術(shù)輸出數(shù)字信號,通過串行單線接口傳輸給控制器進行處理[6]。光敏亮度電阻傳感器采用感光元件,將光信號變換成靈敏電信號,包括紅外波長、紫外線等,通過探測器檢測光線或?qū)⒐庑盘栟D(zhuǎn)換成其他感測器的偵測元件,輸出數(shù)字信號,通過特殊的包裝形式連接到控制器進行處理。
利用數(shù)字式溫濕度傳感技術(shù)、感光元件技術(shù)等技術(shù),采集環(huán)境信息,將其轉(zhuǎn)化為數(shù)字信號,通過特定接口傳輸給控制器進行處理,實時檢測環(huán)境信息,從而實現(xiàn)自動控制。
主要實現(xiàn)WiFi通信及物聯(lián)網(wǎng)連接,完成狀態(tài)監(jiān)控、遠程控制及聯(lián)網(wǎng),用戶可通過手機APP或網(wǎng)頁等查看并控制,實現(xiàn)監(jiān)控家具、自動開合、調(diào)節(jié)百葉角度等功能,還能實現(xiàn)與其他智能家居設(shè)備的聯(lián)動(如與智能燈光、空調(diào)等)及更加智能化、便捷化的居家生活。在技術(shù)方面,NodeMCU ESP8266模塊采用WiFi通信技術(shù)及物聯(lián)網(wǎng)連接技術(shù),能夠?qū)崿F(xiàn)多種WiFi協(xié)議(如802.11 b/g/n等),支持多種加密方式(如WPA/WPA2-PSK等),可保證通信的安全性及穩(wěn)定性。NodeMCU ESP8266模塊支持多種物聯(lián)網(wǎng)協(xié)議(如MQTT、HTTP等),可與其他智能家居設(shè)備及互聯(lián)網(wǎng)連接[7]。無線通信模塊的工作流程是連接WiFi及物聯(lián)網(wǎng)、接收控制命令、執(zhí)行控制命令,連接到正確的WiFi網(wǎng)絡(luò),獲取網(wǎng)絡(luò)連接及IP地址等信息[8],連接到物聯(lián)網(wǎng)平臺,獲取控制命令及傳輸數(shù)據(jù),接收用戶的控制命令(如開合百葉、調(diào)節(jié)角度等),將其轉(zhuǎn)化為控制信號,將控制信號傳輸給控制器,控制器根據(jù)信號控制開合及角度等。
使用LM2596S DC-DC可調(diào)降壓模塊,體積小,功率低,適合安裝在玻璃百葉窗內(nèi)部,布線方便。能夠?qū)⑤斎腚妷悍€(wěn)定降至所需的輸出電壓,具有過壓、過流保護功能,可保證穩(wěn)定輸出電壓及電流,滿足控制系統(tǒng)的電源需求。采用封裝技術(shù),具有較好的防水、防塵、防靜電等特性,能夠避免因電源故障等因素導致的火災、爆炸等安全問題。
DG-995MG型數(shù)字舵機具有超大的扭矩,可達到13 kg·cm,采用高精度數(shù)字控制技術(shù)來實現(xiàn)精確控制,響應速度快,能夠在很短的時間內(nèi)完成轉(zhuǎn)動,快速控制開啟與關(guān)閉。該舵機采用高品質(zhì)材料及制造工藝,具有較高的可靠性,壽命長,能夠保證控制系統(tǒng)的穩(wěn)定性及耐用性。
多傳感器模塊軟件設(shè)計流程如下:通用初始化,包括對芯片進行復位、設(shè)定工作模式及時鐘頻率,對FIFO進行初始化操作。進行傳感器模塊的工作檢查,確認模塊可正常工作。主控制器向不同傳感器模塊發(fā)送讀取指令,各傳感器模塊讀取當前環(huán)境的傳感器數(shù)據(jù)并將數(shù)據(jù)返回給主控制器。主控制器對返回的數(shù)據(jù)進行處理,根據(jù)預設(shè)的閾值或范圍進行判斷,觸發(fā)相應的百葉窗開關(guān)功能。實現(xiàn)過程中需進行中斷處理,以確保系統(tǒng)能夠及時響應傳感器的監(jiān)測信號。還需對傳感器返回的數(shù)據(jù)進行校驗,確保數(shù)據(jù)的準確性及可靠性,通過與主控制器的通信,將傳感器檢測到的環(huán)境情況反饋給用戶,以便用戶了解當前環(huán)境狀態(tài)及百葉窗的控制狀態(tài)。針對不同的傳感器模塊,按照以下流程進行軟件設(shè)計:
雨滴傳感器模塊:當檢測到雨滴時,模塊會向主控制器發(fā)送信號,主控制器接收到信號后觸發(fā)百葉窗關(guān)閉功能。當雨滴停止時,模塊會再次向主控制器發(fā)送信號,主控制器接收到信號后觸發(fā)百葉窗打開功能。為了防止誤觸發(fā),可設(shè)置一個閾值,只有當檢測到的雨滴數(shù)量超過閾值時才會觸發(fā)關(guān)閉功能。雨滴傳感器模塊工作流程如圖4所示。
圖4 雨滴傳感器模塊工作流程
風力傳感器模塊:當檢測到風力超過預設(shè)閾值時,模塊會向主控制器發(fā)送信號,主控制器接收到信號后觸發(fā)百葉窗關(guān)閉功能。當風力減弱到預設(shè)閾值以下時,模塊會再次向主控制器發(fā)送信號,主控制器接收到信號后觸發(fā)百葉窗打開功能。為了防止誤觸發(fā),可設(shè)置一個時間窗口,只有當風力超過預設(shè)閾值持續(xù)一定時間后才會觸發(fā)關(guān)閉功能。
DHT11數(shù)字溫濕度傳感器模塊:主控制器向傳感器發(fā)送讀取指令,傳感器讀取當前溫濕度值并將數(shù)據(jù)返回給主控制器。主控制器對返回的數(shù)據(jù)進行處理,將溫度與濕度值分別顯示在屏幕上,以便用戶了解當前的環(huán)境狀態(tài)。主控制器根據(jù)預設(shè)的溫濕度范圍進行判斷,若當前溫度或濕度在某個預設(shè)范圍內(nèi),則主控制器向百葉窗控制模塊發(fā)送指令,觸發(fā)數(shù)字舵機實現(xiàn)角度調(diào)整功能;當溫濕度進入下一個范圍,則會調(diào)整至其他角度。
光敏亮度電阻傳感器模塊:主控制器向傳感器發(fā)送讀取指令,傳感器讀取當前環(huán)境的光強值并將數(shù)據(jù)返回給主控制器。主控制器對返回的數(shù)據(jù)進行處理,將光強值顯示在屏幕上,以便用戶了解當前的環(huán)境狀態(tài)。主控制器根據(jù)預設(shè)的光強范圍進行判斷,若當前光強低于預設(shè)范圍,則主控制器會向百葉窗控制模塊發(fā)送指令,觸發(fā)關(guān)閉功能;若當前光強高于預設(shè)范圍,則主控制器會向百葉窗控制模塊發(fā)送指令,觸發(fā)打開功能。
軟件設(shè)計主要采用自定義的通信協(xié)議,包括幀頭、幀長、數(shù)據(jù)、校驗和及幀尾5部分,具體格式如下:幀頭:一個字節(jié),固定為 0x0A,表示數(shù)據(jù)幀的開頭。幀長:一個字節(jié),表示數(shù)據(jù)部分的長度,可占用長度為1 Byte。數(shù)據(jù):3~256 字節(jié),表示傳輸?shù)挠行?shù)據(jù)。校驗和:一個字節(jié),將有效數(shù)據(jù)進行累加并取余,用于檢測數(shù)據(jù)傳輸過程中的錯誤。幀尾:一個字節(jié),固定為 0x2A,表示數(shù)據(jù)幀的結(jié)尾。
軟件設(shè)計采用基于TCP可靠協(xié)議的控制協(xié)議,通過WiFi連接,實現(xiàn)與手機端的通信。實現(xiàn)過程中需考慮網(wǎng)絡(luò)連接的穩(wěn)定性與可靠性及錯誤處理與異常情況的處理。還需考慮網(wǎng)絡(luò)傳輸?shù)陌踩约凹用艿葐栴},以確保數(shù)據(jù)的安全性及保密性[9]。實現(xiàn)過程中,需將WiFi的工作模式設(shè)為STA模式,設(shè)置station模式中所需的ssid及password。連接WiFi路由,獲取客戶端的IP地址進行無線通信。基于TCP可靠協(xié)議實現(xiàn)數(shù)據(jù)傳輸及通信,利用手機端發(fā)送指令給無線通信模塊,無線通信模塊接收指令并調(diào)用解析器解析出具體的指令含義。根據(jù)解析結(jié)果進行一系列操作,并將執(zhí)行結(jié)果返回給手機端。無線連接流程如圖5所示。
圖5 無線連接流程
包括傳感器反饋的氣象信息及當前的百葉窗開關(guān)說明。進行初始化并啟動 NodeMCU無線接收模式,將識別后的傳感器信號解析完成發(fā)送到顯示端,顯示端將氣象信息內(nèi)容顯示在顯示屏上,人們看到氣象信息后可對百葉窗進行再調(diào)整,NodeMCU再將處理后的信息反饋到數(shù)字舵機進行二次調(diào)整。
軟件設(shè)計主要采用基于PWM控制信號的控制方式,通過WiFi連接,實現(xiàn)與手機端的通信。根據(jù)傳感器的反饋信號自動對百葉窗進行開合調(diào)整,使用PID控制算法提高控制精度及穩(wěn)定性,根據(jù)傳感器反饋信號對數(shù)字舵機的控制進行優(yōu)化。實現(xiàn)過程中,需使用PWM控制信號控制數(shù)字舵機的旋轉(zhuǎn)角度,通過調(diào)整PWM的占空比來實現(xiàn)舵機的精確控制。使用PID控制算法對數(shù)字舵機進行控制,以提高控制精度及穩(wěn)定性。數(shù)字舵機不斷接收傳感器的反饋信號,自動調(diào)整百葉窗的開合角度,以滿足用戶需求。
智能玻璃百葉窗控制系統(tǒng)是一款基于數(shù)字舵機及傳感器技術(shù)的智能家居控制系統(tǒng)。使用 PWM控制信號控制數(shù)字舵機的旋轉(zhuǎn)角度,根據(jù)傳感器反饋信號自動對百葉窗進行開合調(diào)整,使用PID控制算法提高控制精度及穩(wěn)定性,通過WiFi連接,實現(xiàn)與手機端的通信,使用戶可以隨時隨地遠程控制百葉窗的開合狀態(tài)。該設(shè)計提升了百葉窗的便利性,具有較高的實用價值及市場潛力,為智能家居的發(fā)展提供了新思路及技術(shù)支持,具有廣闊的應用前景。