賈曉寶,畢玉潔,姚衛豐
(深圳職業技術學院 機電工程學院,廣東 深圳 518055)
工業、交通、建筑被認為是能源消費的三大領域,為在2030年之前實現碳達峰,2060年實現碳中和的這一目標,江億院士團隊“中國建筑部門如何實現碳中和路徑”一文中指出,減少建筑運行過程中直接或間接碳排放、營造適宜的建筑室內環境起著關鍵性作用[1].室內環境的營造方式一般分為“全空間、全時間”模式與“部分時間、部分空間”模式,不同室內環境營造方式會導致能源消耗差異巨大.據統計,我國建筑運行的人均能耗目前僅為美國的1/5~1/4,其主要原因在于建筑的使用習慣采用“部分時間、部分空間”模式.空調、照明等電氣設備是室內場合主要的耗能設備,為了提高人們的節能意識與家用電器使用習慣,James Fletcher等基于樹莓派與Flyport Wi-Fi模組開發了一套基于個域網范疇的低成本家居能源監測記錄系統[2].物聯網的發展為空調設備的節能控制提供了可能.于丹等基于物聯網對某酒店的分體空調通過控制壓縮機運行時間、抑制過低空調設定溫度實現了18.93%的節能率[3].徐振坤等依托空調物聯網平臺對長江流域住宅用空調器在制冷季與制熱季進行了詳盡的分析,并指出空調器的使用習慣對能耗影響巨大[4].基于上述研究成果,鑒于我國部分公共場合室內耗能設備管理松散,近乎于全時間、全空間運行這一現象,本文設計了一套低成本、低功耗的物聯網室內環境監控系統,記錄、存儲與分析室內環境參數及設備耗能;用戶也可通過系統網頁或手機APP查詢相關數據并遠程開關電氣設備.文章第一部分介紹了系統的工作原理、組成架構及電路設計;第二部分介紹了節點的軟件工作流程、參數初始化與MQTT數據傳輸報文設計等;文章的最后部分介紹了系統的實際應用情況.
對于物聯網的體系架構,研究者們從不同角度提出了不同的分層體系思想.最基本的三層(感知層、網絡層與應用層)結構之分;基于中間件思想的五層(物理層、骨干網絡層、耦合層、中間件層與應用層)結構之分;基于面向服務體系結構的五層(設備層、設備抽象層、服務管理層、應用層與業務層)結構之分[5].由于本系統規模小、成本低、功能簡單,系統按照三層結構思想設計,具體包括:物聯網節點、網絡接入及物聯網應用平臺.每個物聯網節點主要由兩部分構成,傳感器(繼電器)與Wi-Fi模組,傳感器負責對室內環境、室內空間占用及設備運行電流的感知;Wi-Fi模組負責將傳感器感知的數字量或模擬量信息接入網絡.網路接入設備可以是小型的家居路由器或公共區域提供的網絡熱點設備,負責將節點傳輸的信息接入網絡,節點設備最終經廣域網接入物聯網平臺.物聯網平臺負責數據的存儲、處理與展示;物聯網平臺也為web或移動端用戶提供用戶接口,接收用戶指令,通過網絡把指令下發給物聯網節點實現電氣設備的遠程控制.系統設計原理圖如圖1所示.

