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