姜闊勝,王敏敏,盧振連,章 力
(1.安徽理工大學 機械工程學院,安徽 淮南 232001;2.陜汽淮南專用汽車有限公司博士后工作站,安徽 淮南 232001)
建設低碳校園,空調的遠程集控成為必須[1]。當前,教室和實驗室對于空調的控制大多數仍然是通過普通的遙控器,僅僅能夠實現近距離控制,智能化程度較低,尤其是不能杜絕因空教室空調運行或者空調溫度設置過高而造成用電浪費的現象[2]。因此如何實現對學校教室、實驗室多分布空調的集成遠程控制成為當前亟待解決的問題。
分析同類的校園空調控制系統[3],可看出空調遠程集控系統的主要問題是通信問題[4],采用物聯網卡的傳輸成本高[5]、采用大功率ZigBee節點[6]等通信方式(大功率ZigBee節點最高可以實現3 km長距離通信)名為節能減排,實則增加成本,并且測控系統自身功耗并不低[7]。因此,本文以建設“低碳”校園為目標,依托校園實驗室、教室空閑網口,利用現有的校園局域網實現數據傳輸,不再鋪設專用通信通道,構建了校園空調測控系統,有效解決了“信息孤島”的問題。系統使用者可以隨時隨地在校園局域網下通過瀏覽器訪問網頁來對校園內的空調進行相關控制。本文方法也為其他外設的集控提供了借鑒的方法和思路。
本文的校園空調測控系統的總體設計框架如圖1所示,主要由自主研發的物聯網下位機和局域網平臺上位機組成。

圖1 系統總體框架
物聯網模塊下位機以單個教室或實驗室為單位進行部署,分為嵌入式模塊和中轉站模塊。嵌入式模塊安裝在空調內部,與空調面板相連接,以獲得或設置當前空調溫度,由串口轉2.4G無線模塊和STM32主控組成。中轉站模塊由以太網轉串口模塊、串口轉2.4G無線模塊和STM32主控三個部分組成,一個中轉站可以匹配多個嵌入式系統模塊,以解決“一室多空調”的監測問題。
局域網平臺上位機由EMQ消息服務器、Node.js后端服務器和Vue前端服務器組成。管理員在局域網下用任意設備瀏覽器訪問網頁,登錄后,在網頁界面可以查看到空調的開關狀態和當前的室內溫度。管理員可以通過點擊網頁上的開關按鈕去關閉或開啟指定教室的指定空調,也可以在每日的指定時間關閉所有教室的空調,從而解決校園空調在使用上造成的能源浪費問題。
當管理員通過網頁發送關閉指定空調的命令時,數據通過搭建的局域網平臺以MQTT協議的形式發送給以太網轉串口模塊(事先讓以太網轉串口模塊與以太網端口相連),繼而通過串口傳送到中轉站模塊的STM32主控當中,再通過串口轉2.4G無線模塊和空調內部嵌入式模塊的串口轉2.4G無線模塊相連接,將數據再次傳到嵌入式模塊的STM32主控當中,MCU控制空調主控面板關閉空調。
下位機:每一個教室或實驗室內的子單元。該子單元由一個或多個空調嵌入式模塊和一個中轉站模塊組成。
空調嵌入式模塊硬件由STM32主控模塊、2.4G無線模塊和空調面板組成;中轉站模塊由太網轉串口模塊、2.4G無線模塊和STM32主控模塊組成。其中太網轉串口模塊負責局域網平臺和底層物聯網模塊的數據交互,2.4G無線模塊負責中轉站模塊和嵌入式模塊之間的數據交互,STM32模塊負責數據的分析及處理。
嵌入式模塊STM32的USART1與2.4G無線模塊相連接,PE8通過繼電器與空調面板的按鍵相連接,PA5與空調溫度傳感器的信號端相連接,PE9通過RC濾波電路和開關狀態指示燈相連接。
當嵌入式模塊中的串口轉2.4G無線模塊接收到中轉站模塊中的串口轉2.4G無線模塊發送來的空調開關命令時,MCU通過USART1接收到相關數據之后對數據進行解析處理,判斷是對空調進行開啟還是關閉,再操作相關I/O口開啟或者關閉空調。
MCU每隔1 min通過相關I/O口對空調狀態和室內溫度數據進行采集,并將采集到的數據轉發給USART1,串口轉2.4G無線模塊再將數據通過無線傳輸的方式發送給相對應從中轉站模塊的串口轉2.4G無線模塊。
嵌入式模塊圖如圖2所示。

