閻磊 馬宏琳



摘 ?要:大型糧食物流園區(qū)建設(shè)是糧食現(xiàn)代物流的重要發(fā)展方向,基于TCP/IP協(xié)議架構(gòu)的網(wǎng)絡(luò)綜合布線是糧食物流園區(qū)建設(shè)的基礎(chǔ)性工程,網(wǎng)絡(luò)機房設(shè)備間是綜合布線的重要組成部分,有效監(jiān)測其環(huán)境運行溫濕度是保障整個園區(qū)計算機網(wǎng)絡(luò)正常運行的重要基礎(chǔ)。文章研究了設(shè)備間溫濕度檢測技術(shù)的IP化方法,將傳統(tǒng)的RS485溫濕度監(jiān)測手段和TCP/IP協(xié)議結(jié)合起來,發(fā)揮設(shè)備間TCP/IP協(xié)議接入的優(yōu)勢,構(gòu)建了B/S架構(gòu)的設(shè)備間溫濕度監(jiān)測系統(tǒng),對系統(tǒng)的設(shè)計分析和實現(xiàn)過程進行了說明,給出了應(yīng)用實例,效果良好。
關(guān)鍵詞:TCP/IP;溫濕度;Socket
中圖分類號:TP311 文獻標志碼:A 文章編號:2095-2945(2020)02-0016-03
Abstract: The construction of large-scale grain logistics park is an important development direction of modern grain logistics. Network integrated wiring based on TCP/IP protocol architecture is the basic project of grain logistics park construction. Network equipment room is an important part of integrated wiring, effectively monitoring its environment. Operating temperature and humidity arean important basis for ensuring the normal operation of the entire campus computer network. In this paper, the IP method of temperature and humidity detection technology between devices is studied. The traditional RS485 temperature and humidity monitoring method and TCP/IP protocol are combined to take advantage of the TCP/IP protocol access between devices, and the B/S architecture device is constructed. The inter-temperature and humidity monitoring system explains the design analysis and implementation process of the system.
Keywords: TCP/IP; temperature and humidity; Socket
引言
國家發(fā)展改革委2007年發(fā)布的《糧食現(xiàn)代物流發(fā)展規(guī)劃》中明確提出“發(fā)展糧食現(xiàn)代物流,實現(xiàn)糧食散儲、散運、散裝、散卸(即‘四散化)的變革,提高糧食流通自動化、系統(tǒng)化和設(shè)施現(xiàn)代化水平,對提高糧食流通效率,降低糧食流通成本,保障國家糧食安全具有重要意義[1]。”國務(wù)院2014年發(fā)布的《關(guān)于建立健全糧食安全省長責(zé)任制的若干意見》(“糧安工程”)中也指出要“組織實施糧食收儲供應(yīng)安全保障工程,將糧食倉儲物流設(shè)施作為重要農(nóng)業(yè)基礎(chǔ)設(shè)施抓緊建設(shè)[2]。”大型糧食物流園區(qū)建設(shè)是實現(xiàn)“四散化”目標的重要載體,是推進“糧安工程”建設(shè)的有效途徑。
近年來,我國各糧食物流重要節(jié)點紛紛建立了大型的糧食物流園區(qū),在這些園區(qū)建設(shè)中,信息技術(shù)得到了廣泛應(yīng)用,計算機網(wǎng)絡(luò)綜合布線作為信息技術(shù)的基礎(chǔ)工程,也得到了廣泛應(yīng)用。網(wǎng)絡(luò)機房設(shè)備間是在每一幢大樓的適當?shù)攸c設(shè)置電信設(shè)備和計算機網(wǎng)絡(luò)設(shè)備、以及建筑物配線設(shè)備、進行網(wǎng)絡(luò)管理的場所[3],為了保證數(shù)據(jù)和網(wǎng)絡(luò)通信的暢通,設(shè)備間的設(shè)計、建設(shè)、運行管理均有嚴格的規(guī)范要求。國家標準《建筑與建筑群綜合布線系統(tǒng)工程設(shè)計規(guī)范》(GB/T 50311-2000)中明確了設(shè)備間的溫濕度要求:設(shè)備間室溫應(yīng)保持在10~30℃之間,相對濕度應(yīng)保持10%~80%,并應(yīng)有良好的通風(fēng)[3],設(shè)備間內(nèi)的各種設(shè)備也要求明確的溫濕度運行環(huán)境以便保證設(shè)備的正常運行。
在大型糧食物流園區(qū)建設(shè)中,對網(wǎng)絡(luò)核心機房的環(huán)境要求比較注重,一般都配備了較好的精密空調(diào)等環(huán)境設(shè)備,但是在大量接入設(shè)備間內(nèi),往往沒有配置精密空調(diào)等環(huán)境設(shè)備,也沒有溫濕度的實時監(jiān)控設(shè)備,常常采取維護人員到現(xiàn)場測量環(huán)境溫濕度。對大量設(shè)備間的溫濕度監(jiān)控缺失,容易出現(xiàn)因溫濕度超標引起設(shè)備運行故障,而溫濕度監(jiān)控不到位也使維護人員卻難以預(yù)知此類故障。因此,有必要建立一套覆蓋所有設(shè)備間的溫濕度監(jiān)測系統(tǒng),實現(xiàn)對環(huán)境溫濕度的實時監(jiān)測。
1系統(tǒng)分析及設(shè)計
大型糧食物流園區(qū)的眾多機房設(shè)備間一般分布在不同建筑物的不同樓層、不同位置,相互間距離遠,需要在各個設(shè)備間安裝溫濕度采集設(shè)備,采集實時的溫度和濕度數(shù)據(jù),并能夠通過某種途徑傳輸至遠端的數(shù)據(jù)采集中心,并進行輸出顯示,對于超過閾值的數(shù)據(jù)還應(yīng)該能夠進行報警。
通過上述分析,系統(tǒng)應(yīng)包括前端數(shù)據(jù)采集、傳輸網(wǎng)絡(luò)、后端數(shù)據(jù)存儲處理、終端數(shù)據(jù)查詢顯示等幾個層次。
其中“前端數(shù)據(jù)采集”在最底層,負責(zé)在上層程序控制下完成溫濕度數(shù)據(jù)的采集,目前,常見的溫濕度傳感器大都采用工業(yè)控制的RS485或RS232串行通訊協(xié)議和接口形式,一般采用MUDBUS協(xié)議進行數(shù)據(jù)通信,難以進入TCP/IP網(wǎng)絡(luò)。近年來,工業(yè)現(xiàn)場IP化趨勢日漸明顯,即采用串口轉(zhuǎn)換設(shè)備將RS485或RS232接口轉(zhuǎn)換為RJ45的以太網(wǎng)接口,實現(xiàn)TCP/IP協(xié)議和串口通訊協(xié)議的雙向轉(zhuǎn)換,從而將串口設(shè)備接入到標準的TCP/IP網(wǎng)絡(luò)中來,常見的轉(zhuǎn)換設(shè)備即串口服務(wù)器設(shè)備;
“傳輸網(wǎng)絡(luò)”是進行控制指令和數(shù)據(jù)傳輸?shù)逆溌泛屯ǖ?“后端數(shù)據(jù)存儲處理”負責(zé)向前端發(fā)送數(shù)據(jù)采集指令,讀取接收采集的數(shù)據(jù),對數(shù)據(jù)進行存儲和處理,為終端查詢顯示提供服務(wù),此外還負責(zé)系統(tǒng)參數(shù)配置和管理;“終端數(shù)據(jù)查詢顯示”負責(zé)向維護人員和管理人員提供系統(tǒng)使用界面,用于人機交互。
系統(tǒng)結(jié)構(gòu)圖如圖1所示。
在設(shè)備間內(nèi),一般布置有網(wǎng)絡(luò)交換設(shè)備,可以提供方便的計算機網(wǎng)絡(luò)接入,通過TCP/IP協(xié)議進行數(shù)據(jù)傳輸,構(gòu)建起基于TCP/IP協(xié)議的機房溫濕度監(jiān)測系統(tǒng),從而實現(xiàn)遠程檢測。
前端采集設(shè)備考慮采用具有RS232接口的溫濕度傳感器,通過串口服務(wù)器設(shè)備接入計算機網(wǎng)絡(luò)中。能夠?qū)S-232/485/422等串口協(xié)議轉(zhuǎn)換成TCP/IP以太網(wǎng)網(wǎng)絡(luò)協(xié)議接口,從而實現(xiàn)對用戶的串口與網(wǎng)絡(luò)接口的雙向數(shù)據(jù)完全透明傳輸。這樣,串口設(shè)備也就具備了TCP/IP網(wǎng)絡(luò)接口功能,連接以太網(wǎng)進行數(shù)據(jù)通信,極大延伸串口設(shè)備的通信距離。
后端數(shù)據(jù)存儲處理、終端數(shù)據(jù)查詢顯示等采用基于B/S(Browser/Server)架構(gòu)的系統(tǒng)設(shè)計,通過HTTP等高層協(xié)議實現(xiàn)數(shù)據(jù)訪問。
對于采集的數(shù)據(jù),在后端數(shù)據(jù)存儲處理中采取數(shù)據(jù)庫存儲方式,通過對數(shù)據(jù)的分析,得到主要數(shù)據(jù)表(TF_Info)結(jié)構(gòu)如表1所示。TF_Info數(shù)據(jù)表存儲采集到的溫度和濕度數(shù)據(jù),由4個字段組成,TFID表示所采集的傳感器ID號,Temp表示采集的溫度數(shù)據(jù),RH表示采集的濕度數(shù)據(jù),Time表示采集溫濕度數(shù)據(jù)的采集時間。
具有RS232接口的溫濕度傳感器可以通過16進制指令讀取溫濕度數(shù)據(jù),通過串口服務(wù)器轉(zhuǎn)換成TCP/IP協(xié)議接入計算機網(wǎng)絡(luò),再由后端數(shù)據(jù)存儲處理程序應(yīng)用Socket套接字編程進行數(shù)據(jù)讀取。
通過上述分析,整個系統(tǒng)可以分為若干功能模塊,分別對應(yīng)各個邏輯層次,系統(tǒng)功能模塊圖如圖2所示。
其中,系統(tǒng)管理用于管理用戶信息、權(quán)限設(shè)置、密碼管理等功能;參數(shù)設(shè)置用于訪問地址、連接速率等;設(shè)備管理用于設(shè)備名稱、設(shè)備地址、設(shè)備端口、設(shè)備狀態(tài)等設(shè)備信息管理;數(shù)據(jù)查詢可以按照多條件進行溫濕度數(shù)據(jù)的查詢;預(yù)警管理可以設(shè)置預(yù)警閾值、查看預(yù)警報警信息等;統(tǒng)計分析可以按照多條件進行數(shù)據(jù)的統(tǒng)計分析;日志管理用于記錄系統(tǒng)日志。
2 系統(tǒng)實現(xiàn)
采集和傳輸過程的系統(tǒng)實現(xiàn)核心是TCP/IP協(xié)議的Socket套接字編程。為了區(qū)別不同的應(yīng)用程序進程和連接,許多計算機操作系統(tǒng)為應(yīng)用程序與TCP/IP協(xié)議交互提供了稱為套接字(Socket)的接口,區(qū)分不同應(yīng)用程序進程間的網(wǎng)絡(luò)通信和連接。美國加州大學(xué)伯克利分校發(fā)布的UNIX4.2 BSD系統(tǒng)首先使用了套接字Socket技術(shù)來加強網(wǎng)絡(luò)通信功能[4],并成為事實上的網(wǎng)絡(luò)套接字標準。
要通過互聯(lián)網(wǎng)進行通信,至少需要一對套接字,一個運行于客戶機端,稱之為ClientSocket,另一個運行于服務(wù)器端,稱之為ServerSocket。
Server端Listen(監(jiān)聽)某個端口是否有連接請求,Client端向Server 端發(fā)出Connect(連接)請求,Server端向Client端發(fā)回Accept(接受)消息。一個連接就建立起來了。Server端和Client 端都可以通過Send,Write等方法與對方通信。
對于一個功能齊全的Socket,都要包含以下基本結(jié)構(gòu),其工作過程包含以下四個基本的步驟:
●創(chuàng)建Socket;
●打開連接到Socket的輸入/出流;
●按照一定的協(xié)議對Socket進行讀/寫操作;
●關(guān)閉Socket。
本文中在串口服務(wù)器上設(shè)定了工作模式為TCP Server,即服務(wù)器端(ServerSocket),在后端數(shù)據(jù)存儲處理中設(shè)置為客戶機端(ClientSocket)。
通過Socket連接串口服務(wù)器,由串口服務(wù)器連接前端溫濕度傳感器獲得16進制的溫濕度數(shù)據(jù),經(jīng)過轉(zhuǎn)換后得到10進制的溫濕度數(shù)據(jù)。
如接收到的16進制數(shù)據(jù)為:
02 92 01 0D A2
其中,“02 92”是濕度數(shù)據(jù),“01 0D”是溫度數(shù)據(jù),“A2”是校驗值,校驗位計算:02+92+01+0D=A2。
則濕度:0×163+2×162+9×161+2×160=658,表示濕度為65.8%RH。
則溫度:0×163+1×162+0×161+D×160=269,表示溫度為26.9℃。
本文采用JAVA平臺作為主開發(fā)平臺,通過Socket讀取溫濕度數(shù)據(jù)的部分程序代碼如下:
//創(chuàng)建Socket連接
TempRHSocket = new TempRHSocket(host,port);
//打開連接到Socket的輸入/出流
TempRHSocketReader = TempRHSocket.getInputStream();
TempRHSocketWriter = TempRHSocket.getOutputStream();
//按照一定的協(xié)議對Socket進行讀/寫操作
TempRHSocketReader.read(receive_TRH);
TempRHSocket.close(); //關(guān)閉Socket
intTemp = 0;
str = "";
intTemp = receive_TRH[0] >= 0 ? receive_TRH[0] : 256 + receive_TRH[0];
str = str+Integer.toHexString(intTemp);
lX = Long.parseLong(str,16);
Temp = lX*10; ?//計算溫度
intTemp = 0;
str = "";
intTemp = receive_TRH[1] >= 0 ? receive_TRH[1] : 256 + receive_TRH[1];
str = str+Integer.toHexString(intTemp);
lX = Long.parseLong(str,16);
RH = lX; ? //計算濕度
讀取到的溫濕度數(shù)據(jù)寫入數(shù)據(jù)庫中的TF_Info數(shù)據(jù)表中。后端數(shù)據(jù)存儲處理程序采用B/S架構(gòu)進行數(shù)據(jù)處理,最終向用戶提供基于WEB的訪問方式。
B/S結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu),在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),具有分布性特點,業(yè)務(wù)擴展簡單方便,維護簡單,開發(fā)便捷等特點。
程序主要界面如圖3所示。
3 結(jié)束語
大型糧食物流園區(qū)設(shè)備間溫濕度監(jiān)測是確保機房設(shè)備間運行環(huán)境的前提,將布置在前端溫濕度傳感器接入網(wǎng)絡(luò)中,并通過TCP/IP協(xié)議對傳感器進行數(shù)據(jù)讀取,可以方便快捷地獲取到溫濕度數(shù)據(jù),從而盡早發(fā)現(xiàn)因環(huán)境溫濕度導(dǎo)致的設(shè)備故障。通過建立基于B/S架構(gòu)的系統(tǒng)軟件,實現(xiàn)了溫濕度的遠程檢測,通過在河南、江蘇等地大型糧食物流園區(qū)的廣泛使用,效果良好。
串口服務(wù)器作為工業(yè)現(xiàn)場IP化設(shè)備的出現(xiàn),使得基于TCP/IP協(xié)議控制遠端串口設(shè)備成為可能,因此,開展基于TCP/IP協(xié)議的機房設(shè)備間溫濕度監(jiān)測研究研究將有助于提高設(shè)備運行環(huán)境監(jiān)測能力,更好地滿足信息化管理維護的需求。
參考文獻:
[1]國家發(fā)展改革委關(guān)于印發(fā)糧食現(xiàn)代物流發(fā)展規(guī)劃的通知(發(fā)改經(jīng)貿(mào) [2007] 2136號)[EB/OL]. http://www.sdpc.gov.cn/zcfb/zcfbghwb/200708/t20070830_579684.html.
[2]國務(wù)院關(guān)于建立健全糧食安全省長責(zé)任制的若干意見國發(fā)〔2014〕69號[EB/OL]http://www.gov.cn/zhengce/content/2015-01/22/content_9422.htm.
[3]GB/T 50311-2000.建筑與建筑群綜合布線系統(tǒng)工程設(shè)計規(guī)范[S].2000.
[4]David Coffield, Doug shepherd, Tutorial Guide to UNIX Sockets fro Network Communications, Computer Communication[J]. Vol.10, No.1, Feb.1987,PP21-29.
[5]劉啟文,孫傳林.TCP/IP協(xié)議網(wǎng)絡(luò)通信Socket結(jié)構(gòu)的設(shè)計與應(yīng)用[J].微型機與應(yīng)用,1993(12):31-33.
[6]Behrouz A.Forouzan, TCP/IP Protocol Suite, Fourth Edition[M]. McGraw Hill Higher Education,2009.
[7]陳昊鵬.Java編程思想(第4版)[M].機械工業(yè)出版社,2007.
[8]Elliotte Rusty Harold, Java Network Programming, Third Edition[M]. O' Reilly Media, Inc.,2004.