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