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





