康明星 匡炎
摘 要:文中設(shè)計并實現(xiàn)了一種基于WiFi的分布式溫濕度監(jiān)測網(wǎng)絡(luò),采集節(jié)點利用STM32L152微控制器和USR-SENS-WSD傳感器采集溫濕度,通過WiFi將數(shù)據(jù)傳輸?shù)街醒霐?shù)據(jù)處理單元,適用于機房內(nèi)多點溫濕度監(jiān)測的場合。
關(guān)鍵詞:微控制器;溫濕度采集;WiFi傳輸;傳感器
中圖分類號:TP39 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2018)08-00-02
0 引 言
隨著信息化技術(shù)的普及,越來越多的通信導(dǎo)航及監(jiān)視設(shè)備和計算機系統(tǒng)應(yīng)用到民航空管領(lǐng)域,機房規(guī)模不斷增大,機房內(nèi)設(shè)備持續(xù)增多。與此同時,民航飛速發(fā)展對空管設(shè)備運行保障提出了更高的要求,機房管理從粗放型走向精細(xì)化。機房內(nèi)溫濕度是影響電子設(shè)備性能的重要環(huán)境因素[1]。影響機房溫濕度的因素有很多,外界天氣及制冷除濕設(shè)備故障等均可能造成機房溫濕度失控[2],導(dǎo)致設(shè)備性能下降,甚至造成空管雷達(dá)功率部件等損壞,因此溫濕度實時監(jiān)測是機房精細(xì)化管理的重要手段。
傳統(tǒng)的多點溫濕度自動監(jiān)測需要布置線纜,通信電纜冗長且鋪設(shè)不便[3],不利于快速部署和后期維護。鑒于此,本文給出基于WiFi組網(wǎng)的分布式溫濕度采集監(jiān)控網(wǎng)絡(luò)的設(shè)計方案,包括硬件設(shè)計與軟件設(shè)計兩大部分,并通過實際制作驗證方案的可行性。
1 系統(tǒng)設(shè)計
監(jiān)測網(wǎng)絡(luò)的結(jié)構(gòu)示意圖如圖1所示。通過在機房內(nèi)部署WiFi路由器實現(xiàn)無線覆蓋,構(gòu)建一個無線局域網(wǎng);在不同區(qū)域和機柜部署溫濕度采集節(jié)點,采集節(jié)點利用STM32L152微控制器和USR-SENS-WSD傳感器采集溫濕度,利用USR-C322接入WiFi局域網(wǎng)即可組網(wǎng),實時進(jìn)行多點溫濕度數(shù)據(jù)的采集傳輸。
各采集節(jié)點與中央數(shù)據(jù)處理單元之間以TCP/IP進(jìn)行數(shù)據(jù)通信。采集節(jié)點作為TCP Client,充當(dāng)中央數(shù)據(jù)處理單元的本地監(jiān)測站或遠(yuǎn)程監(jiān)測站,作為TCP Server;部署采集節(jié)點后,自動加入WiFi局域網(wǎng),與Server之間建立TCP 連接;Server匯聚所有節(jié)點的溫濕度數(shù)據(jù)并處理,同時監(jiān)測與各節(jié)點連接的網(wǎng)絡(luò)連接狀態(tài)。
本文系統(tǒng)需要在一個機柜內(nèi)部署多個溫濕度傳感器。USR-SENS-WSD傳感器具備有線組網(wǎng)優(yōu)勢,該傳感器支持MODBUS協(xié)議,允許多個傳感器共同接入總線組網(wǎng),即一個采集節(jié)點可以外掛多個溫濕度傳感器,多個溫濕度傳感器先以有線方式組網(wǎng)匯聚數(shù)據(jù),再由WiFi傳輸?shù)街醒霐?shù)據(jù)處理單元。
2 硬件設(shè)計
采集節(jié)點是一個完整的數(shù)據(jù)采集傳輸裝置,主要由微控制器、溫濕度傳感器、WiFi模塊及供電電路組成,其結(jié)構(gòu)如圖2所示。
微控制器采用意法半導(dǎo)體公司生產(chǎn)的低功耗ARM7芯片STM32L152,該芯片內(nèi)部集成了ADC、定時器和USART等功能模塊,相比單片機而言具有更強大的運算處理能力。溫濕度傳感器采用濟南有人物聯(lián)網(wǎng)科技公司生產(chǎn)的集成溫濕度采集模塊USR-SENS-WSD,該模塊是一款高性能溫濕度數(shù)據(jù)采集傳輸模塊,溫度測量分辨率為0.1℃,精度為±0.2℃,濕度(指相對濕度)測量分辨率為0.1%,環(huán)境溫度為25℃,精度為±2%;支持RS 485/RS 232/TTL接口輸出,支持MODBUS工業(yè)控制總線協(xié)議,可利用MODBUS進(jìn)行現(xiàn)場組網(wǎng)。WiFi模塊采用有人物聯(lián)網(wǎng)科技公司生產(chǎn)的USR-C322,該模塊內(nèi)置TCP/IP協(xié)議棧,通過串口與微控制器通信,支持串口透明傳輸,與WiFi串口服務(wù)器功能相似,各類設(shè)備易于通過WiFi聯(lián)網(wǎng)傳輸數(shù)據(jù)。聲光指示電路包括蜂鳴器和LED指示燈,用于提示W(wǎng)iFi模塊聯(lián)網(wǎng)及節(jié)點工作情況。
供電主要考慮WiFi模塊耗電情況。由數(shù)據(jù)手冊可知,USR-C322作為STA(入網(wǎng)終端模式)持續(xù)發(fā)送數(shù)據(jù)時所需電流約為75 mA,峰值電流約為250 mA,采集節(jié)點其他單元耗電累計約小于10 mA,因此可采用EXAR公司生產(chǎn)的穩(wěn)壓芯片SPX3819供電,將5 V直流電源穩(wěn)壓到3.3 V,SPX3819為低壓差穩(wěn)壓芯片(LDO),其滿載(500 mA)情況下的壓降僅為340 mV。
3 軟件設(shè)計
由于WiFi模塊已內(nèi)置TCP/IP協(xié)議棧,將聯(lián)網(wǎng)封裝成串口指令實現(xiàn),因此軟件設(shè)計主要包括WiFi模塊串口通信程序和溫濕度采集模塊驅(qū)動程序。
3.1 WiFi模塊串口通信程序
USR-C322模塊支持Web和AT指令兩種配置方式。模塊出廠默認(rèn)開啟WiFi路由器功能,此時可用電腦通過WiFi連接模塊,成功后即可使用Web進(jìn)行配置,適用于一次配置后無需再更改網(wǎng)絡(luò)參數(shù)的場合。本文系統(tǒng)采取AT指令配置方式,其軟件流程如圖3所示。WiFi模塊工作參數(shù)存放在微控制器內(nèi)部FLASH區(qū)域,該區(qū)域同時存放有標(biāo)識字符,用于指示模塊是否成功配置過工作參數(shù)。程序先檢查標(biāo)識字符,如果需要配置,則發(fā)送AT指令使模塊進(jìn)入配置模式。
3.2 溫濕度采集模塊驅(qū)動程序
USR-SENS-WSD模塊支持MODBUS協(xié)議幀,可接收并解析中央數(shù)據(jù)處理單元(上位機)發(fā)送的MODBUS 命令幀,根據(jù)指令返回響應(yīng)幀;同時模塊也支持幾組簡單的ASCII指令,無需采用MODBUS組網(wǎng)時可快捷使用該模塊采集溫濕度。模塊上電約2 s后開始執(zhí)行初始化操作,之后可以正常接收指令并根據(jù)指令執(zhí)行操作。MODBUS命令幀和響應(yīng)幀的構(gòu)成如
圖4所示。
命令幀中的地址域指示響應(yīng)上位機命令的模塊ID;功能碼指示符合指定地址的模塊作何響應(yīng);數(shù)據(jù)段指示讀寫的起始地址、結(jié)束地址或用于寫入的數(shù)據(jù),在讀取溫濕度數(shù)據(jù)時,前2個字節(jié)表示讀取起始地址,高字節(jié)在前;CRC校驗段用于差錯校驗。
響應(yīng)幀的地址域表示向上位機返回模塊ID;功能碼/異常碼用于返回模塊所接收到的功能碼或返回差錯碼;數(shù)據(jù)段用于返回數(shù)據(jù),第1個字節(jié)表示返回數(shù)據(jù)的字節(jié)數(shù),后1~4字節(jié)表示返回的數(shù)據(jù),高字節(jié)在前,返回溫濕度數(shù)據(jù)時,濕度數(shù)據(jù)在前,溫度數(shù)據(jù)在后;溫度最高位為0 時表示正溫度,溫度最高位為1 時表示負(fù)溫度;返回數(shù)據(jù)均為實際測量數(shù)據(jù)的10 倍,例如,返回溫度數(shù)據(jù)為185,則實際溫度為18.5℃。
同時,在采集溫度和濕度數(shù)據(jù)時,微控制器發(fā)送給USR-SENS-WSD模塊的命令幀中功能碼設(shè)置為0x03或0x04,數(shù)據(jù)段設(shè)置為0x00,0x00,0x00,0x02。
采集節(jié)點可以被設(shè)置成自動定時采集溫濕度數(shù)據(jù)并發(fā)送到目標(biāo)主機的方式,也可設(shè)置為接收主機輪詢指令采集數(shù)據(jù)并發(fā)送的方式。在輪詢方式下,采集節(jié)點支持“Get Data”指令,即主機通過WiFi發(fā)送該指令給采集節(jié)點,采集節(jié)點內(nèi)部微控制器通過MODBUS發(fā)送命令幀給USR-SENS-WSD模塊,USR-SENS-WSD模塊進(jìn)行溫濕度數(shù)據(jù)采集并將結(jié)果返回給微控制器,最終通過WiFi返回主機,完成一次數(shù)據(jù)采集過程。
4 網(wǎng)絡(luò)配置
本文以網(wǎng)絡(luò)配置方法為例,采取主機輪詢方式獲取數(shù)據(jù),主要步驟如下:
(1)搭建WiFi局域網(wǎng),利用無線路由器(如TPLINK WR886N)搭建名(即SSID)為“test”的WiFi局域網(wǎng),其網(wǎng)絡(luò)頻帶為2.4 GHz,安全類型為“WPA2-個人”,加密密碼為“123456789”,支持DHCP。
(2)搭建TCP Server主機,利用電腦接入test網(wǎng)絡(luò),IP固定為192.168.1.100,運行TCP/IP調(diào)試助手(有人科技公司提供的軟件名為USR-TCP232-Test),開啟TCP Server監(jiān)聽功能,端口為8899。
(3)配置采集節(jié)點的WiFi模塊網(wǎng)絡(luò)參數(shù),無線網(wǎng)絡(luò)SSID為“test”,安全類型為“wpawpa2_aes”,加密密碼為“123456789”,采取DHCP方式獲取IP,需連接的目標(biāo)服務(wù)器IP為192.168.1.100,端口為8899。
(4)系統(tǒng)部署完成后,在電腦端的TCP/IP串口調(diào)試助手上可看到所有接入WiFi局域網(wǎng)的采集節(jié)點,輸入“Get Data”指令發(fā)送給所有采集節(jié)點或指定任意采集節(jié)點,即可收到節(jié)點返回的數(shù)據(jù)。
5 結(jié) 語
民航領(lǐng)域日益精細(xì)化的機房管理對溫濕度的監(jiān)測要求越來越高,多點溫度測量是實現(xiàn)溫濕度精確控制的前提,尤其對于無人值守的空管臺站,一方面采集到的溫濕度數(shù)據(jù)可反饋用于控制機房空調(diào)等制冷除濕設(shè)備,將機房溫濕度控制在適宜的數(shù)值區(qū)域;另一方面可將采集到的數(shù)據(jù)傳送到遠(yuǎn)程監(jiān)控中心,實現(xiàn)集中式監(jiān)控和告警。本文給出了一種多點溫濕度數(shù)據(jù)采集網(wǎng)絡(luò)的實現(xiàn)方法,通過采用WiFi組網(wǎng)技術(shù),提供了一種可靠快捷的機房溫濕度多點監(jiān)測組網(wǎng)方案,解決了部署應(yīng)用難題,適用于快速搭建機房多點溫濕度監(jiān)測的場合。
參考文獻(xiàn)
[1]莫衛(wèi)平.淺談南方計算機機房的溫濕度控制[J].網(wǎng)絡(luò)空間安全,2014(12):62-64.
[2]黃高攀,宋慶武,王會羽.機房溫濕度變化趨勢預(yù)測模型探究[J].產(chǎn)業(yè)與科技論壇,2016,15(3):67-68.
[3]王小娟.基于ESP8266 無線傳輸?shù)臏貪穸葯z測儀設(shè)計[J].九江職業(yè)技術(shù)學(xué)院學(xué)報,2017(4):22-24.
[4]王君佑.室內(nèi)環(huán)境質(zhì)量無線監(jiān)測系統(tǒng)設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2016,6(1):26-28.
[5]何巍.基于無線傳感網(wǎng)絡(luò)的交換機房溫濕度監(jiān)測系統(tǒng)[D].太原:中北大學(xué),2012.
[6]周學(xué)軍,俞凱君.基于無線網(wǎng)絡(luò)的影像機房溫濕度監(jiān)測系統(tǒng)[J].中國醫(yī)療器械雜志,2011,35(3):234-237.
[7]陳微辰,丁恩杰.一種基于無線傳感器網(wǎng)絡(luò)的機房溫濕度監(jiān)測控制系統(tǒng)[J].福建電腦,2012,28(1):126-128.
[8]鐘九洲.基于無線傳感器網(wǎng)絡(luò)的多處網(wǎng)絡(luò)機房溫濕度雙向監(jiān)控系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2013,22(5):54-57.