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