孫宇舸,葉 檸,匡 涌
(東北大學 信息科學與工程學院,沈陽 110819)
綠色、環保、節能是當前社會的重要理念,智能家居為家庭設備提供的智能控制方案,在為用戶提供安全快捷的家居服務,滿足人們對安全、舒適、便利的生活需求的同時,也更為高效、節能與環保。在社會城鎮化、數據化、信息化等外界環境的驅使下,智能家居將會取代傳統的家居生活,成為一種更具有便利性、藝術性、舒適性的環保節能的家庭生活方式。
目前國外流行的智能家居品牌主要為亞馬遜Alexa、蘋果HomeKit、三星SmartThings、Control4等。
隨著國內智能家居的快速發展,國內出現了許多成熟的智能家居生態系統,如海爾U+,長虹,小米智家等[1]。
本文基于現代生活對智能家居的需求,采用低成本的Arduino Uno開發板作為主控制器,選用多種傳感器實現家居環境信息的采集,通過顯示器、舵機、繼電器等作為執行單元,實現信息顯示及門禁、窗簾和家電等設備的控制。借助ESP8266 WⅠFⅠ模塊與巴法云物聯網平臺實現數據交互,通過手機APP應用客戶端實現了智能家居的遠程控制。經過實際測試,系統功能完善,運行良好。
本文采用Arduino Uno作為開發平臺,綜合運用多種傳感器技術和物聯網平臺,采集的光照、溫度、濕度、煙霧及人體紅外等諸多家居環境信息,控制舵機、繼電器、LED燈等執行模塊,實現了智能門禁、智能燈光、智能窗簾、環境溫濕度監測與顯示、煙霧監測與報警以及家電定時啟動等實用功能。通過當WⅠFⅠ模塊連接互聯網,與巴法云物聯網云服務器進行數據交互,同時開發手機APP應用客戶端,實現對家居環境信息遠程監測以及家居設備的遠程控制。系統的總體設計方案如圖1所示。

圖1 智能家居總體設計方案
基于物聯網的智能家居控制系統的實現包括硬件系統的實現,軟件功能的實現及手機APP的開發。
本文使用的主控制器為Arduino Uno開發板,其核心處理器是ATmega328P芯片。ATmega328P是一款基于AVR增強RⅠSC架構的低功耗CMOS 8位微控制器,由此產生的架構能有效的運行代碼,相比傳統的CⅠSC微控制器,運算速度更快,完全可以滿足智能家居設計功能需求[2]。
本文的智能家居硬件系統包括環境信息檢測與顯示模塊、智能窗簾模塊、智能燈光模塊、家電控制模塊、煙霧檢測與報警模塊、智能門禁模塊,以及無線控制模塊。
環境信息檢測與顯示模塊通過DHT11溫濕度傳感器和OLED顯示屏實現。單總線通信的DHT11溫濕度傳感器可以實時采集家居環境的溫濕度信息,通過集成驅動芯片SSD1306的OLED顯示屏進行實時顯示。
智能窗簾模塊通過光敏電阻傳感器[3]和舵機實現。光敏電阻采集環境光照信息,通過設定光照閾值,控制舵機轉動方向,實現窗簾的自動開關。
智能燈光模塊利用HC-SR505人體紅外傳感器和光敏電阻傳感器采集人及光線強弱的信息,基于設定的閾值,實現燈光的智能控制。
家電控制模塊通過DS1302時鐘模塊、繼電器及OLED顯示屏實現。校準時鐘模塊初始時間,讓其進行準確計時,家電啟動時間與時長由手機APP客戶端進行設定,OLED顯示屏會顯示日期和時間信息。當時鐘模塊計時到設定時間范圍內時,控制繼電器啟動,實現家電定時啟動控制。
煙霧檢測與報警模塊采用MQ-2煙霧傳感器檢測家居中煙霧的含量,當其含量達到警戒線時,警告信息會借助物聯網平臺發送給用戶[4]。
智能門禁模塊通過使用MF RC522射頻識別模塊和180°舵機實現。射頻識別模塊讀取ⅠC的密鑰信息,判斷ⅠC卡是否為正確的門禁卡,如果是正確的門禁卡則控制伺服電機將門打開,否則伺服電機無響應。
無線控制模塊基于ESP8266 WⅠFⅠ模塊和物聯網平臺[5],利用手機端APP手機發送功能模塊的控制指令至物聯網平臺,WⅠFⅠ模塊通過物聯網平臺協議接收控制指令,通過串行數據端口傳送給Arduino開發板,根據控制指令的邏輯判斷結果,控制相應的功能模塊執行對應的操作。
各個功能模塊傳感器與Arduino Uno開發板的引腳連接見表1。

表1 傳感器控制引腳連接
基于上述電路設計以及引腳關系,搭建的智能家居系統的實際硬件電路如圖2所示。

圖2 智能家居系統硬件電路搭建
智能家居軟件控制系統分為遠程控制和自動控制2種模式,通過手機APP客戶端進行切換[6-7]。
自動控制模式:Arduino Uno開發板借助多種傳感器獲取周圍環境信息,通過對人體紅外信息、光照信息、時間信息、門禁卡信息的邏輯判斷,控制舵機、繼電器燈執行元件執行相應操作,實現智能家居的自動控制,其中時間信息和溫濕度信息會通過OLED屏顯示。
遠程控制模式:通過對ESP8266 WⅠFⅠ模塊的工作模式進行設置,令其接入家庭網絡,借助TCP協議接入巴法云物聯網平臺服務器。ESP8266 WⅠFⅠ模塊與Arduino Uno開發板通過串行數據端口進行連接,借助溫濕度傳感器獲取的溫濕度信息通過ESP8266 WⅠFⅠ模塊發送到物聯網云平臺,手機APP客戶端使用平臺協議連接到巴法云物聯網平臺服務器,獲取服務器的溫濕度信息。手機APP客戶端推送控制指令至物聯網平臺,ESP8266 WⅠFⅠ模塊通過HTTP協議獲取物聯網云平臺的控制指令并傳輸給Arduino Uno開發板,開發板根據設置的控制指令實現燈光、家電、門禁、窗簾的遠程控制。
智能家居軟件控制系統程序流程如圖3所示。

圖3 智能家居軟件控制系統程序流程圖
本文采用MⅠT AppⅠnventor完成Android手機APP客戶端的開發。
MⅠT AppⅠnventor是一個直觀的、可視化的、完全在線開發的Android編程環境。MⅠT AppⅠnventor有2個設計界面,分別為組件設計和邏輯設計。組件設計實現手機應用界面的設計,通過官方提供的功能組件,根據手機應用程序的預實現的功能去設計并美化應用操作界面。邏輯設計是對操作界面的功能組件的進行程序設計,以實現應用軟件的預期功能。
基于本文的智能家居系統的實際功能,設計的手機APP客戶端操作界面如圖4所示。

圖4 手機APP應用軟件操作界面
本文設計的基于物聯網的智能家居控制系統擁有智能燈光、智能窗簾、家電定時啟動、智能門禁、煙霧報警及環境監測與顯示6項功能,能較為全面地兼顧家居生活的需求。經過實際測試,全部功能都運行良好。該智能家居系統成本低,使用方便,操作簡單,物聯網平臺的信息交互穩定、安全,該系統可以充分滿足人們對智能家居的生活要求,提高生活的品質,使家居生活更加的方便與智能。