林朋右,王佳豪,蔡益富
(泉州職業技術大學,福建 泉州 362000)
隨著科技的不斷進步,人們對居住環境的舒適性、便利性、節能性要求不斷提高,智能家居已成為市場熱潮[1]。智能家居利用網絡與傳感器技術,實現了家居設備與家居環境的互連及交互,是一種智能化控制、自動化管理的新型家居系統。
傳統的智能家居產品存在一些問題,如使用不方便、功能單一、安全性差等,這限制了智能家居的進一步發展。設計一種基于NodeMCU的智能玻璃百葉窗控制系統,使窗戶能夠根據天氣變化自動開合,實現自動化控制及智能化管理。與傳統的手動控制方式相比,本設計更加智能、便捷、節能,采用多種傳感器技術,實時感知室內與室外的溫度、濕度、光線、雨量、風力等參數,用戶可通過手機或電腦遠程控制并監控窗戶的狀態及運行情況,令窗戶的開合更加智能化、精準化,實現窗戶在不同天氣環境下的自動開合控制,為人們提供更好的生活體驗,滿足人們對智能家居的需求,有望成為未來智能家居發展的重要方向之一。
智能玻璃百葉窗控制系統的整體結構及外觀設計如圖1、圖2所示。

圖1 整體結構設計
該系統通過傳感器采集信息,與本地數據進行比對,獲得匹配的氣象信號,根據預設的控制邏輯自動調整百葉窗的開合角度,以實現室內溫度、濕度及光線的控制及窗戶在不同天氣環境下的自動開合控制。當室內溫濕度值為30%~80%時,百葉窗的打開角度約為50°~60°;當溫濕度小于30%時,為了避免室內過于干燥,百葉窗的打開角度約為 20°~30°;當溫濕度大于80%時,為了避免室內過于潮濕,百葉窗的打開角度約為80°~90°。當風力大于4級或下雨時,為了避免風雨侵入室內,百葉窗直接關閉。
NodeMCU ESP8266模塊是一款基于ESP8266 WiFi芯片的開源硬件平臺,主要優勢體現在強大的WiFi連接能力、豐富的硬件接口、開源硬件平臺及豐富的軟件支持等方面,已成為實現智能化控制及自動化管理的核心元件,能夠為智能玻璃百葉窗窗控制系統提供強大的控制及聯網功能[2],通過連接數字舵機、顯示終端及多種傳感器,實時感知環境參數,根據預設的控制邏輯自動調整開合角度,通過WiFi連接到互聯網,實現設備之間的遠程控制及監控。支持多種編程語言及軟件庫,加快了編寫及調試代碼的速度[3],提高了系統的性能及可靠性。硬件設計如圖3所示。

