趙丹梅 呂麗君
(長治學院 山西省長治市 046011)
近幾年,隨著生活水平的不斷提高,種類繁多的智能家居逐漸進入人們的視野[1‐3]。數據顯示,2020年中國家庭智能家居配置率較上年增加15.1%,達到84.2%。智能家居正成為越來越多家庭的“標配”。從互聯網科技企業小米、華為、蘋果到傳統家電企業美的、海爾智家甚至房地產企業恒大,智能家居已經成為各家企業的搶占市場份額的必備工具。海爾推出了“三翼鳥”、華為致力打造“華為全屋智能”,其宗旨都是從生活的方方面面打造智慧家庭生活方式。智能家居的引入使人們可以通過遠程終端對電器進行控制,增加了設備使用的靈活性及方便性。本文主要探討智能空調遠程控制系統的設計與研究,眾所周知,使用遙控器開空調需要在回到家之后,而家中夏天熱、冬天冷,造成用戶的體驗不好。通過本設計實現使用移動客戶端對家用空調的遠程控制,使用戶在未回家,離家不遠的地方提前打開空調,從而創造更好的家居環境。同時,由于家中遙控器越來越多,難免存在丟失、弄混等現象,而使用移動客戶端控制則可以避免這些問題。
本系統由ESP8266 開發板、溫濕度傳感器、手機端APP 以及模擬空調工作的繼電器組成。通過溫濕度傳感器探測外界溫濕度,實時顯示在手機APP 界面。使用者可以在手機APP 中設置自已需要的溫度,系統根據用戶所設溫度與實時溫度的差值觸發空調的升溫、降溫(用繼電器模擬),最終使環境溫度達到設定值。系統整體構架如圖1所示。

圖1:系統整體構架圖
ESP8266Wi‐Fi 芯片是一款由樂鑫公司生產的面向物聯網的高性能、高集成度的Wi‐Fi 芯片[4]。芯片內置超低功耗 Tensilica 32 位RISC 處理器,CPU 時鐘速度最高可達160MHz,支持實時操作系統 (RTOS) 和Wi‐Fi 協議棧,可將高達80%的處理能力留給應用編程和開發。ESP8266 芯片共有17 個GPIO 管腳,通過配置適當的寄存器可以給它們分配不同的功能[5‐6]。通過本模塊,在同一Wi‐Fi網絡中的移動客戶端與ESP8266 之間可以相互通信,將室內環境信息傳輸給移動客戶端,使用戶可以方便的檢測室內環境及調整空調參數。同時由于本系統功能相對簡單,利用ESP8266 芯片本身的CPU 作為系統控制核心,通過其部分引腳連接周圍外設,實現對空調系統的模擬。
溫濕度傳感器選用DHT11,它是一款有已校準數字信號輸出的溫濕度傳感器,如圖2所示。其濕度精度為±5%RH,溫度精度為±2℃,量程濕度為20~90%RH,溫度為0~50℃[7]。系統通過溫濕度傳感器收集室內的溫濕度信息,傳輸給單片機。

圖2:DHT11 實物圖
圖3 為DHT11 芯片的引腳圖,采用單個引腳完成數據傳輸,它傳送的數據為二進制格式,長度為5 個字節即40bit,其中前4個字節則分別表示濕度整數部分、濕度小數部分、溫度整數部分和溫度小數部分,低8 位為前4 個字節相加的校驗和。可根據前4 個字節的數據計算出濕度和溫度的值。

圖3:DHT11 引腳圖
本系統使用三個繼電器模擬空調的開關、制冷和制熱功能。如圖4所示,每個繼電器模塊有紅色和綠色兩個LED 燈,紅色LED燈亮說明繼電器通電,綠色LED 燈亮表示繼電器打開。通過繼電器模塊可以進一步外接風扇、加熱片等外設來模擬空調工作。

圖4:繼電器模塊
由于空調房普遍存在空氣干燥的情況,所以可以在外設中加入加濕器設備,當室內過于干燥時,打開加濕器,濕度達到一定值關閉加濕器,從而創造更舒適的家居環境。
系統總體流程圖如圖5所示。客戶端APP 的設計模擬了用戶對空調遙控器的操作,即用戶只需自己設置所需溫度即可。按下空調開關鍵打開空調后,APP 界面實時顯示當前環境溫濕度,用戶可以設置自己需要的溫度,系統自動根據用戶設置的溫度開啟升降溫功能(用繼電器模擬),同時根據環境濕度決定是否打開加濕器。當空調開關按鈕再次按下(即空調關閉),則系統關閉(所有繼電器關閉)。

圖5:系統總體流程圖
客戶端APP 使用了物聯網平臺Blinker。Blinker 提供APP 端、設備端、服務器端支持,使用云服務器進行數據傳輸存儲[8]。其在Android 及IOS 操作系統上都擁有獨立的應用程序,方便下載使用。同時,其APP 界面簡單明了,容易上手。基于ArduinoIDE 軟件對系統進行編程。Arduino IDE 基于Java 編寫,官方版擁有便捷的開源編程環境,使用簡單、易上手[9]。具體操作步驟如下:
(1)在電腦端安裝Arduino IDE。安裝好后,安裝ESP8266 支持包、Blinker 庫以及DTH 傳感器庫等系統用到的庫;
(2)在手機端下載物聯網平臺“點燈Blinker”軟件。使用Blinker 新建新的獨立設備,通過Wi‐Fi 接入獲取設備秘鑰;
(3)在Blinker 中設計項目所需模塊,本項目中設計了顯示溫濕度的模塊、按鍵模塊、以及顯示用戶設置的溫度的模塊。客戶端使用界面如圖6所示;

圖6:APP 界面
(4)在Arduino 軟件中編寫程序。只需將所連接的無線網絡的名稱、密碼及在Blinker 中獲取的秘鑰設置到程序當中,并定義與客戶端APP 中相同的數據鍵名即可實現手機端與ESP8266 芯片及其外圍硬件的無線通信;
(5)將硬件設備連接好,加載程序,軟硬件調試。
部分程序如下:


系統實物運行圖如圖7所示,當APP 中按下開關按鈕,模擬空調開關的繼電器打開,當用戶設置的溫度高于環境溫度,模擬加熱的繼電器打開,如圖7(a);當用戶設置的溫度低于當前環境溫度,模擬空調降溫的繼電器打開,如圖7(b)。當關閉模擬空調開關的繼電器,所有繼電器關閉。

圖7:系統運行圖
本文利用ESP8266 開發板,使用物聯網平臺Blinker 設計了一款簡單的空調的移動客戶端控制系統。通過該系統可以實現對空調的遠程控制,打開客戶端軟件后,實時顯示當前環境溫濕度,用戶在APP 界面通過按鍵設置所需溫度,系統根據用戶的設置,自動調節環境溫度。用戶可以在快到家時,提前打開空調,從而創造一個溫馨舒適,冬暖夏涼的環境。本系統成本低,操作簡單,具有極大的應用前景。
通信技術的不斷發展加快了智能家居產品的更新換代速度。原有單一產品會逐步淘汰,隨著人們對生活質量要求不斷提高,智能家居、物聯網已成為大勢所趨。由于本系統功能相對簡單,系統利用ESP8266 芯片本身自帶的處理器完成了系統功能,今后,將通過引入其他處理器配合ESP8266 芯片實現更強大的功能設計。同時本系統只能用于同一Wi‐Fi 所覆蓋的距離,更加遠程的控制還未實現,今后將著重研究實現隨時隨地對家用電器遠程控制。