董健康 朱愷杰 陳靜杰
摘 要: 為了響應(yīng)民航局“十三五”節(jié)能減排專項(xiàng)項(xiàng)目的號(hào)召,設(shè)計(jì)一種具有較高可靠性,界面友好的航站樓環(huán)境數(shù)據(jù)集中監(jiān)測(cè)平臺(tái),來(lái)實(shí)時(shí)監(jiān)測(cè)和存儲(chǔ)航站樓的環(huán)境數(shù)據(jù)。該系統(tǒng)的軟件以Visual Studio.NET為平臺(tái),運(yùn)用C#編程語(yǔ)言通過(guò)TCP/IP遠(yuǎn)程網(wǎng)絡(luò)通信協(xié)議結(jié)合GPRS移動(dòng)網(wǎng)絡(luò),實(shí)現(xiàn)上位機(jī)對(duì)多臺(tái)在不同采樣現(xiàn)場(chǎng)采集設(shè)備的遠(yuǎn)程數(shù)據(jù)交流,遠(yuǎn)程指令控制,數(shù)據(jù)圖表繪制和歷史等功能。硬件部分以STM32微控制器為核心,集高溫度和高精度CO2濃度采集模塊,數(shù)據(jù)存儲(chǔ)模塊,GPRS遠(yuǎn)程通信模塊為一體構(gòu)成智能化環(huán)境數(shù)據(jù)采集節(jié)點(diǎn)。將采集節(jié)點(diǎn)布置于天津?yàn)I海國(guó)際機(jī)場(chǎng)T2航站樓值機(jī)大廳進(jìn)行采集實(shí)驗(yàn),證明了該監(jiān)測(cè)系統(tǒng)具有較高的精確性和可靠性。
關(guān)鍵詞: 航站樓; 環(huán)境參數(shù); 遠(yuǎn)程采集; 指令控制; 數(shù)據(jù)查詢; STM32微控制器
中圖分類號(hào): TN931+.3?34; TP277 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 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
國(guó)家“十三五”對(duì)于機(jī)場(chǎng)建設(shè)規(guī)劃指出,我國(guó)在“十三五”末,將建成干線機(jī)場(chǎng)260個(gè),通用機(jī)場(chǎng)500個(gè)以上[1]。隨著我國(guó)機(jī)場(chǎng)數(shù)量及旅客流量增多,機(jī)場(chǎng)的能源負(fù)荷將會(huì)日益增大。其中,航站樓的空調(diào)和通風(fēng)設(shè)施將會(huì)在機(jī)場(chǎng)能源消耗中占有很重要的比例[2],而通風(fēng)負(fù)荷將占到整個(gè)空調(diào)負(fù)荷的20%以上。且目前航站樓普遍存在新風(fēng)調(diào)節(jié)力度過(guò)大或者不足的情況。航站樓的通風(fēng)系統(tǒng)節(jié)能潛力巨大。所以,需要建立一個(gè)具備集遠(yuǎn)程數(shù)據(jù)采集網(wǎng)絡(luò)、遠(yuǎn)程通信、上位機(jī)客戶端和數(shù)據(jù)庫(kù)為一體的航站樓環(huán)境數(shù)據(jù)集中監(jiān)測(cè)平臺(tái),對(duì)航站樓不同位置的CO2濃度、溫度進(jìn)行測(cè)定,從而為評(píng)估航站樓不同區(qū)域的候機(jī)環(huán)境通風(fēng)情況打下基礎(chǔ)。
整套系統(tǒng)平臺(tái)由PC端數(shù)據(jù)監(jiān)測(cè)軟件、環(huán)境數(shù)據(jù)庫(kù)和放置于航站樓不同位置的可移動(dòng)智能環(huán)境數(shù)據(jù)采集節(jié)點(diǎn)構(gòu)成。上下位機(jī)主要依靠基于GPRS模塊的TCP/IP網(wǎng)絡(luò)通信協(xié)議結(jié)合VPN路由通過(guò)外網(wǎng)映射端口來(lái)進(jìn)行數(shù)據(jù)信息和指令交流。來(lái)自不同采集設(shè)備的大氣數(shù)據(jù)信息能實(shí)時(shí)地反映在PC端監(jiān)控軟件的動(dòng)態(tài)曲線趨勢(shì)圖上。與此同時(shí),PC端軟件能對(duì)這些所采集到的數(shù)據(jù)在后臺(tái)SQL Server數(shù)據(jù)庫(kù)中進(jìn)行區(qū)分存儲(chǔ),在上位機(jī)軟件中可對(duì)每個(gè)現(xiàn)場(chǎng)采集設(shè)備指定日期內(nèi)的數(shù)據(jù)進(jìn)行查詢和趨勢(shì)圖的繪制,便于日后對(duì)航站樓內(nèi)多區(qū)域環(huán)境數(shù)據(jù)的變化及調(diào)控措施進(jìn)行深入研究。系統(tǒng)平臺(tái)結(jié)構(gòu)如圖1所示。
環(huán)境數(shù)據(jù)采集節(jié)點(diǎn)主要布設(shè)于航站樓人流聚集區(qū)域,如值機(jī)大廳各值機(jī)環(huán)島,候機(jī)樓等區(qū)域,用于采集這些區(qū)域的CO2濃度和溫度變化情況。將數(shù)據(jù)傳輸至上位機(jī),與此同時(shí)也將時(shí)間和該時(shí)間的環(huán)境數(shù)據(jù)存儲(chǔ)至E2PROM存儲(chǔ)芯片中。采集節(jié)點(diǎn)配備有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存儲(chǔ)芯片等部分組成。
2) CO2傳感器采用英國(guó)COZIR? ambient低功耗高精度CO2傳感器,功耗僅為3.5 mW,3.3 V供電,測(cè)量范圍0~5 000 ppm,精度為±50 ppm +/-3%FS。溫度傳感器使用DS18B20溫度傳感器,在 -10~85 ℃范圍內(nèi)精度為±0.5 ℃。
3) 采集節(jié)點(diǎn)主控板采用TP4055芯片充電電路,可在外接電源時(shí)為整個(gè)采集設(shè)備供電,與此同時(shí)為采集節(jié)點(diǎn)的鋰電池充電。外接電源和電池切換電路可以確保在斷開(kāi)外接電源時(shí)自動(dòng)切換到鋰電池供電。
4) 采集節(jié)點(diǎn)與上位機(jī)的信息交互主要依靠SIM900A GPRS模塊進(jìn)行通信。該模塊內(nèi)部采用PPP網(wǎng)絡(luò)協(xié)議,提供應(yīng)用層AT指令對(duì)GPRS模塊進(jìn)行配置,通過(guò)撥號(hào)上網(wǎng)的方式遠(yuǎn)程PC服務(wù)器端進(jìn)行TCP連接[3?4]。 在采集節(jié)點(diǎn)未和上位機(jī)建立連接時(shí),可用移動(dòng)電話向采集器以短信的形式向特定編號(hào)的采集器發(fā)送請(qǐng)求連接信號(hào),采集節(jié)點(diǎn)收到短信后將會(huì)向上位機(jī)連續(xù)進(jìn)行3次握手連接,若連接上,則數(shù)據(jù)通道建立。上位機(jī)即可與采集節(jié)點(diǎn)進(jìn)行數(shù)據(jù)或命令的交互,若3次連接失敗,那么采集器將暫時(shí)終端握手連接請(qǐng)求,保持原來(lái)的數(shù)據(jù)采集工作。在建立連接后,若長(zhǎng)時(shí)間無(wú)信息交互TCP通信將會(huì)斷開(kāi),故下位機(jī)設(shè)置了每30 s發(fā)送一次心跳包給上位機(jī)端,以確保連接穩(wěn)定。若在數(shù)據(jù)傳輸過(guò)程中由于其他外在原因?qū)е戮W(wǎng)絡(luò)連接中斷,采集節(jié)點(diǎn)也能在心跳包發(fā)送失敗后向上位機(jī)進(jìn)行3次恢復(fù)連接請(qǐng)求。也可通過(guò)移動(dòng)電話以短信的形式向指定的采集設(shè)備發(fā)送“RELINK”將設(shè)備遠(yuǎn)程復(fù)位。
5) 在采集節(jié)點(diǎn)設(shè)計(jì)中選用AT24C1024 E2PROM存儲(chǔ)芯片,用于存儲(chǔ)采集到的環(huán)境數(shù)據(jù),當(dāng)與上位機(jī)建立連接后,上位機(jī)軟件可通過(guò)發(fā)送指令,將E2PROM中的數(shù)據(jù)全部讀取,或者將上位機(jī)發(fā)送過(guò)來(lái)的日期范圍指令進(jìn)行轉(zhuǎn)碼,見(jiàn)表1,利用時(shí)間段信息,在E2PROM中進(jìn)行尋址,開(kāi)始發(fā)送指定時(shí)間段內(nèi)所存儲(chǔ)的數(shù)據(jù)。
上位機(jī)軟件以Visual Studio.NET為平臺(tái)利用winForm窗體環(huán)境來(lái)進(jìn)行對(duì)各項(xiàng)功能及軟件界面的開(kāi)發(fā),主體功能主要分為實(shí)時(shí)數(shù)據(jù)接收?qǐng)D和歷史數(shù)據(jù)查詢兩大部分,如圖3所示。
3.1 建立通信
采集節(jié)點(diǎn)的GPRS模塊是利用移動(dòng)通信運(yùn)營(yíng)商分配的公網(wǎng)IP地址,而PC端使用的是內(nèi)網(wǎng)IP,所以設(shè)置一臺(tái)VPN服務(wù)器[5],將上位機(jī)端的IP地址穿透至公網(wǎng)IP,使采集節(jié)點(diǎn)能與上位機(jī)建立通信。主要運(yùn)用基于TCP/IP協(xié)議的Socket套接字通信方式,將上位機(jī)設(shè)置為Socket服務(wù)器,采集節(jié)點(diǎn)設(shè)置為Socket客戶端,上位機(jī)點(diǎn)擊“開(kāi)始接收”按鈕后,即打開(kāi)了Socket服務(wù)器,并監(jiān)聽(tīng)所有采集節(jié)點(diǎn)的連接請(qǐng)求。在接收到某個(gè)下位機(jī)的握手連接信號(hào)后,上位機(jī)將通過(guò).Net平臺(tái)下的IPEndPoint類中綁定客戶端IP的方法來(lái)獲取該采集設(shè)備的IP地址和端口號(hào),并將其存入IP隊(duì)列中。然后利用.Net的多線程(Thread)[6?7]方法為該通信通道分配一個(gè)新線程,該方法可實(shí)現(xiàn)上位機(jī)與各臺(tái)設(shè)備的信息交互完全由相互獨(dú)立的線程通道進(jìn)行,保證了連接的可靠性和穩(wěn)定性,且在采集節(jié)點(diǎn)連接斷開(kāi)以后Thread將會(huì)自動(dòng)被釋放,大大節(jié)省了上位機(jī)的資源。
在建立通信后,上下位機(jī)通過(guò)數(shù)據(jù)流(stream)的方式進(jìn)行通信。在有數(shù)據(jù)交互時(shí),上位機(jī)和下位機(jī)將索要發(fā)送的信息發(fā)入數(shù)據(jù)流中,即可進(jìn)行數(shù)據(jù)傳輸和下位機(jī)的相關(guān)應(yīng)答通信;在沒(méi)有數(shù)據(jù)交流時(shí)stream將會(huì)釋放,節(jié)省上位機(jī)資源。上位機(jī)軟件在每接收一條數(shù)據(jù)時(shí)會(huì)遍歷檢測(cè)一次存放IP號(hào)的隊(duì)列,用Socket類中poll方法來(lái)監(jiān)測(cè)與該設(shè)備的通斷,若已斷開(kāi),那么IP隊(duì)列將斷開(kāi)的設(shè)備刪除,同時(shí)在線設(shè)備列表中該設(shè)備號(hào)也將刪除。
3.2 信息處理
上位機(jī)通過(guò)實(shí)時(shí)數(shù)據(jù)接收界面或者歷史數(shù)據(jù)接收界面上的下拉框(combo box控件)來(lái)選擇所需查看或者操作的設(shè)備,在實(shí)時(shí)數(shù)據(jù)接收界面下,當(dāng)選中下拉框的設(shè)備編號(hào)后,上位機(jī)鎖定該設(shè)備所對(duì)應(yīng)的IP地址進(jìn)行信息交互。具體的交互指令格式和作用如表1所示。
1) 上位機(jī)能通過(guò)指令接收或者刪除下位機(jī)E2PROM存儲(chǔ)芯片中所有存儲(chǔ)的時(shí)間,溫度和CO2濃度數(shù)據(jù),也可通過(guò)日歷表(Canlendar)控件輸入日期區(qū)間,程序?qū)r(shí)間段區(qū)間組成時(shí)間段指令來(lái)發(fā)送給對(duì)應(yīng)的采集設(shè)備,采集設(shè)備將在E2PROM中以日期索引的方式來(lái)尋找符合條件的數(shù)據(jù),并開(kāi)始向上位機(jī)發(fā)送該段時(shí)間的環(huán)境數(shù)據(jù)。下位機(jī)對(duì)于上位機(jī)的指令可進(jìn)行應(yīng)答。如表2所示。
2) PC端使用Visual Studio.NET平臺(tái)對(duì)于SQL Server的字符串指令編程控制模式[8]。上位機(jī)軟件通過(guò)數(shù)據(jù)頭區(qū)分?jǐn)?shù)據(jù)來(lái)源設(shè)備號(hào),然后在SQL Server庫(kù)的表名中尋找對(duì)應(yīng)的設(shè)備存儲(chǔ)列表將數(shù)據(jù)存入,具體過(guò)程如圖4所示。
3) 利用Visual Studio.NET平臺(tái)下開(kāi)源的ZedGraph控件組進(jìn)行CO2濃度和溫度變化曲線的繪制。該控件以讀取數(shù)組的形式進(jìn)行繪圖,上位機(jī)將接收到的數(shù)據(jù)字符串進(jìn)行處理后存入ZedGraph的畫圖數(shù)組中,程序再將數(shù)組中的數(shù)值更新到圖表中。ZedGraph控件具有靈活的數(shù)據(jù)量自適應(yīng)功能,能夠隨著數(shù)據(jù)量逐漸變多從而將時(shí)間軸壓縮,便于觀察整體趨勢(shì)[9?10],用戶也可以通過(guò)鼠標(biāo)自由地選取將深入分析的曲線趨勢(shì)段進(jìn)行放大。
4) 歷史數(shù)據(jù)的查詢主要是基于SQL數(shù)據(jù)庫(kù)的查詢,對(duì)已接收到的上位機(jī)服務(wù)器端的數(shù)據(jù)進(jìn)行讀取,數(shù)據(jù)庫(kù)中數(shù)據(jù)表的格式如圖5所示,其中時(shí)間設(shè)為數(shù)據(jù)表的主鍵,這樣可以防止時(shí)間不按照先后順序排列,也可避免重復(fù)錄入。
由于考慮到設(shè)備的可移動(dòng)性,在更換設(shè)備采集方位后,在歷史數(shù)據(jù)查詢狀態(tài)下,可將設(shè)備所對(duì)應(yīng)的數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行導(dǎo)出和刪除操作。其中,導(dǎo)出操作利用dataGridView控件以表格形式將對(duì)應(yīng)設(shè)備數(shù)據(jù)庫(kù)中的數(shù)據(jù)間接按用戶所選路徑導(dǎo)出存放,然后利用Visual Studio.NET平臺(tái)下的Excel操作類將數(shù)據(jù)以Excel表格的形式輸出。
4.1 實(shí)時(shí)接收模式實(shí)驗(yàn)結(jié)果
選取兩臺(tái)采集節(jié)點(diǎn)設(shè)備分別放置于天津?yàn)I海國(guó)際機(jī)場(chǎng)T2航站樓E和F環(huán)島的值機(jī)區(qū)域中,PC端服務(wù)器設(shè)置于校內(nèi)實(shí)驗(yàn)室中,進(jìn)行數(shù)據(jù)接收測(cè)試。首先用移動(dòng)電話向這兩臺(tái)采集設(shè)備發(fā)送“LINKME”指令,待在線設(shè)備列表框中出現(xiàn)這兩臺(tái)采集節(jié)點(diǎn)的設(shè)備號(hào)后,分別設(shè)定兩臺(tái)采集節(jié)點(diǎn)數(shù)據(jù)接收周期為每次30 s(短周期采樣)。接收情況如圖6所示。上位機(jī)數(shù)據(jù)接收穩(wěn)定,無(wú)卡頓或死機(jī)現(xiàn)象,實(shí)時(shí)性較好。趨勢(shì)圖可實(shí)時(shí)反映航站樓兩個(gè)值機(jī)環(huán)島的CO2濃度和溫度。從曲線圖可看出航站樓E,F(xiàn)兩個(gè)環(huán)島的溫度較為平穩(wěn),CO2濃度卻有明顯的變化。
4.2 歷史數(shù)據(jù)查詢實(shí)驗(yàn)結(jié)果
在歷史數(shù)據(jù)模式下查閱這兩臺(tái)設(shè)備所對(duì)應(yīng)的數(shù)據(jù)庫(kù)中所存儲(chǔ)的24 h下的歷史數(shù)據(jù),按每次30 s的采集頻率,應(yīng)測(cè)2 880個(gè)數(shù)據(jù),求得丟包率如表3所示。2臺(tái)采集設(shè)備丟包率分別為6.1%和6.5%,可見(jiàn)丟包率較小,對(duì)于研究環(huán)境數(shù)據(jù)的變化曲線的影響較小,故設(shè)備的數(shù)據(jù)采集和傳輸較為可靠。
本系統(tǒng)實(shí)現(xiàn)了航站樓內(nèi)多點(diǎn)CO2濃度、溫度的采集,更可以對(duì)多個(gè)航站樓進(jìn)行環(huán)境數(shù)據(jù)采集。結(jié)合豐富的上下位機(jī)操作指令,有效地保證了數(shù)據(jù)穩(wěn)定可靠的接收與存儲(chǔ)。相比于傳統(tǒng)的采集平臺(tái),其有更高的數(shù)據(jù)采集完整性。上位機(jī)友好的人機(jī)界面達(dá)到了較好的多現(xiàn)場(chǎng)采集設(shè)備遠(yuǎn)程可控性。后臺(tái)數(shù)據(jù)庫(kù)對(duì)所采集到的數(shù)據(jù)進(jìn)行了高效的管理。測(cè)試結(jié)果表明,整套平臺(tái)操作簡(jiǎn)便,運(yùn)行穩(wěn)定可靠,適用于對(duì)諸如航站樓等,人流量大,客流具有時(shí)間性聚集的場(chǎng)所進(jìn)行環(huán)境評(píng)估,從而在現(xiàn)有的空調(diào)通風(fēng)設(shè)備的基礎(chǔ)上制定更加合理的環(huán)境參數(shù)調(diào)節(jié)策略,達(dá)到節(jié)省能源的目的,具有較高的社會(huì)推廣價(jià)值。
參考文獻(xiàn)
[1] 陸二佳.民航“十三五”規(guī)劃解讀:全面夯實(shí)民航強(qiáng)國(guó)建設(shè)基礎(chǔ)[N].中國(guó)民航報(bào),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終端撥號(hào)上網(wǎng)連接認(rèn)證注冊(cè)全過(guò)程研究[J].計(jì)算機(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] 金劍鋒,曹開(kāi)雄,陳建林.簡(jiǎn)易的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#實(shí)現(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é)報(bào),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ù)庫(kù)操作中的常用C~#語(yǔ)句[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高效開(kāi)發(fā)數(shù)據(jù)圖表[J].電腦編程技巧與維護(hù),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] 于國(guó)卿,李趁趁,趙雨森.ZedGraph控件在水閘監(jiān)測(cè)系統(tǒng)開(kāi)發(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.