高校教學(xué)樓智能控制系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
大學(xué)教育在不斷發(fā)展,相應(yīng)大學(xué)教育的支出也逐年增加, 尤其體現(xiàn)在教室和實(shí)驗(yàn)室等公共區(qū)域支出等方面,而在這些區(qū)域中,照明以及納涼設(shè)施費(fèi)電量尤為突出。在這些公共區(qū)域會經(jīng)常出現(xiàn)人走燈未關(guān)、人空設(shè)備未停的現(xiàn)象,多數(shù)高校也采用人工管理的方式,由于管理人員并不能及時(shí)了解每個(gè)教室的實(shí)時(shí)情況,造成了能源消耗,不符合現(xiàn)代社會綠色節(jié)能理念。
隨著物聯(lián)網(wǎng)的發(fā)展,人們對無人監(jiān)管區(qū)域有了更好的掌控方法,將物聯(lián)網(wǎng)和大學(xué)結(jié)合起來,在大學(xué)布置一個(gè)物聯(lián)網(wǎng)型、智能的調(diào)控公共區(qū)域。本文系統(tǒng)基于 MQTT(Message Queuing Telemetry Transport,MQTT)發(fā)布 / 訂閱機(jī)制具有實(shí)現(xiàn)教室信息監(jiān)控和教室設(shè)備控制的功能,MQTT 協(xié)議是在計(jì)算能力不高、低寬帶、網(wǎng)絡(luò)不可靠的傳感器和單片機(jī)上實(shí)現(xiàn)信息傳遞的協(xié)議,由于其具有開銷小、代碼開源、可簡化開發(fā)流程、便于后期維護(hù)等優(yōu)點(diǎn),在信息高效傳輸?shù)那闆r下能夠做到減少學(xué)校布置開支 [1]。
1 系統(tǒng)總體設(shè)計(jì)方案
基于 MQTT 協(xié)議及時(shí)信息傳遞功能的智能型教學(xué)樓實(shí)現(xiàn)以下三個(gè)功能。系統(tǒng)總體框圖如圖 1 所示。
(1) 通過 ESP32控制各個(gè)傳感器讀取教室內(nèi)有用信息, 并發(fā)送至服務(wù)端,同時(shí)接收服務(wù)端發(fā)來的控制信息,調(diào)控教室內(nèi)設(shè)備的狀態(tài) ;
(2) 服務(wù)端架設(shè) MQTT服務(wù)功能,作為信息“中轉(zhuǎn)站”,發(fā)送來自教室的信息到各客戶端,接收來自管理員的控制信息發(fā)送至教室 ;
(3) 普通客戶端顯示來自教室的實(shí)時(shí)信息,管理員端除顯示信息還可發(fā)送控制信息至教室。
2 系統(tǒng)部分軟硬件設(shè)計(jì)
教室部分分為主控芯片、溫度傳感器、光照強(qiáng)度傳感器、紅外對射器四部分。服務(wù)器以及 PC 端(包括管理員)均為軟件設(shè)計(jì),搭建 MQTT 協(xié)議通道以及觀察記錄界面 [2]。
2.1 教室部分主控芯片的選擇
充分考慮教室過多,成本隨教室的增多而增多等問題, 以及考慮到網(wǎng)絡(luò)環(huán)境并非理想網(wǎng)絡(luò),同時(shí)又要連接三種傳感器,所以選擇使用 ESP32boards 作為主控芯片,ESP32 可作為獨(dú)立系統(tǒng)運(yùn)行應(yīng)用程序或主機(jī) MCU 的從設(shè)備,通過 SPI/ SDIO 或 I2C/UART 接口提供 WiFi 和藍(lán)牙功能,同時(shí)其包括精細(xì)分辨時(shí)鐘門控、省電模式和動態(tài)電壓調(diào)整等功能,工作溫度在 -40 ~ 125 ℃,能夠囊括絕大部分中國地區(qū)溫度,減少因?yàn)闇囟榷鸬闹骺匦酒环€(wěn)定、失控現(xiàn)象 [3-5]。
溫 度 模 塊 選 擇 使 用 DS18b20, 該 模 塊 測 溫 范 圍為 -55 ~ 125 ℃,誤差為 ±1 ℃,輸出為數(shù)字信號,體積小、抗干擾能力強(qiáng)、高精度等特點(diǎn)都是測溫的最佳選擇。光照強(qiáng)度傳感器使用 BH1750,其內(nèi)置數(shù)模轉(zhuǎn)換器,可以直接輸出一個(gè)數(shù)字信號,使用 I2C 接口,測量范圍為 1 ~ 65 535 lx。
2.2 MQTT協(xié)議
MQTT 消息隊(duì)列遙測傳輸協(xié)議是 IBM 公司采用 TCP/IP進(jìn)行的即時(shí)通信協(xié)議,此協(xié)議可以運(yùn)行在所有平臺,并且在單片機(jī)這樣不可靠的網(wǎng)絡(luò)中也能高效地傳輸信息。它通過發(fā)布 / 訂閱機(jī)制實(shí)現(xiàn)一對多的消息傳輸,減少了信息傳遞的開銷,消息頭部采用 2 B,協(xié)議交換最小化,降低了信息流量 [6-7]。MQTT 消息頭見表 1 所列。
同時(shí),對于一些較長信息,MQTT 也可實(shí)現(xiàn)變長報(bào)頭。
MQTT 發(fā)布 / 訂閱機(jī)制實(shí)現(xiàn)消息一對多的傳輸中,服務(wù)器不需要對每個(gè)客戶端都開通一個(gè) TCP 連接,其通過消息代理機(jī)制中的主題作為通信中介。MQTT 協(xié)議就像一個(gè)有多入口的箱子,放東西的人可以往箱子里放進(jìn)東西,多個(gè)取東西的人也都有入口取東西,取東西和放東西的人,以及取東西和取東西的人之間并不會妨礙到對方。
2.3 軟硬件實(shí)現(xiàn)通信
在教學(xué)樓布置溫濕度傳感器、光照強(qiáng)度傳感器、紅外對射傳感器等,將 ESP32board 作為每間教室的信息處理中心, 溫濕度傳感器感應(yīng)室內(nèi)溫度濕度,以此作為教室內(nèi)部控溫設(shè)備開關(guān)的依據(jù),每個(gè)門口放置兩個(gè)紅外對射傳感器,判斷教室門口進(jìn)出的人數(shù)。根據(jù)教室內(nèi)部的人數(shù)和光照強(qiáng)度傳感器讀到的數(shù)據(jù)判斷室內(nèi)光照情況,即判斷白天或夜晚,是否陰天光強(qiáng)不足。當(dāng)判斷白天光照充足時(shí),教室內(nèi)部電燈不開, 當(dāng)夜晚或光照不足,且教室內(nèi)部人數(shù)多于一個(gè)人時(shí),自動打開燈,當(dāng)人走空時(shí),關(guān)閉燈光。收集傳感器信息、教室人數(shù)信息和設(shè)備狀態(tài)信息,通過 ESP32 模塊使用 MQTT 協(xié)議發(fā)送至總服務(wù)器,為實(shí)現(xiàn)信息校內(nèi)外的共享,本文將服務(wù)器位置設(shè)置在阿里云外網(wǎng) [8]。
在 PC 端連接阿里云 MQTT 服務(wù),訂閱查看教室信息, 服務(wù)器會定時(shí)將數(shù)據(jù)發(fā)送至 PC 端。在教學(xué)樓管理員 PC 端, 多增加訂閱控制教室設(shè)備消息,發(fā)送控制消息至服務(wù)器,服務(wù)器將控制消息發(fā)送至教室 ESP32board,再由 ESP32board 控制教室設(shè)備開關(guān) [9]。系統(tǒng)信息傳遞示意如圖 2 所示。
傳感器塊、服務(wù)器塊、PC 端功能明確,能夠降低程序的耦合性,每個(gè)模塊注重自己功能的實(shí)現(xiàn),消息通過 MQTT 協(xié)議傳遞在各個(gè)部分之間。
3 具體實(shí)現(xiàn)過程
3.1 教室部分
中心處理板使用 ESP32 實(shí)現(xiàn)信息的收集和發(fā)送,ESP32 板有多種固件選擇,既可以采用 Arduino 式編程,也可采用MicroPython 編程,板子本身提供 3.3 V 和 5 V 兩種電壓,為不同傳感器提供實(shí)現(xiàn)條件。官方提供多種傳感器庫,在開源社區(qū)也有 MQTT 在 ESP32 上實(shí)現(xiàn)的庫,方便制作者開發(fā)。
教室端收集信息,每隔一定時(shí)間將數(shù)據(jù)發(fā)送到服務(wù)器, 多次測試,調(diào)整發(fā)送格式,方便客戶端接受。同時(shí)訂閱由管理員發(fā)來的控制信息,讀取信息,若為電燈關(guān)閉信號,則關(guān)閉教室內(nèi)電燈。同理,讀取其他設(shè)備控制信號,做出相應(yīng)的改變。
3.2 服務(wù)器部分
租用阿里云服務(wù)器搭建 MQTT 環(huán)境,將服務(wù)器作為一個(gè)消息中介,教室模塊以及 PC 端模塊都可連接到服務(wù)器發(fā)布 / 訂閱消息。在 Windows 中通過網(wǎng)頁形式訪問服務(wù)器 MQTT 連接發(fā)送情況。Windows 中訪問頁面形式如圖 3 所示。
3.3 PC部分
實(shí)際采用方案前,先通過第三方軟件連接服務(wù)器進(jìn)行測試,包括 IP、端口號、MQTT 賬戶、密碼、訂閱機(jī)制、發(fā)布機(jī)制。同時(shí)測試服務(wù)器端發(fā)送的數(shù)據(jù)和 PC 測試軟件收到的數(shù)據(jù)是否一致,發(fā)送時(shí)間是否有延遲,多個(gè)連接是否會造成擁擠堵塞、有信息收不到或服務(wù)器有信息發(fā)送不出去的情況。
通過軟件測試,調(diào)整教室部分發(fā)送數(shù)據(jù)的格式,便于讀取接收。通信測試如圖 4 所示。
圖 4 通信測試
通過測試后,做一個(gè) PC 自己可用的客戶端,專門用于接收數(shù)據(jù)和輸出數(shù)據(jù),便于師生查看。若 PC 為管理員,再發(fā)布控制消息,最終實(shí)現(xiàn)遠(yuǎn)程控制。PC 端顯示界面如圖 5 所示。
圖 5 PC 端顯示界面
4 結(jié) 語
MQTT 協(xié)議應(yīng)用于類似單片機(jī)這樣通信功能不強(qiáng),但又需要遠(yuǎn)程顯示、收集信息的場景。同時(shí),MQTT 為了應(yīng)對不同場景的應(yīng)用,也擁有三種不同形式的通信質(zhì)量服務(wù),可以根據(jù)自己單片機(jī)和周邊網(wǎng)絡(luò)環(huán)境選擇使用通信質(zhì)量服務(wù)類型,不僅增加了服務(wù)質(zhì)量,還有效減少了通信流量。師生可以在第一時(shí)間了解教室的使用情況,管理員也可以遠(yuǎn)程管理教室,有助于改善資源浪費(fèi)的情況。