圖3 硬件設計
采用多種傳感器來檢測環境信息,包括雨滴傳感器、風力傳感器、DHT11數字溫濕度傳感器及光敏亮度電阻傳感器。雨滴傳感器采用反應板與信號轉換模塊相互配合,通過檢測反應板電阻值來判斷是否有雨滴,當雨滴落入反應板時,反應板阻值會發生變化,信號轉換模塊將采集的數據轉化為數字信號,通過D0端口傳輸給控制器進行處理[4]。風力傳感器內含發電機及葉片,當風力作用于葉片時,會帶動發電機轉動,產生模擬電壓輸出。為了避免電壓過高導致控制器損壞,通過電壓檢測模塊將馬達輸出電壓降低到1/5,再經過A0端口傳輸給控制器進行處理[5]。DHT11數字溫濕度傳感器采用數字式溫濕度傳感技術,內含正電子濕度計與NTC溫度計,通過特殊的數字模塊采集技術及溫濕度傳感技術輸出數字信號,通過串行單線接口傳輸給控制器進行處理[6]。光敏亮度電阻傳感器采用感光元件,將光信號變換成靈敏電信號,包括紅外波長、紫外線等,通過探測器檢測光線或將光信號轉換成其他感測器的偵測元件,輸出數字信號,通過特殊的包裝形式連接到控制器進行處理。
利用數字式溫濕度傳感技術、感光元件技術等技術,采集環境信息,將其轉化為數字信號,通過特定接口傳輸給控制器進行處理,實時檢測環境信息,從而實現自動控制。
主要實現WiFi通信及物聯網連接,完成狀態監控、遠程控制及聯網,用戶可通過手機APP或網頁等查看并控制,實現監控家具、自動開合、調節百葉角度等功能,還能實現與其他智能家居設備的聯動(如與智能燈光、空調等)及更加智能化、便捷化的居家生活。在技術方面,NodeMCU ESP8266模塊采用WiFi通信技術及物聯網連接技術,能夠實現多種WiFi協議(如802.11 b/g/n等),支持多種加密方式(如WPA/WPA2-PSK等),可保證通信的安全性及穩定性。NodeMCU ESP8266模塊支持多種物聯網協議(如MQTT、HTTP等),可與其他智能家居設備及互聯網連接[7]。無線通信模塊的工作流程是連接WiFi及物聯網、接收控制命令、執行控制命令,連接到正確的WiFi網絡,獲取網絡連接及IP地址等信息[8],連接到物聯網平臺,獲取控制命令及傳輸數據,接收用戶的控制命令(如開合百葉、調節角度等),將其轉化為控制信號,將控制信號傳輸給控制器,控制器根據信號控制開合及角度等。
使用LM2596S DC-DC可調降壓模塊,體積小,功率低,適合安裝在玻璃百葉窗內部,布線方便。能夠將輸入電壓穩定降至所需的輸出電壓,具有過壓、過流保護功能,可保證穩定輸出電壓及電流,滿足控制系統的電源需求。采用封裝技術,具有較好的防水、防塵、防靜電等特性,能夠避免因電源故障等因素導致的火災、爆炸等安全問題。
DG-995MG型數字舵機具有超大的扭矩,可達到13 kg·cm,采用高精度數字控制技術來實現精確控制,響應速度快,能夠在很短的時間內完成轉動,快速控制開啟與關閉。該舵機采用高品質材料及制造工藝,具有較高的可靠性,壽命長,能夠保證控制系統的穩定性及耐用性。
多傳感器模塊軟件設計流程如下:通用初始化,包括對芯片進行復位、設定工作模式及時鐘頻率,對FIFO進行初始化操作。進行傳感器模塊的工作檢查,確認模塊可正常工作。主控制器向不同傳感器模塊發送讀取指令,各傳感器模塊讀取當前環境的傳感器數據并將數據返回給主控制器。主控制器對返回的數據進行處理,根據預設的閾值或范圍進行判斷,觸發相應的百葉窗開關功能。實現過程中需進行中斷處理,以確保系統能夠及時響應傳感器的監測信號。還需對傳感器返回的數據進行校驗,確保數據的準確性及可靠性,通過與主控制器的通信,將傳感器檢測到的環境情況反饋給用戶,以便用戶了解當前環境狀態及百葉窗的控制狀態。針對不同的傳感器模塊,按照以下流程進行軟件設計:
雨滴傳感器模塊:當檢測到雨滴時,模塊會向主控制器發送信號,主控制器接收到信號后觸發百葉窗關閉功能。當雨滴停止時,模塊會再次向主控制器發送信號,主控制器接收到信號后觸發百葉窗打開功能。為了防止誤觸發,可設置一個閾值,只有當檢測到的雨滴數量超過閾值時才會觸發關閉功能。雨滴傳感器模塊工作流程如圖4所示。