圖2 嵌入式系統模塊圖
中轉站模塊STM32的USART1與以太網轉串口模塊相連,采用MQTT協議進行通信,USART3與串口轉2.4G無線模塊相連接。
當中轉站模塊的以太網轉串口模塊收到局域網平臺傳輸過來的對空調的操作命令時,MCU通過USART1接收到相關數據之后對數據進行解析,判斷是對哪臺空調進行開關操作,并將關閉或開啟空調的命令發送給USART3,串口轉2.4G無線模塊再將數據通過無線傳輸的方式發送給相對應嵌入式模塊的串口轉2.4G無線模塊。
當中轉站模塊的串口轉2.4G無線模塊接收到嵌入式模塊的串口轉2.4G無線模塊發送來的空調相關數據時,MCU對數據進行解析處理,再將處理后的數據發送給USART3,與USART3相連的以太網轉串口模塊再將數據上傳到局域網平臺。
中轉站模塊如圖3所示。

圖3 中轉站模塊圖
局域網平臺上位機主要由MQTT Broker、Node.js后端服務器和Vue前端服務器構成。其中:MQTT Broker采用的是EMQ消息服務器,用于實現基于MQTT協議的訂閱與發布服務;Node.js后端服務器用于訂閱空調狀態相關信息;Vue前端服務器用于展示相關用戶界面。系統工作時,主模塊向EMQ消息服務器訂閱主題為“air_status”的服務。
EMQ是一個百萬級分布式開源物聯網MQTT消息服務器,其基于高并發的Erlang/OTP語言平臺而設計,支持百萬級連接和分布式集群,其完整支持MQTT V3.1/V3.1.1協議規范,廣泛應用于物聯網、移動推送、移動即時消息、智能硬件、車聯網、智能家居等應用場景中[8]。
本系統采用Emqx-Windows-v4.1.2版本的EMQ服務器,通過命令行啟動服務器后,局域網內可以通過瀏覽器訪問圖形化管理界面,如圖4所示。該圖形化管理界面實現基本的連接、會話、主題、訂閱等模塊的監控功能。中轉站模塊接入以太網口后,將自動作為客戶端連接到EMQ消息服務器上,并自動訂閱相應主題,通過控制臺可以對每個教室的中轉站模塊進行管理。

圖4 控制臺圖片
Web后端服務器采用的編程語言是Node.js。Node.js是基于Chrome的V8引擎執行的事件驅動I/O服務端的JavaScript環境,相比Tomcat等成熟的服務器容器,Node.js設計出的服務器容器更加輕量、快捷和穩定[9]。
Vue是一個構建用戶界面的框架,該框架是一個輕量級的MVVM(Model-View-View Model),其原理就是數據的雙向綁定,數據驅動加組件化的前端開發。Vue.js使用基于HTML的模板語法,通過簡單的API就能實現響應式的數據綁定和組合的視圖組件[10]。
管理員在局域網下通過瀏覽器訪問該平臺,可以查看當前所有在線的空調的狀態以及校園教室或實驗室的溫度,并且可以對每臺空調進行開關控制。
系統主要功能分為檢測空調和環境溫度狀態及控制空調開關狀態。測試時,對學校多個教室的6臺空調進行控制。將局域網平臺服務器布置在學校局域網下的一臺主機上,在多個教室部署硬件設備。在每個教室的以太網端口接入一個中轉站模塊,再對教室的兩臺空調進行改造,接上嵌入式模塊,分別完成系統的兩大功能測試。
測試開始時,空調處于關閉狀態,登錄EMQ消息服務器網頁后臺,查看3個教室的主模塊是否在線,是否成功訂閱相關主題。EMQ控制臺測試界面如圖5所示。

圖5 控制臺測試界面
測試系統監測功能時候,登錄Vue前端網頁界面,查看網頁上當前空調狀態與教室實際溫度是否和教室實際情況一致。接著打開空調、調節溫度,觀察網頁頁面數據是否隨實際情況發生改變。測試系統控制功能時,在Vue前端網頁界面對空調的開關進行控制,在網頁打開或關閉空調,觀察空調狀態是否隨之發生變化。Vue網頁前端測試界面如圖6所示。

圖6 網頁前端測試界面
本系統經過多次測試改進,已經可以實現局域網下監控多個教室多臺空調設備的功能,且系統時效性高,穩定性強,可以滿足對校園內空調的同一控制,為校園空調低碳節能減排提供了一套解決方案。本文方法也為其他外設的集控提供了借鑒的方法和思路。