一種基于 LoRa 通信的機房環(huán)境檢測與控制系統(tǒng)
掃描二維碼
隨時隨地手機看文章
引 言
隨著計算機技術(shù)和無線通信技術(shù)的不斷發(fā)展,物聯(lián)網(wǎng)通信技術(shù)也日趨成熟,目前的主流是 NB-IoT 和 LoRa。NB-IoT 由電信運營商通過商用頻點建設(shè)基站進行大規(guī)模部署,LoRa 是一種低功耗、傳輸距離長、抗干擾能力強的無線通信技術(shù), 它通過數(shù)字擴頻、數(shù)字信號處理和前向糾錯編碼等手段,實現(xiàn)了類似頻移鍵控調(diào)制的低功耗特性,又顯著延長了傳輸距離,即使多個終端使用相同的頻率同時發(fā)送數(shù)據(jù),只要擴頻序列不同它們便不會相互干擾,同時 LoRa 還可以通過免費自由頻段自行組網(wǎng)。
為實現(xiàn)對機房環(huán)境的實時監(jiān)測與控制,本文采用 ESP32 單片機、溫濕度傳感器、串口顯示屏、電流環(huán)傳感器、繼電器、LoRa 通信模塊、紅外發(fā)射模塊組建系統(tǒng)。主要實現(xiàn)了環(huán)境溫度、設(shè)備電流的實時采集、顯示與數(shù)據(jù)實時回傳等功能,可根據(jù)現(xiàn)場環(huán)境溫度自動開啟和關(guān)閉空調(diào)設(shè)備,在異常情況發(fā)生時,系統(tǒng)能控制繼電器動作切斷動力設(shè)備電源,防止意外發(fā)生 [1-3]。
系統(tǒng)總體設(shè)計
系統(tǒng)由本地機房監(jiān)測控制模塊和遠端接收管理平臺構(gòu)成。其中機房監(jiān)測控制模塊實時采集數(shù)據(jù)并處理,之后根據(jù)預(yù)先設(shè)定的規(guī)則完成自我控制,同時將現(xiàn)場采集的數(shù)據(jù)發(fā)送給遠端接收管理平臺并接收遠端發(fā)送的管理指令,多個監(jiān)測控制模塊與遠端接收管理平臺采用星型結(jié)構(gòu)組網(wǎng) [4]。系統(tǒng)總體框圖如圖 1 所示。
圖 1 系統(tǒng)總體框圖
監(jiān)測控制模塊設(shè)計
模塊硬件設(shè)計
采用模塊化設(shè)計思想,監(jiān)測控制模塊主要由主控制器、采集部分、控制部分、傳輸部分與顯示部分組成。主控制器是檢測控制模塊的核心,采用 ESP32 單片機管理控制,該單片機采用 40 nm 工藝設(shè)計,具有雙核 32 位 CPU,主頻達230 MHz, 集成了 2.4 GHz 雙模 WiFi 和藍牙, 可提供 I2C、SPI 和 UART 等接口,負責協(xié)調(diào)模塊的運行管理與控制。主控制器通過 RS 485 總線接口與各類傳感器通信交互,各傳感器在接入總線前需配置不同的站點地址,主控制器根據(jù)不同的站點地址輪詢每個傳感器采集數(shù)據(jù)。主控制器采用 I/O 口對被控設(shè)備進行獨立控制,保障控制的可靠性與實時性。主控制器通過 UART 串口與 LoRa 模塊通信,實現(xiàn)遠程數(shù)據(jù)的發(fā)送與接收。主控制器通過串口輸出顯示數(shù)據(jù) [5-6]。硬件設(shè)計原理如圖 2 所示。
模塊軟件設(shè)計
模塊軟件使用 C 語言開 發(fā), 主控程序運行基于FreeRTOS操作系統(tǒng),可實現(xiàn)多線程管理。程序初始化過程中,主線程創(chuàng)建了 RS 485 傳感器采集任務(wù)、LoRa 收發(fā)數(shù)據(jù)任務(wù)、顯示輸出任務(wù)、I/O 輸出控制任務(wù)、紅外發(fā)送任務(wù)和看門狗監(jiān)控任務(wù),依賴 RTOS 系統(tǒng)功能創(chuàng)建 FIFO 消息隊列、LoRa 消息隊列、顯示消息隊列、I/O 消息隊列和紅外消息隊列, 實現(xiàn)各任務(wù)與中斷服務(wù)子程序的通信。初始化完成后,主進程進入休眠狀態(tài),等待中斷事件觸發(fā)與消息隊列監(jiān)控,發(fā)生異常時重啟設(shè)備。主控制器程序流程如圖3 所示。
圖 2 硬件設(shè)計原理
圖 3 主控制器程序流程
RS485傳感器采集任務(wù) :讀取傳感器配置信息,獲得傳感器采集地址與采集指令。RS485傳感器采用 Modbus通信協(xié)議,主控端根據(jù)配置循環(huán)向總線站點各傳感器地址發(fā)送查詢指令并接收返回的數(shù)據(jù),對數(shù)據(jù)進行校驗解碼后將數(shù)據(jù)推送到 LoRa消息隊列和顯示消息隊列中。
LoRa收發(fā)數(shù)據(jù)任務(wù) :讀取 LoRa消息隊列中的節(jié)點數(shù)據(jù), 發(fā)送數(shù)據(jù)到LoRa通信模塊 ;讀取LoRa通信模塊接收的數(shù)據(jù), 根據(jù)接收的內(nèi)容進行數(shù)據(jù)處理與格式轉(zhuǎn)換,然后根據(jù)功能將數(shù)據(jù)發(fā)送到相應(yīng)的消息隊列中。
顯示輸出任務(wù) :讀取顯示消息隊列中的節(jié)點數(shù)據(jù),發(fā)送數(shù)據(jù)到顯示屏。
I/O 控制任務(wù) :讀取 I/O 消息隊列中的節(jié)點數(shù)據(jù),根據(jù)數(shù)據(jù)內(nèi)容控制 I/O 引腳的電平,實現(xiàn)設(shè)備控制。
紅外發(fā)送任務(wù) :讀取紅外消息隊列中的節(jié)點數(shù)據(jù),根據(jù)紅外數(shù)據(jù)控制紅外發(fā)射管發(fā)送紅外編碼。
看門狗監(jiān)控任務(wù) :周期性地向看門狗電路發(fā)送脈沖信號實現(xiàn)喂狗功能,保證系統(tǒng)死機后能重新啟動。
遠端接收管理平臺
接收管理平臺服務(wù)器使用 USB-LoRa 多通道數(shù)據(jù)通信模塊與多個監(jiān)測控制模塊進行星型組網(wǎng),實現(xiàn)多路數(shù)據(jù)的收發(fā)。
管理平臺采用 Java 語言開發(fā),基于 SpringBoot 框架實現(xiàn)對多個監(jiān)測控制模塊的配置與管理,如監(jiān)測控制模塊的通信地址與通信數(shù)據(jù)加密配置,每個監(jiān)測控制模塊的 RS 485 接口傳感器地址與數(shù)據(jù)查詢指令的配置,接收監(jiān)測數(shù)據(jù)與圖形化動態(tài)顯示,實現(xiàn)遠程設(shè)備的實時控制管理,配置傳感器數(shù)據(jù)閾值實現(xiàn)環(huán)境告警等。
結(jié) 語
本文設(shè)計開發(fā)了基于 LoRa 通信的機房環(huán)境檢測與控制系統(tǒng),重點介紹了監(jiān)測控制模塊的硬件電路與軟件程序設(shè)計。在遠端管理平臺實現(xiàn)了對機房環(huán)境的監(jiān)測和管控,當有超閾值事件發(fā)生時及時預(yù)警。結(jié)果表明,該系統(tǒng)運行良好,擴展性強,可靠性高,可為后續(xù)園區(qū)智能化機房改造和用戶定制服務(wù)提供良好的平臺。
參 考 文 獻
趙太飛,陳倫斌,袁麓,等 . 基于 LoRa的智能抄表系統(tǒng)設(shè)計與實現(xiàn) [J].計算機測量與控制,2016,24(9):298-301.
葉方躍,鄭偉南 . 基于 LoRa無線通信的數(shù)字開關(guān)量數(shù)據(jù)傳輸 [J].
工業(yè)儀表與自動化裝置,2020,50(1):102-105.
文淵博,牛澳,毛夏煜,等 . 基于 LoRa的分布式火災(zāi)監(jiān)測報警系統(tǒng)的設(shè)計與實現(xiàn) [J].物聯(lián)網(wǎng)技術(shù),2020,10(8):18-22.
趙靜,蘇光添.LoRa無線網(wǎng)絡(luò)技術(shù)分析 [J]. 移動通信,2016,40
(21):50-57.
王浩. 基于 ESP32 平臺和 MQTT協(xié)議的遠程控制系統(tǒng)設(shè)計 [J]. 軟件工程,2020,23(8):38-41.
葛世偉,高平,潘傳佑 . 基于泛在電力物聯(lián)網(wǎng) LoRa通信技術(shù)的研究 [J].物聯(lián)網(wǎng)技術(shù),2020,10(6):33-35.
覃淞. 基于LoRa技術(shù)的樓宇環(huán)境監(jiān)控系統(tǒng)設(shè)計與研究[D].秦皇島: 燕山大學,2019.
冒志益. 基于 LoRa的智能監(jiān)測系統(tǒng)的研究與實現(xiàn) [D].南京:南京理工大學,2017.
童瑋,劉海建,湯莉莉 . 一種基于 Web的通信機房環(huán)境監(jiān)控系統(tǒng)的實現(xiàn) [J].氣象教育與科技,2001,23(1):32-35.
李建兵,王妍,聶山權(quán) . 基于復合通信架構(gòu)的環(huán)境監(jiān)測與控制系統(tǒng) [J].信息與通信工程,2019,20(5):520-525.
作者簡介:范華峰(1978—),男,江蘇江陰人,高級工程師,研究方向為計算機軟件及自動控制。陳 楨(1976—),女,江蘇常州人,副教授,研究方向為大數(shù)據(jù)及人工智能。