但堂詠 張國慶 張紅亮
摘要:為解決教室無人時電器仍在使用,學(xué)校用電量大的問題,從用電時間方面進(jìn)行研究,設(shè)計出一個系統(tǒng)。該系統(tǒng)會在預(yù)選設(shè)定的時間或紅外人體感應(yīng)識別不到人體信號時返回對應(yīng)信息至服務(wù)器,使用MQTT協(xié)議發(fā)送控制指令至通信單元,并在教室內(nèi)使用ZigBee協(xié)議進(jìn)行指令轉(zhuǎn)發(fā)驅(qū)動控制單元,達(dá)到控制電器的目的。實踐表明,該系統(tǒng)可以根據(jù)課表上下課時間自動控制電器開關(guān)或人為控制開關(guān)。
關(guān)鍵詞:自動化;人工智能;軟件開發(fā);分布式
中圖分類號:TP274 文獻(xiàn)標(biāo)志碼:A
文章編號:1009—9492(2021)03—0120—03
0引言
為了解決學(xué)校教室無人時電器仍在使用,導(dǎo)致學(xué)校用電量大及人力維護(hù)成本高的問題,本文從用電時間人手,開發(fā)一個智能系統(tǒng)以降低用電時間。目前的智能教室系統(tǒng),有的只能人工操作,無法達(dá)到自動化控制電器;有的能自動化控制,但是缺少數(shù)據(jù)采集用來分析。本系統(tǒng)針對上述短板,采用了MQTT&ZigBee的物聯(lián)網(wǎng)M2M(Machine to Machine)模式,在達(dá)到自動化控制的同時,采集相關(guān)的數(shù)據(jù)進(jìn)行分析,并按照對應(yīng)的時間點或相關(guān)環(huán)境實現(xiàn)完全自動化,無需人員參與管理。該系統(tǒng)的使用不局限于高校的教學(xué)樓環(huán)境,類似于工廠、商場等高度集中的用電區(qū)域也可使用,從而達(dá)到自主管理,使更多的場合實現(xiàn)節(jié)能的理念。
1系統(tǒng)整體結(jié)構(gòu)
系統(tǒng)整體結(jié)構(gòu)設(shè)計主要有軟件端、硬件端以及服務(wù)器,通過以太網(wǎng)的方式搭建通信橋梁,構(gòu)成一整個完整系統(tǒng)。
系統(tǒng)是由運(yùn)行在Linux或Windows操作系統(tǒng)上的軟件端,通過讀取數(shù)據(jù)庫中的對應(yīng)課表排表,形成判斷是否啟用或關(guān)閉用電設(shè)備的數(shù)據(jù),并通過MQTT&Tomcat服務(wù)器與硬件端STM32控制板和CC2530通信板達(dá)成通信,將數(shù)據(jù)通過TCP/IP的網(wǎng)絡(luò)連接方式進(jìn)行接收發(fā),從而實現(xiàn)用控制板自動控制和監(jiān)控教室中的空調(diào)、多媒體、電燈等用電設(shè)備,避免在無課或無人預(yù)約使用的時候造成教室用電浪費(fèi),達(dá)到高效節(jié)能的目的。系統(tǒng)整體結(jié)構(gòu)如圖1所示。
系統(tǒng)的整體設(shè)計中考慮到模塊化因素,如紅外人體的檢測、智能門鎖感應(yīng)等可根據(jù)相關(guān)需求自主添加相應(yīng)模塊,軟件端也能適應(yīng)性地識別相關(guān)模塊的添加,對該模塊進(jìn)行匹配,實現(xiàn)指令接收發(fā)。
整套系統(tǒng)考慮到多級別調(diào)用,采用分布式設(shè)計,通過多級調(diào)用實現(xiàn)上層控制機(jī)對下層控制機(jī)的管理,并且所用軟件所搭建的框架也能夠多系統(tǒng)運(yùn)行,對微型計算機(jī)的要求較低且兼容性更高。該設(shè)計有著利于管理和多兼容的特點,是對多間、多層、多棟的教學(xué)樓統(tǒng)一管理的最佳設(shè)計方案。
為順應(yīng)現(xiàn)代智能移動設(shè)備的發(fā)展,該套系統(tǒng)還有對應(yīng)的小程序、App版本,通過系統(tǒng)移植的手段,讓教室的管理人員和預(yù)約人員都能用移動電話等移動設(shè)備做到遠(yuǎn)程控制、遠(yuǎn)程監(jiān)控或遠(yuǎn)程申請。直接點觸控制的方式使用戶更加便捷地使用該系統(tǒng),同時也符合現(xiàn)代科技發(fā)展的趨勢。
2硬件端結(jié)構(gòu)
硬件方面,使用搭載LAN8720芯片,帶有以太網(wǎng)口的STM32單片機(jī),運(yùn)用MQTT協(xié)議接收并解析服務(wù)器發(fā)送的指令,可以控制繼電器等模塊或者將指令從串口發(fā)送出去。CC2530通信板使用串口連接STM32單片機(jī),使用ZigBee協(xié)議,負(fù)責(zé)將從STM32單片機(jī)發(fā)出的指令傳到其他連接CC2530通信板的單片機(jī),用來控制其他電器。
2.1指令接收和發(fā)送
該系統(tǒng)采用MQTT協(xié)議,系統(tǒng)信息流向過程:控制端發(fā)布指令到代理服務(wù)器,代理服務(wù)器將信息再發(fā)布到其中一塊STM32單片機(jī)上,該單片機(jī)作為教室指令傳輸中轉(zhuǎn)站,然后該單片機(jī)通過CC2530使用ZigBee協(xié)議將指令發(fā)送到其他終端。
2.1.1基于MQTT協(xié)議的信息收發(fā)
MQTF是基于客戶端/服務(wù)器的傳輸協(xié)議,受控終端不必知道控制端的IP和端口,控制端也不必知道受控端的IP和端口,受控端和控制端只要連接到代理服務(wù)器上,終端訂閱了相應(yīng)的主題,只要有終端使用這個主題發(fā)布消息,訂閱者就會收到信息。
基于MQTT協(xié)議的特性,STM32需要使用以太網(wǎng)連接到代理服務(wù)器,然后訂閱相關(guān)的主題,當(dāng)控制端需要使用相關(guān)主題發(fā)布指令來控制電器,單片機(jī)就可以接收并解析指令,從而選擇控制電器或者再將指令繼續(xù)發(fā)送。如圖2所示。
2.1.2基于ZigBee協(xié)議的信息收發(fā)
ZigBee是低速短距離的無線傳輸協(xié)議,在一定范圍內(nèi),使用該協(xié)議的設(shè)備會自動進(jìn)行組網(wǎng),一般會組成星狀拓?fù)浣Y(jié)構(gòu)。該網(wǎng)絡(luò)中的設(shè)備會以3種形式存在:(1)路由器,負(fù)責(zé)將信息轉(zhuǎn)發(fā);(2)協(xié)調(diào)器,負(fù)責(zé)組網(wǎng)和管理網(wǎng)絡(luò);(3)終端,是信息傳輸終點。
基于ZigBee協(xié)議的特性,當(dāng)MQTT服務(wù)器將指令發(fā)送到其中一塊STM32單片機(jī)上,經(jīng)過解析后,若發(fā)現(xiàn)該指令不是該單片機(jī)所需,則STM32單片機(jī)通過串口將指令傳到CC2530通信板。通信板作為ZigBee網(wǎng)絡(luò)中的路由器,將指令發(fā)送到ZigBee網(wǎng)絡(luò)中的其他終端,當(dāng)其他終端收到指令后,根據(jù)指令執(zhí)行操作。如圖3所示。
2.2用電器控制
控制系統(tǒng)使用的是STM32單片機(jī)和繼電器模塊。STM32單片機(jī)是主要控制系統(tǒng),接收從MQTF代理服務(wù)器或者CC2530通信板傳送來的指令。單片機(jī)連接繼電器,當(dāng)收到指令后,單片機(jī)控制相關(guān)10口,進(jìn)而控制繼電器,繼電器本身連接在電器的電線上,從而達(dá)到由單片機(jī)間接控制電源開關(guān)。
2.3總體結(jié)構(gòu)
每間教室里有多個由STM32單片機(jī)和CC2530通信板組成的整體。其中一個整體里的STM32連接通過以太網(wǎng)連接MQTT代理服務(wù)器,稱為總機(jī),CC2530在ZigBee網(wǎng)絡(luò)中作為路由節(jié)點。
當(dāng)指令從控制端通過代理服務(wù)器發(fā)布到總機(jī),總機(jī)接收并解析指令,然后將指令由串口發(fā)送到CC2530路由節(jié)點,路由節(jié)點再將指令發(fā)送到各個終端,然后以控制繼電器的開關(guān)間接控制電器的開關(guān)。如圖4所示。
3軟件端結(jié)構(gòu)
在軟件設(shè)計上,采用Qt框架對整套軟件做可視化設(shè)計,通過可后臺運(yùn)行和圖形用戶界面人為控制的設(shè)計以及數(shù)據(jù)庫的建立,構(gòu)成整個軟件結(jié)構(gòu)。軟件與硬件互相配合,實現(xiàn)遠(yuǎn)程控制管理的模式。
3.1圖形用戶界面與內(nèi)部邏輯
運(yùn)用Qt圖形用戶界面開發(fā)框架開發(fā)可視化界面,并在后臺做相關(guān)數(shù)據(jù)的處理。例如在監(jiān)控用電器是否為工作狀態(tài)時,回傳數(shù)據(jù)的分析和判斷;將電源啟動指令發(fā)送等。
軟件的界面設(shè)計主要對用電器監(jiān)控視圖與用電器開關(guān)控制視圖2個界面做開發(fā)。
(1)用電器監(jiān)控界面中,其主要形式為監(jiān)控視圖。大屏監(jiān)控模式可具體到每個教室用電器的情況,管理員可觀察用電器的工作狀態(tài),此界面可與用電開關(guān)控制視圖在同一界面上顯示,也可單獨顯示,但只有監(jiān)控畫面,無法做到控制其用電器的開關(guān)。
(2)用電開關(guān)控制視圖中,有各個教室用電器的開關(guān)按鈕,也有整個教室的所有用電器的開關(guān)按鈕和單個用電器按鈕的開關(guān)或其他組合開關(guān),該界面也可單獨顯示,做到一鍵開關(guān)的功能。軟件界面如圖5所示。
同時,軟件內(nèi)部本身有著相關(guān)邏輯的實現(xiàn),如指令的轉(zhuǎn)換識別、數(shù)據(jù)的遍歷排序等,采用C++的代碼風(fēng)格實現(xiàn)基本的運(yùn)算處理和算法設(shè)計。
3.2數(shù)據(jù)庫搭建與數(shù)據(jù)接收發(fā)
為了與學(xué)校原先的數(shù)據(jù)庫匹配且相關(guān)數(shù)據(jù)不交叉,需要重新搭建數(shù)據(jù)庫,并在數(shù)據(jù)庫的數(shù)據(jù)中插入學(xué)校原先的課程數(shù)據(jù)安排。
在聯(lián)合數(shù)據(jù)庫的作用下,在軟件內(nèi)部通過相關(guān)邏輯代碼將數(shù)據(jù)轉(zhuǎn)化互通,形成時間排序表,利用軟件內(nèi)部時鐘跟國家授時中心標(biāo)準(zhǔn)時間的北京時間做核對,在對應(yīng)時間段內(nèi)對不同的用電器發(fā)送指令;同時可視化界面可隨意控制某一特定用電器的工作狀態(tài),達(dá)成人工可控、并行自動化的效果,意味著如果軟件在失去了可控面板不能人為調(diào)節(jié)的情況下,也能根據(jù)課表自動化運(yùn)行,不受影響。
3.3軟件匹配與IP尋址
在軟件運(yùn)行后,需要自適應(yīng)的匹配。匹配過程類似于密鑰連接,通過廣播信號的方式與路由器或相關(guān)網(wǎng)絡(luò)設(shè)備獲取許可,得到數(shù)據(jù)接收發(fā)的權(quán)限。
將軟件運(yùn)行在一計算機(jī)內(nèi),并將其跟一服務(wù)器連接,服務(wù)器中有著各個教室路由器的IP地址,通過IP地址的匹配對應(yīng)到相應(yīng)的教室,通過以太網(wǎng)并能將數(shù)據(jù)指定傳輸?shù)侥骋粏纹瑱C(jī),讓單片機(jī)執(zhí)行控制任務(wù)。其中數(shù)據(jù)庫中的課表也會隨著預(yù)約教室、調(diào)課等情況作出調(diào)整。IP尋址方式如圖6所示。
4軟硬端間通信橋梁
在軟件和硬件的搭橋上,考慮到實際情況的數(shù)據(jù)通信情況,固采用多級分布式路由,通過匯總的方式與服務(wù)器之間進(jìn)行訪問,再由服務(wù)器與軟件客戶端之間的API調(diào)用形成整個數(shù)據(jù)的回路。
服務(wù)器為整個橋梁的一個中轉(zhuǎn)站,用戶在客戶端或者小程序執(zhí)行了相關(guān)有效操作時,要先將數(shù)據(jù)調(diào)用服務(wù)器的相關(guān)接口通過Session在前端、后端之間傳輸數(shù)據(jù),同時服務(wù)器在收到前端、客戶端的相關(guān)指令后,會進(jìn)行對應(yīng)的操作。例如尋址,找到要執(zhí)行當(dāng)前任務(wù)對象對應(yīng)的IP,再通過硬件部分的多級路由內(nèi)部尋址,多次級別傳輸最終找到目標(biāo)對象,如某教學(xué)樓某教室的燈,通過找到該對象后再對其進(jìn)行對應(yīng)的指令操作,如開燈、關(guān)燈、返回目標(biāo)的狀態(tài)信息。
硬件部分考慮到安全等相關(guān)因素,所有用電器的啟動、關(guān)閉、信息返回都由服務(wù)器的后臺程序自動調(diào)用以及客戶端或小程序人為操控,硬件單體無法自主調(diào)用。在服務(wù)器發(fā)送相關(guān)的指令并在對應(yīng)的用電器接收到后,硬件部分會通過一系列的有線、無線數(shù)據(jù)傳輸技術(shù),將需要的數(shù)據(jù)(如燈的狀態(tài)、空調(diào)的狀態(tài))回傳給服務(wù)器。上述的硬件信息獲取過程只有在客戶端或者小程序聯(lián)網(wǎng)后,主動或被動向服務(wù)器發(fā)送請求下才會執(zhí)行。軟硬件連接方式如圖7所示。
5實驗測試與分析
本項目完成系統(tǒng)的軟硬件設(shè)計和系統(tǒng)搭建,完成實驗和功能調(diào)試,在相關(guān)教學(xué)樓教室現(xiàn)場測試,滿足要求。管理界面如圖8~10所示。
6結(jié)束語
本文介紹了基于STM32與Qt框架的智能教室節(jié)能管理系統(tǒng),該系統(tǒng)為減少學(xué)校教室用電量及人力成本,從用電時間著手,主要是控制電器開關(guān),設(shè)計出此自動化系統(tǒng)。與傳統(tǒng)的智能教室系統(tǒng)不同,該系統(tǒng)將服務(wù)器和路由器建立聯(lián)系,在預(yù)選設(shè)定的時間或紅外人體感應(yīng)識別不到人體信號時,返回對應(yīng)信息至服務(wù)器,通過服務(wù)器發(fā)送指令控制教室電器,大大降低了教室用電成本以及人力維護(hù)成本。本設(shè)計成果也可以應(yīng)用到其他場所,具有一定的經(jīng)濟(jì)和社會效益。