圖4 雨滴傳感器模塊工作流程
風力傳感器模塊:當檢測到風力超過預設閾值時,模塊會向主控制器發送信號,主控制器接收到信號后觸發百葉窗關閉功能。當風力減弱到預設閾值以下時,模塊會再次向主控制器發送信號,主控制器接收到信號后觸發百葉窗打開功能。為了防止誤觸發,可設置一個時間窗口,只有當風力超過預設閾值持續一定時間后才會觸發關閉功能。
DHT11數字溫濕度傳感器模塊:主控制器向傳感器發送讀取指令,傳感器讀取當前溫濕度值并將數據返回給主控制器。主控制器對返回的數據進行處理,將溫度與濕度值分別顯示在屏幕上,以便用戶了解當前的環境狀態。主控制器根據預設的溫濕度范圍進行判斷,若當前溫度或濕度在某個預設范圍內,則主控制器向百葉窗控制模塊發送指令,觸發數字舵機實現角度調整功能;當溫濕度進入下一個范圍,則會調整至其他角度。
光敏亮度電阻傳感器模塊:主控制器向傳感器發送讀取指令,傳感器讀取當前環境的光強值并將數據返回給主控制器。主控制器對返回的數據進行處理,將光強值顯示在屏幕上,以便用戶了解當前的環境狀態。主控制器根據預設的光強范圍進行判斷,若當前光強低于預設范圍,則主控制器會向百葉窗控制模塊發送指令,觸發關閉功能;若當前光強高于預設范圍,則主控制器會向百葉窗控制模塊發送指令,觸發打開功能。
軟件設計主要采用自定義的通信協議,包括幀頭、幀長、數據、校驗和及幀尾5部分,具體格式如下:幀頭:一個字節,固定為 0x0A,表示數據幀的開頭。幀長:一個字節,表示數據部分的長度,可占用長度為1 Byte。數據:3~256 字節,表示傳輸的有效數據。校驗和:一個字節,將有效數據進行累加并取余,用于檢測數據傳輸過程中的錯誤。幀尾:一個字節,固定為 0x2A,表示數據幀的結尾。
軟件設計采用基于TCP可靠協議的控制協議,通過WiFi連接,實現與手機端的通信。實現過程中需考慮網絡連接的穩定性與可靠性及錯誤處理與異常情況的處理。還需考慮網絡傳輸的安全性及加密等問題,以確保數據的安全性及保密性[9]。實現過程中,需將WiFi的工作模式設為STA模式,設置station模式中所需的ssid及password。連接WiFi路由,獲取客戶端的IP地址進行無線通信。基于TCP可靠協議實現數據傳輸及通信,利用手機端發送指令給無線通信模塊,無線通信模塊接收指令并調用解析器解析出具體的指令含義。根據解析結果進行一系列操作,并將執行結果返回給手機端。無線連接流程如圖5所示。

圖5 無線連接流程
包括傳感器反饋的氣象信息及當前的百葉窗開關說明。進行初始化并啟動 NodeMCU無線接收模式,將識別后的傳感器信號解析完成發送到顯示端,顯示端將氣象信息內容顯示在顯示屏上,人們看到氣象信息后可對百葉窗進行再調整,NodeMCU再將處理后的信息反饋到數字舵機進行二次調整。
軟件設計主要采用基于PWM控制信號的控制方式,通過WiFi連接,實現與手機端的通信。根據傳感器的反饋信號自動對百葉窗進行開合調整,使用PID控制算法提高控制精度及穩定性,根據傳感器反饋信號對數字舵機的控制進行優化。實現過程中,需使用PWM控制信號控制數字舵機的旋轉角度,通過調整PWM的占空比來實現舵機的精確控制。使用PID控制算法對數字舵機進行控制,以提高控制精度及穩定性。數字舵機不斷接收傳感器的反饋信號,自動調整百葉窗的開合角度,以滿足用戶需求。
智能玻璃百葉窗控制系統是一款基于數字舵機及傳感器技術的智能家居控制系統。使用 PWM控制信號控制數字舵機的旋轉角度,根據傳感器反饋信號自動對百葉窗進行開合調整,使用PID控制算法提高控制精度及穩定性,通過WiFi連接,實現與手機端的通信,使用戶可以隨時隨地遠程控制百葉窗的開合狀態。該設計提升了百葉窗的便利性,具有較高的實用價值及市場潛力,為智能家居的發展提供了新思路及技術支持,具有廣闊的應用前景。