圖1 基于MQTT的低功耗IoT室內環控系統原理圖
無線微控制器模塊是物聯網節點最核心的部件.Akram Syed Ali等基于開源硬件平臺Arduino設計開發低成本室內環境數據采集節點,數據存儲在板載SD卡內[6].采用Arduino作為節點控制器還需要另外配置Wi-Fi模組才可接入網絡,增加開發成本.郭榮佐等基于ZigBee技術實現了物聯網感知鉆井平臺數據采集系統[7].由于建筑結構一般較復雜,ZigBee通信在室內數據傳輸容易不穩定.文章采用面向物聯網應用的低成本、高性價比、高度集成的樂鑫科技 Wi-Fi MCU模塊ESP8266.該模塊支持 Wi-Fi功能,支持實時操作系統(RTOS),內置超低功耗 Tensilica L106 32位RISC處理器[8].ESP8266工作電壓3.3VDC,所以每個物聯網節點主要由三部分組成:3.3V電源供應器、Wi-Fi模組與傳感器.所有節點電源均采用5~12VDC電池供電,經電壓轉換電路LD1117輸出3.3V電壓[9],設計100nf(104)電容和10uf電容用于吸收電源雜波提高電壓質量.ESP8266模塊提供通用輸入輸出接口16個,模擬輸入接口1個.市場上的ESP8266模塊有不同的包裝形式,從ESP01、ESP07到ESP12等多種型號,其主要區別在于尺寸、I/O腳位數量及天線類型.溫濕度節點傳感器DHT22包含一個電容式感濕元件、一個高精度測溫元件和一個高性能 8位單片機[10].溫濕度傳感器(SIG)與ESP01(GPIO2)通過標準的單總線協議數據傳輸,電路設計參見圖2所示.室內空間占用節點傳感器 HC-SR501采用德國原裝進口 LHI778探頭設計[11],根據人是否在其感應范圍輸出高低電平(高 3.3V/低 0V),無需電平轉換可直接與ESP01通用輸入輸出(GPIO2)接口連接,電路設計參見圖3所示.ESP8266通用輸入輸出接口最大輸出電流12mA,通過直接控制外接繼電器,間接控制外部電氣設備,電路設計參見圖4所示.與上述節點不同的是,電流檢測節點傳感器采用SCT-013-020(內置采樣電阻),輸出0~1VDC的模擬電壓[12],故該節點模塊采用ESP12微控制器,電流傳感器接至ESP12的模擬端口ADC端,電路設計參見圖5所示.

圖2 溫濕度IoT節點電路接線圖

圖3 人體感應傳感器IoT節點電路接線圖

圖4 電氣設備控制IoT節點電路接線圖

圖5 電流監測IoT節點電路接線圖
物聯網應用層協議眾多,廣泛應用的協議有:基于 web傳輸的受限制應用協議(CoAP)、以XML為基礎的可擴展消息與存在協議(XMPP)、面向消息中間件提供的高級消息隊列協議(AMQP)、面向實時系統數據分發的數據分布協議(DDS)及國際標準化組織下的消息隊列遙測傳輸協議(MQTT).其中,MQTT協議因其輕巧、開放和簡單成為當今世界上最受歡迎的物聯網協議.MQTT協議工作在TCP/IP協議族上,是為硬件性能低下的遠程設備以及網絡狀況糟糕的情況下而設計的發布/訂閱型消息協議,它已廣泛應用于車聯網、智能家居、即時聊天應用和工業互聯網等領域[13].物聯網節點通常體積微小,電源攜帶的能量十分有限,設置休眠模式可最大限度地降低節點能量消耗,提高網絡生命周期[14].Olubiyi O.Akintade等基于有限狀態機模型分析并驗證了ESP8266在事件驅動與時間驅動模式下的不同耗能.ESP8266模塊支持三種節能休眠模式:在深度睡眠狀態下,Wi-Fi調制解調、系統時鐘和CPU全部停止工作,僅實時時鐘模塊RTC運行用于定期喚醒,模塊保持電流僅為 10μA;淺睡眠模式下,Wi-Fi調制解調、系統時鐘停止工作,CPU掛起等待外部輸入輸出接口事件的喚醒,模塊工作電流0.9mA;射頻休眠模式下,僅Wi-Fi調制解調停止工作,模塊工作電流為 15mA[15].根據室內環境變化的滯后性,溫濕度節點與電流監測節點根據時間周期性地傳輸數據給云平臺,故該節點在數據不傳輸時可以工作在深度睡眠模式,節點軟件工作流程圖參見圖6所示.以溫濕度IoT節點為例,其深度睡眠模式總功耗(MCU功耗+DHT22功耗)為0.383mw,以一節南孚6LR61規格為 9v 550mAh電池供電續航時間理論估算可達1.47年;人體感應節點和電氣設備控制節點由于其狀態觸發的隨機性,ESP8266須工作在淺睡眠模式下,隨時監測端口數據狀態變化,節點軟件工作流程圖參見圖7所示,以同樣的計算方法,電池理論續航供電時間可達70天.

圖6 溫濕度(電流)節點軟件流程圖

