董健康 朱愷杰 陳靜杰
摘 要: 為了響應(yīng)民航局“十三五”節(jié)能減排專項項目的號召,設(shè)計一種具有較高可靠性,界面友好的航站樓環(huán)境數(shù)據(jù)集中監(jiān)測平臺,來實時監(jiān)測和存儲航站樓的環(huán)境數(shù)據(jù)。該系統(tǒng)的軟件以Visual Studio.NET為平臺,運用C#編程語言通過TCP/IP遠程網(wǎng)絡(luò)通信協(xié)議結(jié)合GPRS移動網(wǎng)絡(luò),實現(xiàn)上位機對多臺在不同采樣現(xiàn)場采集設(shè)備的遠程數(shù)據(jù)交流,遠程指令控制,數(shù)據(jù)圖表繪制和歷史等功能。硬件部分以STM32微控制器為核心,集高溫度和高精度CO2濃度采集模塊,數(shù)據(jù)存儲模塊,GPRS遠程通信模塊為一體構(gòu)成智能化環(huán)境數(shù)據(jù)采集節(jié)點。將采集節(jié)點布置于天津濱海國際機場T2航站樓值機大廳進行采集實驗,證明了該監(jiān)測系統(tǒng)具有較高的精確性和可靠性。
關(guān)鍵詞: 航站樓; 環(huán)境參數(shù); 遠程采集; 指令控制; 數(shù)據(jù)查詢; STM32微控制器
中圖分類號: TN931+.3?34; TP277 文獻標(biāo)識碼: A 文章編號: 1004?373X(2018)08?0139?05
Abstract: To respond to Civil Aviation Administration′s call of special project for energy saving and emission reduction in "13th Five?year Plan", an airport terminal environmental data centralized monitoring platform with high reliability and friendly interface is designed to monitor and store airport terminal environmental data in real time. Taking Visual Studio.NET as the platform, the system software realizes the functions such as remote data exchange, remote command control, data graph drawing and historical data searching between the host computer and multiple acquisition devices in different sampling sites by using the C# programming language. and TCP/IP remote network communication protocol, and combining with the GPRS mobile network.Taking STM32 microcontroller as the core, the hardware part integrates high?temperature and high?precision CO2 concentration acquisition module, data storage module, and GPRS telecommunication module to constitute intelligent environmental data acquisition nodes. The acquisition nodes were placed in the check?in hall of T2 terminal in Tianjin Binhai International Airport to carry out the acquisition experiment. The result shows that this monitoring system has high precision and reliability.
Keywords: airport terminal; environmental parameter; remote acquisition; command control; data query; STM32 microcontroller
國家“十三五”對于機場建設(shè)規(guī)劃指出,我國在“十三五”末,將建成干線機場260個,通用機場500個以上[1]。隨著我國機場數(shù)量及旅客流量增多,機場的能源負(fù)荷將會日益增大。其中,航站樓的空調(diào)和通風(fēng)設(shè)施將會在機場能源消耗中占有很重要的比例[2],而通風(fēng)負(fù)荷將占到整個空調(diào)負(fù)荷的20%以上。且目前航站樓普遍存在新風(fēng)調(diào)節(jié)力度過大或者不足的情況。航站樓的通風(fēng)系統(tǒng)節(jié)能潛力巨大。所以,需要建立一個具備集遠程數(shù)據(jù)采集網(wǎng)絡(luò)、遠程通信、上位機客戶端和數(shù)據(jù)庫為一體的航站樓環(huán)境數(shù)據(jù)集中監(jiān)測平臺,對航站樓不同位置的CO2濃度、溫度進行測定,從而為評估航站樓不同區(qū)域的候機環(huán)境通風(fēng)情況打下基礎(chǔ)。
整套系統(tǒng)平臺由PC端數(shù)據(jù)監(jiān)測軟件、環(huán)境數(shù)據(jù)庫和放置于航站樓不同位置的可移動智能環(huán)境數(shù)據(jù)采集節(jié)點構(gòu)成。上下位機主要依靠基于GPRS模塊的TCP/IP網(wǎng)絡(luò)通信協(xié)議結(jié)合VPN路由通過外網(wǎng)映射端口來進行數(shù)據(jù)信息和指令交流。來自不同采集設(shè)備的大氣數(shù)據(jù)信息能實時地反映在PC端監(jiān)控軟件的動態(tài)曲線趨勢圖上。與此同時,PC端軟件能對這些所采集到的數(shù)據(jù)在后臺SQL Server數(shù)據(jù)庫中進行區(qū)分存儲,在上位機軟件中可對每個現(xiàn)場采集設(shè)備指定日期內(nèi)的數(shù)據(jù)進行查詢和趨勢圖的繪制,便于日后對航站樓內(nèi)多區(qū)域環(huán)境數(shù)據(jù)的變化及調(diào)控措施進行深入研究。系統(tǒng)平臺結(jié)構(gòu)如圖1所示。
環(huán)境數(shù)據(jù)采集節(jié)點主要布設(shè)于航站樓人流聚集區(qū)域,如值機大廳各值機環(huán)島,候機樓等區(qū)域,用于采集這些區(qū)域的CO2濃度和溫度變化情況。將數(shù)據(jù)傳輸至上位機,與此同時也將時間和該時間的環(huán)境數(shù)據(jù)存儲至E2PROM存儲芯片中。采集節(jié)點配備有3 000 mA·h, 9 V鋰電池,也可外接9 V/12 V電源供電,工作電流為104 mA,硬件結(jié)構(gòu)如圖2所示。
1) 采集設(shè)備由STM32F103ZET6微處理器,低功耗型紅外二氧化碳傳感器COZIR? ambient,DS18B20溫度傳感器,SIM900A型GPRS通信模塊,E2PROM存儲芯片等部分組成。
2) CO2傳感器采用英國COZIR? ambient低功耗高精度CO2傳感器,功耗僅為3.5 mW,3.3 V供電,測量范圍0~5 000 ppm,精度為±50 ppm +/-3%FS。溫度傳感器使用DS18B20溫度傳感器,在 -10~85 ℃范圍內(nèi)精度為±0.5 ℃。
3) 采集節(jié)點主控板采用TP4055芯片充電電路,可在外接電源時為整個采集設(shè)備供電,與此同時為采集節(jié)點的鋰電池充電。外接電源和電池切換電路可以確保在斷開外接電源時自動切換到鋰電池供電。
4) 采集節(jié)點與上位機的信息交互主要依靠SIM900A GPRS模塊進行通信。該模塊內(nèi)部采用PPP網(wǎng)絡(luò)協(xié)議,提供應(yīng)用層AT指令對GPRS模塊進行配置,通過撥號上網(wǎng)的方式遠程PC服務(wù)器端進行TCP連接[3?4]。 在采集節(jié)點未和上位機建立連接時,可用移動電話向采集器以短信的形式向特定編號的采集器發(fā)送請求連接信號,采集節(jié)點收到短信后將會向上位機連續(xù)進行3次握手連接,若連接上,則數(shù)據(jù)通道建立。上位機即可與采集節(jié)點進行數(shù)據(jù)或命令的交互,若3次連接失敗,那么采集器將暫時終端握手連接請求,保持原來的數(shù)據(jù)采集工作。在建立連接后,若長時間無信息交互TCP通信將會斷開,故下位機設(shè)置了每30 s發(fā)送一次心跳包給上位機端,以確保連接穩(wěn)定。若在數(shù)據(jù)傳輸過程中由于其他外在原因?qū)е戮W(wǎng)絡(luò)連接中斷,采集節(jié)點也能在心跳包發(fā)送失敗后向上位機進行3次恢復(fù)連接請求。也可通過移動電話以短信的形式向指定的采集設(shè)備發(fā)送“RELINK”將設(shè)備遠程復(fù)位。
5) 在采集節(jié)點設(shè)計中選用AT24C1024 E2PROM存儲芯片,用于存儲采集到的環(huán)境數(shù)據(jù),當(dāng)與上位機建立連接后,上位機軟件可通過發(fā)送指令,將E2PROM中的數(shù)據(jù)全部讀取,或者將上位機發(fā)送過來的日期范圍指令進行轉(zhuǎn)碼,見表1,利用時間段信息,在E2PROM中進行尋址,開始發(fā)送指定時間段內(nèi)所存儲的數(shù)據(jù)。
上位機軟件以Visual Studio.NET為平臺利用winForm窗體環(huán)境來進行對各項功能及軟件界面的開發(fā),主體功能主要分為實時數(shù)據(jù)接收圖和歷史數(shù)據(jù)查詢兩大部分,如圖3所示。
3.1 建立通信
采集節(jié)點的GPRS模塊是利用移動通信運營商分配的公網(wǎng)IP地址,而PC端使用的是內(nèi)網(wǎng)IP,所以設(shè)置一臺VPN服務(wù)器[5],將上位機端的IP地址穿透至公網(wǎng)IP,使采集節(jié)點能與上位機建立通信。主要運用基于TCP/IP協(xié)議的Socket套接字通信方式,將上位機設(shè)置為Socket服務(wù)器,采集節(jié)點設(shè)置為Socket客戶端,上位機點擊“開始接收”按鈕后,即打開了Socket服務(wù)器,并監(jiān)聽所有采集節(jié)點的連接請求。在接收到某個下位機的握手連接信號后,上位機將通過.Net平臺下的IPEndPoint類中綁定客戶端IP的方法來獲取該采集設(shè)備的IP地址和端口號,并將其存入IP隊列中。然后利用.Net的多線程(Thread)[6?7]方法為該通信通道分配一個新線程,該方法可實現(xiàn)上位機與各臺設(shè)備的信息交互完全由相互獨立的線程通道進行,保證了連接的可靠性和穩(wěn)定性,且在采集節(jié)點連接斷開以后Thread將會自動被釋放,大大節(jié)省了上位機的資源。
在建立通信后,上下位機通過數(shù)據(jù)流(stream)的方式進行通信。在有數(shù)據(jù)交互時,上位機和下位機將索要發(fā)送的信息發(fā)入數(shù)據(jù)流中,即可進行數(shù)據(jù)傳輸和下位機的相關(guān)應(yīng)答通信;在沒有數(shù)據(jù)交流時stream將會釋放,節(jié)省上位機資源。上位機軟件在每接收一條數(shù)據(jù)時會遍歷檢測一次存放IP號的隊列,用Socket類中poll方法來監(jiān)測與該設(shè)備的通斷,若已斷開,那么IP隊列將斷開的設(shè)備刪除,同時在線設(shè)備列表中該設(shè)備號也將刪除。
3.2 信息處理
上位機通過實時數(shù)據(jù)接收界面或者歷史數(shù)據(jù)接收界面上的下拉框(combo box控件)來選擇所需查看或者操作的設(shè)備,在實時數(shù)據(jù)接收界面下,當(dāng)選中下拉框的設(shè)備編號后,上位機鎖定該設(shè)備所對應(yīng)的IP地址進行信息交互。具體的交互指令格式和作用如表1所示。
1) 上位機能通過指令接收或者刪除下位機E2PROM存儲芯片中所有存儲的時間,溫度和CO2濃度數(shù)據(jù),也可通過日歷表(Canlendar)控件輸入日期區(qū)間,程序?qū)r間段區(qū)間組成時間段指令來發(fā)送給對應(yīng)的采集設(shè)備,采集設(shè)備將在E2PROM中以日期索引的方式來尋找符合條件的數(shù)據(jù),并開始向上位機發(fā)送該段時間的環(huán)境數(shù)據(jù)。下位機對于上位機的指令可進行應(yīng)答。如表2所示。
2) PC端使用Visual Studio.NET平臺對于SQL Server的字符串指令編程控制模式[8]。上位機軟件通過數(shù)據(jù)頭區(qū)分?jǐn)?shù)據(jù)來源設(shè)備號,然后在SQL Server庫的表名中尋找對應(yīng)的設(shè)備存儲列表將數(shù)據(jù)存入,具體過程如圖4所示。
3) 利用Visual Studio.NET平臺下開源的ZedGraph控件組進行CO2濃度和溫度變化曲線的繪制。該控件以讀取數(shù)組的形式進行繪圖,上位機將接收到的數(shù)據(jù)字符串進行處理后存入ZedGraph的畫圖數(shù)組中,程序再將數(shù)組中的數(shù)值更新到圖表中。ZedGraph控件具有靈活的數(shù)據(jù)量自適應(yīng)功能,能夠隨著數(shù)據(jù)量逐漸變多從而將時間軸壓縮,便于觀察整體趨勢[9?10],用戶也可以通過鼠標(biāo)自由地選取將深入分析的曲線趨勢段進行放大。
4) 歷史數(shù)據(jù)的查詢主要是基于SQL數(shù)據(jù)庫的查詢,對已接收到的上位機服務(wù)器端的數(shù)據(jù)進行讀取,數(shù)據(jù)庫中數(shù)據(jù)表的格式如圖5所示,其中時間設(shè)為數(shù)據(jù)表的主鍵,這樣可以防止時間不按照先后順序排列,也可避免重復(fù)錄入。
由于考慮到設(shè)備的可移動性,在更換設(shè)備采集方位后,在歷史數(shù)據(jù)查詢狀態(tài)下,可將設(shè)備所對應(yīng)的數(shù)據(jù)庫中的數(shù)據(jù)進行導(dǎo)出和刪除操作。其中,導(dǎo)出操作利用dataGridView控件以表格形式將對應(yīng)設(shè)備數(shù)據(jù)庫中的數(shù)據(jù)間接按用戶所選路徑導(dǎo)出存放,然后利用Visual Studio.NET平臺下的Excel操作類將數(shù)據(jù)以Excel表格的形式輸出。
4.1 實時接收模式實驗結(jié)果
選取兩臺采集節(jié)點設(shè)備分別放置于天津濱海國際機場T2航站樓E和F環(huán)島的值機區(qū)域中,PC端服務(wù)器設(shè)置于校內(nèi)實驗室中,進行數(shù)據(jù)接收測試。首先用移動電話向這兩臺采集設(shè)備發(fā)送“LINKME”指令,待在線設(shè)備列表框中出現(xiàn)這兩臺采集節(jié)點的設(shè)備號后,分別設(shè)定兩臺采集節(jié)點數(shù)據(jù)接收周期為每次30 s(短周期采樣)。接收情況如圖6所示。上位機數(shù)據(jù)接收穩(wěn)定,無卡頓或死機現(xiàn)象,實時性較好。趨勢圖可實時反映航站樓兩個值機環(huán)島的CO2濃度和溫度。從曲線圖可看出航站樓E,F(xiàn)兩個環(huán)島的溫度較為平穩(wěn),CO2濃度卻有明顯的變化。
4.2 歷史數(shù)據(jù)查詢實驗結(jié)果
在歷史數(shù)據(jù)模式下查閱這兩臺設(shè)備所對應(yīng)的數(shù)據(jù)庫中所存儲的24 h下的歷史數(shù)據(jù),按每次30 s的采集頻率,應(yīng)測2 880個數(shù)據(jù),求得丟包率如表3所示。2臺采集設(shè)備丟包率分別為6.1%和6.5%,可見丟包率較小,對于研究環(huán)境數(shù)據(jù)的變化曲線的影響較小,故設(shè)備的數(shù)據(jù)采集和傳輸較為可靠。
本系統(tǒng)實現(xiàn)了航站樓內(nèi)多點CO2濃度、溫度的采集,更可以對多個航站樓進行環(huán)境數(shù)據(jù)采集。結(jié)合豐富的上下位機操作指令,有效地保證了數(shù)據(jù)穩(wěn)定可靠的接收與存儲。相比于傳統(tǒng)的采集平臺,其有更高的數(shù)據(jù)采集完整性。上位機友好的人機界面達到了較好的多現(xiàn)場采集設(shè)備遠程可控性。后臺數(shù)據(jù)庫對所采集到的數(shù)據(jù)進行了高效的管理。測試結(jié)果表明,整套平臺操作簡便,運行穩(wěn)定可靠,適用于對諸如航站樓等,人流量大,客流具有時間性聚集的場所進行環(huán)境評估,從而在現(xiàn)有的空調(diào)通風(fēng)設(shè)備的基礎(chǔ)上制定更加合理的環(huán)境參數(shù)調(diào)節(jié)策略,達到節(jié)省能源的目的,具有較高的社會推廣價值。
參考文獻
[1] 陸二佳.民航“十三五”規(guī)劃解讀:全面夯實民航強國建設(shè)基礎(chǔ)[N].中國民航報,2016?12?23(6).
LU Erjia. Interpretation of the 13th five?year plan for civil aviation: consolidate a foundation for construction of a strong civil aviation country [N]. CAAC news, 2016?12?23 (6).
[2] 楊臣.航站樓空調(diào)系統(tǒng)能耗分析與優(yōu)化控制策略研究[D].上海:上海交通大學(xué),2011.
YANG Chen. Energy consumption evaluation and optimal control strategies research for the air?conditioning system of the airport terminal building [D]. Shanghai: Shanghai Jiao Tong University, 2011.
[3] 趙鋒,王艷瑋,范建華,等.GPRS終端撥號上網(wǎng)連接認(rèn)證注冊全過程研究[J].計算機工程與應(yīng)用,2004,40(23):158?160.
ZHAO Feng, WANG Yanwei, FAN Jianhua, et al. Study on the whole procedure of GPRS terminal′s dialing, connecting, authentication and registration [J]. Computer engineering and applications, 2004, 40(23): 158?160.
[4] 袁斌.基于GPRS傳輸?shù)腡CP/IP通信協(xié)議[J].中小企業(yè)管理與科技,2014(1):285?286.
YUAN Bin. TCP/IP communication protocol based on GPRS transmission [J]. Management &; technology of SME, 2014(1): 285?286.
[5] 金劍鋒,曹開雄,陳建林.簡易的VPN服務(wù)器架構(gòu)與使用[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2016,30(6):41?43.
JIN Jianfeng, CAO Kaixiong, CHEN Jianlin. Architecture and use of simple VPN server [J]. Agriculture network information, 2016, 30(6): 41?43.
[6] 梁宏煒.用C#實現(xiàn)多線程Socket的通信[J].數(shù)字技術(shù)與應(yīng)用,2013,18(6):60.
LIANG Hongwei. Multi?threaded Socket communication with C# [J]. Digital technology and application, 2013, 18(6): 60.
[7] 李德水.基于SOCKET編程接口的網(wǎng)絡(luò)通信[J]. 渭南師范學(xué)院學(xué)報,2005,20(2):69?71.
LI Deshui. Network communication based on SOCKET programming interface [J]. Journal of Weinan Teachers College, 2005, 20(2): 69?71.
[8] 喻洋,葉玉堂,邢同舉.SQL數(shù)據(jù)庫操作中的常用C~#語句[J].軟件導(dǎo)刊,2011,10(11):84?87.
YU Yang, YE Yutang, XING Tongju. Common C# statements in SQL database operations [J]. Software guide, 2011, 10(11): 84?87.
[9] 朱亦鋼.應(yīng)用Zedgraph高效開發(fā)數(shù)據(jù)圖表[J].電腦編程技巧與維護,2009,16(12):59?61.
ZHU Yigang. Application of Zedgraph in rapid develop graphic chart [J]. Computer programming skills and maintenance, 2009, 16(12): 59?61.
[10] 于國卿,李趁趁,趙雨森.ZedGraph控件在水閘監(jiān)測系統(tǒng)開發(fā)中的應(yīng)用研究[J].南水北調(diào)與水利科技,2008,6(3):43?45.
YU Guoqing, LI Chenchen, ZHAO Yusen. Applied research of open?source Zedgraph component in Web development [J]. South?to?north water transfers and water science &; technology, 2008, 6(3): 43?45.