張 波,尚俊娜
(杭州電子科技大學(xué) 通信工程學(xué)院,浙江 杭州 310018)
近年來,滑坡等地質(zhì)災(zāi)害頻繁發(fā)生,對我國影響巨大。所以,對于滑坡等地質(zhì)災(zāi)害進(jìn)行實時監(jiān)測非常重要。滑坡監(jiān)測的方法有很多,如InSAR法、宏觀地質(zhì)監(jiān)測法等[1]。但是,這些方法實現(xiàn)成本高,且不能實時反映滑坡變化情況,所以實用性并不高。目前,廣泛應(yīng)用于滑坡監(jiān)測的方法是GPS滑坡監(jiān)測。經(jīng)過多年的發(fā)展,這種方法已經(jīng)發(fā)展到RTK(Real-Time Kinematic,實時動態(tài))測量模式,不僅可以實時反映滑坡監(jiān)測情況,而且測量精度可以達(dá)到厘米級[2-4]。
因為滑坡等環(huán)境十分復(fù)雜,所以在GPS滑坡監(jiān)測中建立一套完整的數(shù)據(jù)傳輸系統(tǒng)非常重要。相對于有線數(shù)據(jù)傳輸方式,無線數(shù)據(jù)傳輸方式更適合滑坡這種較復(fù)雜的環(huán)境。無線傳輸技術(shù)主要有ZigBee、藍(lán)牙、WiFi等[5],但這些技術(shù)傳輸距離近,不適合滑坡監(jiān)測。因為滑坡監(jiān)測中流動站分布范圍廣,需要上公里的傳輸距離。為此,本文結(jié)合LoRa和GPRS兩種遠(yuǎn)距離無線數(shù)據(jù)傳輸方式,設(shè)計了一種可應(yīng)用于GPS滑坡監(jiān)測的數(shù)據(jù)傳輸系統(tǒng)。
數(shù)據(jù)傳輸系統(tǒng)總體結(jié)構(gòu)如圖1所示,由參考站、流動站和服務(wù)器三部分組成。在參考站和流動站上都放著GPS測姿儀,二者同時接收衛(wèi)星信號。參考站的位置是已知的,所以可以結(jié)合接收到的衛(wèi)星信號得到差分信息,然后用LoRa模塊把差分信息發(fā)送給流動站。流動站解算差分信息,并結(jié)合該站觀測到的衛(wèi)星信號,可以得到流動站的位置[6],再通過GPRS模塊把位置數(shù)據(jù)發(fā)送給服務(wù)器。監(jiān)測中心可以通過服務(wù)器看到流動站的位置變化或參考站與流動站之間的基線長度變化,從而達(dá)到時刻監(jiān)測滑坡變化的目的。
圖1 數(shù)據(jù)傳輸系統(tǒng)總體結(jié)構(gòu)
參考站的硬件部分主要由電源、GPS測姿儀和LoRa模塊組成,如圖2所示。
圖2 參考站的硬件部分
GPS測姿儀采用的結(jié)構(gòu)是短基線形式,具體硬件結(jié)構(gòu)如圖3所示,主要由兩個接收天線、兩個相距很短的GPS接收模塊、ARM_LPC1788和慣性器件等組成[7]。
圖3 GPS測姿儀硬件結(jié)構(gòu)
LoRa模塊采用的是HC-12無線串口通信模塊,可以遠(yuǎn)距離無線傳輸,發(fā)射功率、信道等參數(shù)可自主選擇,內(nèi)置MCU。所以,只需通過串口就可以和外部設(shè)備通信。該模塊有四種串口透傳模式,不同模式之間不能互傳數(shù)據(jù),用戶可以根據(jù)實際情況選擇最優(yōu)模式。
流動站的硬件部分如圖4所示,主要包括LoRa模塊、GPS測姿儀和GPRS模塊。
圖4 流動站的硬件部分
GPRS模塊采用GA6模塊。該模塊支持語音通話、SMS短信和全球的GSM網(wǎng)絡(luò),下載時最大數(shù)據(jù)速率為85.6 kb/s,上傳時最大數(shù)據(jù)速率為42.8 kb/s。和GPS測姿儀中ARM芯片的串口連接后,可以通過對GA6模塊發(fā)送AT指令使用該模塊的TCP/IP協(xié)議棧。
RTK中流動站和基準(zhǔn)站之間的數(shù)據(jù)傳輸一般采用RTCM(Radio Technical Commission for Maritime services)差分標(biāo)準(zhǔn)格式。為了滿足日益增長的衛(wèi)星導(dǎo)航系統(tǒng)需求,該格式已經(jīng)發(fā)展到最新版RTCM 3.2[8-10]。
RTCM 3.2具體的電文框架結(jié)構(gòu)如表1所示。
表1 RTCM 3.2的電文框架結(jié)構(gòu)
差分信息解算可以分成以下6個步驟。
(1)定位引導(dǎo)字的位置,共8 bits,即11010011,用16進(jìn)制表示是0xD3。
(2)定位保留字的位置,共6 bits,即000000,用16進(jìn)制表示是0x00。
(3)定位消息長度的位置并解算出消息長度的數(shù)值,再將其轉(zhuǎn)換為十進(jìn)制數(shù),然后根據(jù)這個十進(jìn)制數(shù)可以得到第四個內(nèi)容的數(shù)據(jù)消息。以16進(jìn)制0x7B為例,0x7B對應(yīng)的十進(jìn)制為123,即數(shù)據(jù)消息的長度為123字節(jié),包括前面三個內(nèi)容和最后的CRC校驗碼共129字節(jié)。
(4)采用CRC校驗方法對這段數(shù)據(jù)進(jìn)行差錯校驗,如果校驗通過,則進(jìn)行下一步,不通過則放棄這段數(shù)據(jù)。
(5)定位前三個內(nèi)容的位置后,定位后續(xù)12 bits數(shù)據(jù)可以得到消息號。不同消息號代表不同內(nèi)容,如消息號1074代表MSM4。
(6)根據(jù)不同消息號在RTCM 3.2協(xié)議上找到該消息號對應(yīng)的具體數(shù)據(jù)格式進(jìn)行數(shù)據(jù)解析。例如,1074對應(yīng)的MSM4有消息頭、衛(wèi)星數(shù)據(jù)、信號數(shù)據(jù)三個部分,所以消息號1074需要按這三個部分進(jìn)行解碼。查閱相關(guān)文獻(xiàn)可知,目前對于RTCM 3.2中新增的MSM電文組研究不多,所以在此給出MSM4(消息號1074)的具體解碼流程,如圖5所示。
圖5 MSM4解碼流程
HC-12模塊有四種工作模式,不同工作模式下空閑工作電流、通信距離等參數(shù)也不一樣,只需要利用AT指令根據(jù)不同應(yīng)用場合改變不同工作模式即可[11]。它和單片機(jī)等設(shè)備相連,即可實現(xiàn)自動收發(fā),工作原理如圖6所示。
圖6 HC-12的工作原理
由圖6可知,單片機(jī)、MCU等設(shè)備向LoRa模塊發(fā)送串口數(shù)據(jù)。該模塊收到串口數(shù)據(jù)后會自動將數(shù)據(jù)發(fā)送給其他LoRa模塊,另一個LoRa模塊收到數(shù)據(jù)會將其發(fā)送給與它串口相連的單片機(jī)、MCU等設(shè)備。但需要注意,要想HC-12和單片機(jī)實現(xiàn)收發(fā),則需要二者的波特率一樣,否則在接收端可能會出現(xiàn)亂碼。
GPRS模塊數(shù)據(jù)傳輸有TCP和UDP兩種協(xié)議。TCP是有向連接協(xié)議,提供可靠的服務(wù),數(shù)據(jù)不容易丟失。UDP是無向連接協(xié)議,不能保證數(shù)據(jù)沒有丟失。所以,本系統(tǒng)采用的是TCP協(xié)議傳輸。
數(shù)據(jù)傳輸分為發(fā)送數(shù)據(jù)和接收數(shù)據(jù)兩種情況。在發(fā)送數(shù)據(jù)前,需要先經(jīng)過附著網(wǎng)絡(luò)、激活網(wǎng)絡(luò)、連接服務(wù)器三個步驟。這些步驟可以通過AT指令編程實現(xiàn)[12]。這三個步驟的AT指令和返回結(jié)果說明如表2所示。
表2 發(fā)送數(shù)據(jù)三步驟AT指令和返回結(jié)果說明
發(fā)送數(shù)據(jù)需要經(jīng)過這三步驟的原因是,附著網(wǎng)絡(luò)和激活網(wǎng)絡(luò)是為了連入和服務(wù)器一樣的網(wǎng)絡(luò)中,而連接服務(wù)器是為了找到這個服務(wù)器的IP地址和端口號。
在GA6模塊中,接收數(shù)據(jù)是自動接收,即只要有遠(yuǎn)端數(shù)據(jù)就自動接收。接收的數(shù)據(jù)主要來自兩個方面,一個是AT命令的響應(yīng),一個是服務(wù)器發(fā)來的。服務(wù)器接收數(shù)據(jù)的格式是+IPD(data length),其中+IPD為標(biāo)識,data length為來自服務(wù)器數(shù)據(jù)的長度。
本文根據(jù)上面提到的解碼流程和RTCM 3.2協(xié)議在MATLAB上編寫RTCM 3.2解碼程序。為了驗證該程序的正確性,以實測RTCM數(shù)據(jù)為例進(jìn)行驗證實驗。本文選取MSM4的1074電文進(jìn)行實驗分析,1074電文如下所示:
BC 4D 78 80 98 43 7D 6E 0E F7 EF DF 22 FD 63 9E 872F EF 90 AE F4 B9 AA 32 97 9A 30 31 FB 8E 9F 14 379E 0A 1E 77 EE FE 49 FB F9 2A 47 99 DF BE 67 FD 8684 20 1A 0D 47 8F E9 1E 3F CA 6E EE EE EE EE 80 18D9 84 B7 4B 75 12 C0 32 54 56 08 E2 B1 1B E3 D4 C7F6 82 CC 06 10 47 CC 8F D0 B2 96 77
因為上面的1074電文是16進(jìn)制表示,所以在解碼前需要將其轉(zhuǎn)換成二進(jìn)制數(shù)。解碼后的部分?jǐn)?shù)據(jù)信息,如圖7所示。
圖7 解碼后的1074數(shù)據(jù)信息
該電文在解碼過程中通過了CRC校驗,且解碼后的1074數(shù)據(jù)信息和接收機(jī)收到的RINEX文件上的觀測數(shù)據(jù)相同,證明了解碼算法的正確性。
測試流程如圖8所示。
圖8 測試流程
本次測試用筆記本電腦的串口調(diào)試助手給LoRa模塊發(fā)送數(shù)據(jù)來代替參考站GPS測姿儀,并用GPS測姿儀里的ARM_LPC1788取代流動站GPS測姿儀。
本測試的現(xiàn)場測試圖如圖9所示。
圖9 現(xiàn)場測試
串口調(diào)試助手發(fā)送界面如圖10所示。
圖10 串口調(diào)試助手發(fā)送界面
如圖11所示,服務(wù)器接收到的數(shù)據(jù)是‘hello,GA6 tcp test!’,和圖10中串口調(diào)試助手發(fā)送的數(shù)據(jù)一致無誤。
圖11 服務(wù)器接收到的數(shù)據(jù)
本文提出了一種基于LoRa和GPRS的滑坡監(jiān)測無線數(shù)據(jù)傳輸系統(tǒng),主要介紹了參考站、流動站的硬件組成和相關(guān)軟件編寫,并對傳輸?shù)牟罘中畔⑦M(jìn)行解算實驗,且實驗結(jié)果證明了解碼的正確性。數(shù)據(jù)傳輸系統(tǒng)測試結(jié)果證明,該系統(tǒng)運(yùn)行穩(wěn)定,誤碼率低。