圖7 PIR(繼電器)節點軟件流程圖
初始化程序主要完成系統常量與變量的定義,庫函數加載與端口的初始化定義等.網絡連接通過ESP8266WiFi庫實現,該庫提供了模塊以終端、熱點或二者兼有的何種模式接入網絡,配置網絡的名稱及密碼,連接和斷開網絡的操作等功能[16].室內溫濕度值實時采集通過DHT.h庫函數實現[17].電流值的實時獲取通過EmonLib.h庫函數實現[18].節點與云服務器連接首先要向服務端發送 MQTT CONNECT報文,當服務端收到了客戶端的連接請求后,會向客戶端發送 returnCode(連接返回碼),0表示連接成功.PubSubClient.h庫提供了設置MQTT服務器與端口號、連接MQTT服務器等操作函數.ESP8266內置deepSleep()和lightsleep()函數讓模塊在深度睡眠或淺睡眠模式下運行.深度睡眠狀態下,休眠時間結束,系統自動喚醒;淺睡眠狀態下,當外部人體感應PIR傳感器狀態變化導致模塊GPIO引腳電平變化,模塊自動喚醒.節點向服務器端發布消息通過 PubSubClient.h庫的publish()函數實現[19],該函數會向服務端發送PUBLISH報文,報文內容包括:主題名topic、服務質量等級Qos、標識符與有效載荷等信息,有效載荷是節點所要發送的實際內容,如溫濕度、電流、人體感應傳感器狀態與繼電器狀態等.
按照上述思想,以室內空間占用監測節點(圖8)和溫濕度監測節點(圖9)為例,模塊化物聯網節點的原型板正面布置ESP01無線微控制器和傳感器(人體感應傳感器、溫濕度傳感器、繼電器模塊)等,原型板背面主要配置大容量電池及穩壓電路作為節點電源.

圖8 空間占用IoT節點正面

圖9 溫濕度IoT節點正面
為了測試節點的可靠性及采集參數的準確性,所有節點安放在深圳職業技術學院建筑智能化工程網絡通信實訓室.該實訓室有照明回路三路,格力立式空調KFR-72LW三臺,實訓電腦四十臺.節點實現室內人員狀態、溫濕度參數檢測及其中一臺立式空調回路的電流采集.節點通過室內提供的網絡熱點接入到外網的阿里云平臺,通過阿里云物聯網控制臺三元組信息完成設備接入,應用阿里云 IoT Studio完成Web可視化開發、移動可視化開發與物聯網數據分析[20].經近一個月的不間斷測試,系統運行穩定可靠.由于實訓室每周課程安排類似,選取有代表性的一周數據示例如圖10所示.

圖10 4月15日至4月21日一周數據趨勢圖
為了有效分析關鍵時段關鍵數據,圖10只選擇每天上午八點至下午六點時間段所采集的數據.圖中四條趨勢線分別代表室內溫度、室外溫度(來自中國天氣網)、變頻空調運行實時電流值及室內有無人狀態.縱觀一周數據樣本,空調不能及時關閉造成能源浪費較為嚴重.以4月19日為例(圖左二),上午8:30前空調開始高負荷工作;12:30分至13:30分期間教室無人,空調依然處于工作狀態.類似情況發生在20日12:30分(圖右二),21日12:35分與15:55分(圖左三).從上圖還可發現,當室外溫度低于室內溫度時,存在空調開啟運行情況,此時開窗自然降溫應是一個很好的節能途徑.以4月15日為例(圖左一),14點45分有人進入教室,此時室外溫度低于25℃,完全可采取自然降溫;而習慣性的打開空調,在離開房間時又未能及時關閉造成能源的不必要浪費.自然降溫的控制措施同樣適用于19日(圖左二)的天氣狀況.
文章設計的基于MQTT協議的低功耗IoT節點經過實踐檢驗,能夠實時對室內環境溫濕度、室內空間占用狀態、設備耗電量的實時監測.通過IoT Studio的業務邏輯開發工具,室內空間占用狀態節點與設備控制節點聯動,當發現室內無人時,通過遠程監控及時停止空調器的運行.以圖10右二4月20日為例,空調器總體運行4.67h,無人空載運行0.75h,此期間空調電壓電流保持恒定,使用該系統節能率(空調空載耗電量/當日累計總耗電量×100%)可達16%;根據空調器實際運行電流、運行時間及空載時間,同樣的計算方法可得4月19日節能率為14.4%.需要說明的是節點設計為基礎階段,通過不同的休眠模式降低節點功耗,后期將搭建電路模型,通過數據實測驗證和預測節點電源生命周期;利用云平臺從室內空間人員活動行為識別、神經網絡控制算法等方面提高系統的節能效果.