, ,
(長江科學(xué)院 儀器與自動(dòng)化研究所,武漢 430010)
灌漿施工監(jiān)測物聯(lián)網(wǎng)技術(shù),是將物聯(lián)網(wǎng)這一新興技術(shù)與傳統(tǒng)的灌漿施工自動(dòng)化監(jiān)測技術(shù)相結(jié)合開發(fā)完成的一項(xiàng)水利水電工程管理實(shí)用技術(shù)成果,對(duì)提高我國基礎(chǔ)灌漿施工的過程監(jiān)測與信息管理水平具有重要意義。
水利水電工程的基礎(chǔ)灌漿施工一般位處偏遠(yuǎn)山區(qū),施工場地分散且移動(dòng)性較大,作業(yè)點(diǎn)多為巖基洞室環(huán)境,因此對(duì)于散布于施工現(xiàn)場的眾多傳感器和智能檢測設(shè)備,很難采用敷設(shè)導(dǎo)線或光纜的方式直接與上級(jí)節(jié)點(diǎn)信息處理設(shè)備相連。此外,洞室內(nèi)無公共無線通信信號(hào)覆蓋,也不可能利用移動(dòng)通信方式建立這種節(jié)點(diǎn)間聯(lián)系。針對(duì)上述特點(diǎn),灌漿施工監(jiān)測物聯(lián)網(wǎng)采用了ZigBee局域無線網(wǎng)絡(luò)技術(shù),實(shí)現(xiàn)施工現(xiàn)場智能設(shè)備的互連,局域網(wǎng)信號(hào)通過無線多跳接力方式傳輸?shù)绞┕ざ词彝?有手機(jī)信號(hào)覆蓋區(qū)域),傳入數(shù)據(jù)中轉(zhuǎn)發(fā)射設(shè)備DTU(Data Transfer Unit)[1]。信號(hào)通過網(wǎng)絡(luò)協(xié)調(diào)發(fā)射器,以無線上網(wǎng)方式接入互聯(lián)網(wǎng),并最終傳送至工程管理中心的服務(wù)器,提供進(jìn)一步應(yīng)用。
灌漿施工監(jiān)測物聯(lián)網(wǎng)示意圖如圖1所示。物聯(lián)網(wǎng)現(xiàn)場數(shù)據(jù)首先通過ZigBee局域無線網(wǎng)絡(luò)收集后傳遞到數(shù)據(jù)DTU,然后再利用CDMA或GPRS等移動(dòng)通信方式無線上網(wǎng),將數(shù)據(jù)發(fā)送到Internet。其間數(shù)據(jù)通過了ZigBee無線網(wǎng)絡(luò)與公網(wǎng)的接力傳輸,如何處理好ZigBee無線網(wǎng)絡(luò)與公網(wǎng)數(shù)據(jù)傳輸?shù)目煽啃院蛥f(xié)同性,是制定該物聯(lián)網(wǎng)技術(shù)方案的關(guān)鍵所在。
圖1 灌漿施工監(jiān)測物聯(lián)網(wǎng)示意圖
影響灌漿施工監(jiān)測物聯(lián)網(wǎng)數(shù)據(jù)傳輸?shù)囊蛩刂饕幸韵?點(diǎn):
(1) 公網(wǎng)基站信號(hào)不穩(wěn)定,導(dǎo)致感知網(wǎng)數(shù)據(jù)上傳到GPRS,CDMA中不完整。水電站灌漿施工部位一般地處偏遠(yuǎn)山區(qū),由于網(wǎng)絡(luò)數(shù)據(jù)上傳受地形或基站公網(wǎng)信號(hào)不穩(wěn)定的影響,使得數(shù)據(jù)通訊失??;
(2) 數(shù)據(jù)幀在ZigBee無線網(wǎng)絡(luò)與公網(wǎng)數(shù)據(jù)傳輸存在協(xié)議間的變換問題,可能引起數(shù)據(jù)幀被分包。
對(duì)于上述第1個(gè)問題,即關(guān)于公網(wǎng)基站信號(hào)不穩(wěn)定影響數(shù)據(jù)傳輸穩(wěn)定性的問題,可以通過采用智能設(shè)備的非揮發(fā)數(shù)據(jù)存儲(chǔ)技術(shù)以及建立數(shù)據(jù)重發(fā)機(jī)制加以解決,另文討論。
ZigBee是一組基于IEEE802.15.4無線標(biāo)準(zhǔn)研制開發(fā)的,有關(guān)組網(wǎng)、安全和應(yīng)用軟件方面的技術(shù)標(biāo)準(zhǔn)[2]。ZigBee局域網(wǎng)數(shù)據(jù)傳輸為MAC/PHY協(xié)議,公網(wǎng)數(shù)據(jù)傳輸為TCP/IP協(xié)議。由于TCP/IP協(xié)議的分包特性,可能引起上傳的數(shù)據(jù)幀被分包,若服務(wù)器應(yīng)用程序處理不當(dāng)會(huì)導(dǎo)致數(shù)據(jù)接收出錯(cuò)。以下針對(duì)第2個(gè)問題展開論述。
TCP/IP協(xié)議規(guī)定:當(dāng)接受數(shù)據(jù)幀長度>1 460字節(jié)時(shí),該幀被分包處理[3]。
例如:某個(gè)感知層數(shù)據(jù)DTU傳遞的數(shù)據(jù)幀的格式如圖2所示。
圖2 DTU數(shù)據(jù)幀格式
DTU數(shù)據(jù)幀在網(wǎng)絡(luò)層中作為TCP/IP報(bào)文的上層數(shù)據(jù),TCP/IP報(bào)文數(shù)據(jù)結(jié)構(gòu)如圖3所示。
圖3 TCP/IP報(bào)文格式
當(dāng)DTU數(shù)據(jù)幀長度<1 460字節(jié)時(shí),整幀數(shù)據(jù)填入到TCP/IP報(bào)文的上層數(shù)據(jù)中。
當(dāng)DTU數(shù)據(jù)幀長度>1 460字節(jié)時(shí),該幀被TCP/IP分包處理,計(jì)算機(jī)服務(wù)器必須有相應(yīng)的數(shù)據(jù)幀還原處理程序,否則將造成數(shù)據(jù)混亂。
(1) 采用短數(shù)據(jù)幀傳輸方式。短數(shù)據(jù)幀傳輸方式能夠降低數(shù)據(jù)幀被TCP/IP協(xié)議分包的幾率。
(2) 采用輪詢數(shù)據(jù)DTU的方式。計(jì)算機(jī)通過服務(wù)器端口主動(dòng)向數(shù)據(jù)DTU請(qǐng)求數(shù)據(jù),該時(shí)段僅有1臺(tái)數(shù)據(jù)DTU向服務(wù)器發(fā)送數(shù)據(jù),但是如果服務(wù)器管理的DTU數(shù)量多,同時(shí)對(duì)數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性要求高時(shí),此方案受應(yīng)用條件制約,數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性難以保證。
(3) 采用多緩沖區(qū)的數(shù)據(jù)接收方案。此方案通過數(shù)據(jù)DTU注冊(cè)到服務(wù)器端口的動(dòng)態(tài)IP,服務(wù)器動(dòng)態(tài)開辟多個(gè)緩沖區(qū),每個(gè)緩沖區(qū)只接收與之對(duì)應(yīng)的動(dòng)態(tài)IP的數(shù)據(jù),使得被分包的數(shù)據(jù)在緩沖區(qū)自動(dòng)還原。
多緩沖區(qū)數(shù)據(jù)接收方案如圖4所示。
圖4 多緩沖區(qū)數(shù)據(jù)接收方案示意圖
計(jì)算機(jī)服務(wù)器在數(shù)據(jù)庫中根據(jù)數(shù)據(jù)DTU注冊(cè)的動(dòng)態(tài)IP信息,形成動(dòng)態(tài)IP注冊(cè)表,創(chuàng)建動(dòng)態(tài)緩沖區(qū)和與IP注冊(cè)表信息相對(duì)應(yīng)的多個(gè)數(shù)據(jù)緩沖器。當(dāng)有新的動(dòng)態(tài)IP注冊(cè)信息時(shí),開辟新的數(shù)據(jù)緩沖器;當(dāng)某動(dòng)態(tài)IP消亡時(shí),其數(shù)據(jù)緩沖器同時(shí)回收。服務(wù)器從網(wǎng)絡(luò)中讀取數(shù)據(jù)包,并根據(jù)數(shù)據(jù)來源的動(dòng)態(tài)IP進(jìn)行分揀,存入不同的數(shù)據(jù)緩沖器中;服務(wù)器通過掃描每個(gè)數(shù)據(jù)緩沖器,獲得目標(biāo)數(shù)據(jù),存入目標(biāo)數(shù)據(jù)庫。
數(shù)據(jù)無線傳輸過程中還應(yīng)考慮2種可能發(fā)生的異常情況:一是數(shù)據(jù)DTU意外掉電;二是數(shù)據(jù)DTU掉線。這2種情況均會(huì)引起DTU在服務(wù)器上重新注冊(cè),由于IP是動(dòng)態(tài)分配的,當(dāng)注冊(cè)信息會(huì)發(fā)生改變時(shí),原緩沖區(qū)將被服務(wù)器自動(dòng)回收,已接收的歷史數(shù)據(jù)也將完全丟失。為此,筆者設(shè)計(jì)了數(shù)據(jù)DTU設(shè)備軟件判斷重發(fā)應(yīng)用程序,用于解決此問題。
數(shù)據(jù)傳輸測試條件分別為單臺(tái)DTU和多臺(tái)DTU上傳數(shù)據(jù),其中多臺(tái)DTU上傳數(shù)據(jù)包括未采用多緩沖區(qū)和采用多緩沖區(qū)的數(shù)據(jù)接收模式。3種情況的測試記錄及數(shù)據(jù)分析如下。
3.2.1 單臺(tái)DTU上傳數(shù)據(jù)方案測試
每個(gè)數(shù)據(jù)包4 157字節(jié)(B),發(fā)送時(shí)間間隔為200 ms,測試記錄見表1。
在單臺(tái)DTU上傳模式下,每包數(shù)據(jù)長度雖然超過1 460字節(jié),但是由于數(shù)據(jù)源是單點(diǎn),即使傳輸數(shù)據(jù)出現(xiàn)分包,也能達(dá)到數(shù)據(jù)傳輸成功率為100%。故該方案可適用于單臺(tái)DTU組網(wǎng)應(yīng)用。
表1 單臺(tái)DTU無緩沖區(qū)上傳數(shù)據(jù)測試記錄
3.2.2 無緩沖區(qū)數(shù)據(jù)接收模式的多臺(tái)DTU上傳數(shù)據(jù)方案測試
每個(gè)數(shù)據(jù)包4 157字節(jié)(B),GPRS1和GPRS2同時(shí)以200 ms的時(shí)間間隔發(fā)送數(shù)據(jù),測試記錄見表2。
表2 無緩沖區(qū)多臺(tái)DTU上傳數(shù)據(jù)GPRS測試記錄
分析表2數(shù)據(jù)可知,在無緩沖區(qū)2臺(tái)DTU上傳模式下,發(fā)生了丟失數(shù)據(jù)記錄,TCP/IP對(duì)數(shù)據(jù)的分包使得GPRSA丟失約1.1%,GPRSB丟失約6.6%,說明數(shù)據(jù)傳輸發(fā)生了異常。
3.2.3 采用多緩沖區(qū)數(shù)據(jù)接收模式的多臺(tái)DTU上傳數(shù)據(jù)方案測試
測試條件同3.2.2節(jié),測試記錄見表3。分析表3可知,在2個(gè)DTU上傳,采用多緩沖區(qū)接收模式下,數(shù)據(jù)傳輸成功率為100%。說明多緩沖區(qū)接收模式有效地解決了TCP/IP對(duì)數(shù)據(jù)的分包造成數(shù)據(jù)上傳出錯(cuò)的問題。在本文設(shè)計(jì)的灌漿施工監(jiān)測物聯(lián)網(wǎng)項(xiàng)目中,綜合考慮系統(tǒng)規(guī)模較大和數(shù)據(jù)傳輸可靠性要求較高的特點(diǎn),決定采用此方案。
表3 多緩沖區(qū)多臺(tái)DTU上傳數(shù)據(jù)測試記錄
本文介紹了將物聯(lián)網(wǎng)技術(shù)應(yīng)用于灌漿施工監(jiān)測項(xiàng)目,提出了2類無線網(wǎng)絡(luò)進(jìn)行接力數(shù)據(jù)傳輸時(shí)產(chǎn)生的數(shù)據(jù)協(xié)同問題,并做了各種方案的相關(guān)測試,驗(yàn)證了采用多緩沖區(qū)的數(shù)據(jù)接收模式設(shè)計(jì)思路的可行性,找到了該問題的解決方法。目前,該項(xiàng)技術(shù)成果已成功應(yīng)用于德厚、溪洛渡、功果橋水電站灌漿施工監(jiān)測物聯(lián)網(wǎng)項(xiàng)目,取得了很好的應(yīng)用效果。
參考文獻(xiàn):
[1] 王 寧.GPRS DTU在能源計(jì)量數(shù)據(jù)在線采集中的應(yīng)用[J].中國計(jì)量,2013,(12):80-82.(WANG Ning.Application of GPRS DTU in the Energy Metering Data Online Collection[J]. China Measurement, 2013, (12): 80-82.(in Chinese))
[2] 任 藝.基于CC2530的ZigBee無線網(wǎng)絡(luò)設(shè)計(jì)與應(yīng)用[J]. 聲學(xué)與電子工程,2012,(3):46-48. (REN Yi. CC2530 ZigBee Wireless Network Design and Application [J]. Acoustic and Electronics Engineering, 2012, (3): 46-48. (in Chinese))
[3] 馮翠麗.物聯(lián)網(wǎng)應(yīng)用中TCP協(xié)議的簡化研究[J]. 通化師范學(xué)院學(xué)報(bào),2012,(2):24-27. (FENG Cui-li. Simplified TCP Protocol in the Application of Internet of Things [J]. Journal of Tonghua Normal University, 2012, (2): 24-27. (in Chinese))