999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WinInet的NTRIP終端設計*

2010-07-18 03:50:02屈新岳王鵬飛
全球定位系統 2010年2期

史 峰,屈新岳,李 鐵,王鵬飛,王 東

(中國人民解放軍91550部隊93分隊,遼寧 大連116023)

0 引 言

隨著虛擬參考站(VRS)技術的廣泛應用和不斷發展,為適應各種不同場合的需要,移動定位用戶對于終端的個性化需求也在不斷提高。在通用的智能終端,例如:PDA、智能手機等平臺上結合GPS接收機與VRS網絡,實現高精度的移動定位已經成為一種發展方向。而目前的大多數VRS移動終端都是由GPS硬件廠商直接提供,這些移動終端都是根據專業需要定制的。它具有功能強大、連接可靠的特點,但是價格一般比較昂貴,通用性不強,可開發性不高。

由于VRS系統中進行差分數據傳輸的NTRIP協議是基于 HTTP協議的,因此,可以采用HTTP協議的開發手段進行VRS終端的開發,這就為設計實現通用平臺上的NTRIP終端提供了基礎。

1 虛擬參考站技術與NTRIP協議

1.1 虛擬參考站技術的基本原理

虛擬參考站技術(VRS)的基本原理是:在三個或更多參考站(相距70~100 km)覆蓋范圍內,流動站首先進行單點定位,在其真實位置附近確定一個大致坐標(偏差可以從幾米到上百米),然后把該坐標發送至VRS數據處理中心;同時各參考站也把各自的載波相位測量觀測值發送到數據處理中心[1]。VRS數據處理中心根據這些數據計算出各參考站的各種偏差改正,如電離層、對流層偏差、軌道偏差、多路徑效應等;結合流動站發送來的概略坐標利用網絡改正數內插方法進行內插,得出流動站概略坐標處的相應誤差改正數,進而在此概略坐標處虛擬一個參考站,并利用多個參考站上的實際觀測數據計算出該虛擬參考站上的虛擬觀測值。由于虛擬參考站的位置就是由流動站的單點定位而得,它們之間距離很短,因此流動站可以和虛擬參考站間形成超短基線,通過站際星際二次差分,可以對流動站上的各種偏差、多路徑效應以及接收機噪音等進行很好的消除和減弱,從而大大提高流動站的定位精度和可靠性[2]。從VRS工作基本原理中可以看出,VRS系統一般由以下幾個部分組成:持續運行的參考站網絡、數據處理與控制中心、移動定位用戶以及數據鏈路。

1.2 NTRIP協議以及NTRIP客戶接入

作為VRS用戶而言最為關心的是如何接入VRS網絡,獲取差分數據以便使用網絡所提供的服務。目前VRS系統在所使用的差分數據傳輸協議主要是基于HTTP協議的NTRIP協議(Networked Transport of RTCM via Internet Protocol,NTRIP),該協議具有結構開放、開發便捷的特點,自2003年1月推出以來已獲得廣大GNSS硬件廠商和用戶的廣泛支持。NTRIP協議通過三個部分實現:NTRIP客戶、NTRIP服務器以及NTRIP播發器,其中 NTRIP播發器是真正的HTTP服務器,負責管理和接收來自NTRIP服務器的數據并響應NTRIP客戶的請求,發送GNSS信息,而NTRIP客戶和NTRIP服務器均為HTTP客戶,NTRIP客戶是GNSS數據的最終使用者[3]。一個完整的NTRIP系統除了上述的三個HTTP部分外,還包括NTRIP數據源,用來持續產生GNSS數據,每一個NTRIP數據源都對應一個NTRIP服務器,并由后者將產生的數據發送到NTRIP播發器,利用NTRIP服務器將NTRIP數據源與其它NTRIP成員之間隔開,可以保護數據源,提高數據利用率。一個NTRIP系統各部分之間的連接都是建立在TCP/IP基礎上,因此,可以通過TCP-Socket方便地監視通訊狀態,利用事件觸發的方式進行掉線后的自動重新連接。

終端接入NTRIP網絡的過程與接入標準的HTTP網絡的過程完全類似,NTRIP終端可以采用HTTP協議的GET命令按照NTRIP服務器的名稱以及對應的密碼發送請求,NTRIP播發器收到請求后,就會把用戶需要的差分數據流不斷的發送過來,用戶根據差分數據可以實現高精度的實時差分定位。

2 NTRIP終端的設計與實現

2.1 開發平臺以及設計思路

為了便于應用開發,選擇運行Windows Mobile 5.0(WM 5.0)的PDA、一臺具有RTK功能的GPS接收機以及可上網的藍牙手機作為NTRIP終端硬件平臺,其中PDA為終端的控制中心,主要工作過程為PDA通過藍牙和上網手機登陸VRS網絡獲得用戶當前位置可用的差分數據,再通過串口將差分數據寫入到GPS接收機中,從而實現RTK定位的功能。整個系統的設計結構圖如圖1所示。

圖1 NTRIP客戶端系統結構圖

從上面的工作過程可以看出,整個系統的關鍵在于開發一個嵌入式的NTRIP終端軟件以實現上述通信過程。本系統選擇Microsoft Visual Studio 2005結合Windows Mobile SDK作為軟件開發平臺,通過PDA H TTP編程實現NTRIP終端的主要功能。為了提高開發的效率和程序的可靠性,采用了 WinInet API作為工具進行開發。WinInet與“套接字+Internet協議”的終端開發方式比,不需要了解 Winsocket、TCP/IP和特定 Internet協議的細節,就可以編寫出高水平的終端程序[4]。利用WinInet進行H TTP開發的主要步驟如下:

1)調用InternetOpen函數,對HINTERNET句柄進行初始化,獲得位于根部的HINTERNET句柄,該句柄是建立HTTP會話的基礎。

2)利用1)中得到的HINTERNET句柄作為參數調用InernetConnect函數創建H TTP會話。該函數根據Internet站點或IP地址對連接進行初始化,并在原有HINTERNET句柄的基礎上產生一個新的HINTERNET類型的句柄。

3)調用Http OpenRequest函數HTTP請求句柄,該函數利用2)中返回HINTERNET句柄建立與特定站點的連接。這一步的作用就相當于標準H TTP協議中的GET命令。

4)調用HttpSendRequest函數以3)中返回的句柄為參數向HTTP服務器發送請求。

5)調用InternetRead File函數下載數據,或先使用 InternetQueryDataAvailable函數確定數據大小再下載。

6)調用函數關閉先前創建的所有句柄。

以上只是利用WinInet建立H TTP通信的一般過程,實際應用中往往要根據需要建立異步或者同步兩種類型的HTTP連接。同步HTTP連接是一種阻塞式的連接方式,這意味在進行連接的函數在未返回前,該函數所在的線程將一直處于等待狀態,這對于網絡連接不穩定,運算資源有限的PDA而言,如果進行大量的同步H TTP通信,顯然是不行的。異步連接就是一種非阻塞式的連接方式,在相應的通訊操作沒有返回前,線程的其他過程仍然可以正常運行,而一旦該操作返回,又馬上有相應的函數對其進行響應。在WM 5.0中,主要通過采用一定的回調機制來實現對各種異步事件的響應,達到身份驗證、快速有效獲取網絡數據等目的。針對NTRIP終端通信的不同階段,在具體的實現過程中靈活采用了不同的連接方式。

2.2 NTRIP終端的實現

終端的總體結構采用VC++基于對話框的程序框架,以標簽形式在主對話框上添加不同類型的子對話框作為用戶控制GPS接收機,連接NTRIP播發器交互界面,同時顯示定位結果、VRS連接狀況等信息的顯示界面。程序主要存在兩個通信過程:GPS接收機串口通信以及訪問VRS網絡的HTTP通信,前者通過嵌入式串口通信的方式可以方便實現接收機打開/設置、定位信息讀取以及差分數據寫入,后者利用WinInet API函數來實現,主要實現過程如下:

2.2.1 同步通信方式獲取NTRIP資源列表

資源列表(Source Table)包含著可供用戶選擇的數據源信息,獲取資源列表是獲得VRS差分信息的第一步,由于資源列表大小只有幾百個字符,而且后面的通訊工作都以資源列表為基礎,因此,可以采用同步通信的方式獲取。首先定義存放資源列表信息的結構體:SOURCETABLE,然后以用戶輸入的NTRIP播發器IP地址和端口號為參數,利用2.1節中介紹的1)~6)步通過同步HTTP通信的方式下載資源列表數據,然后按照NTRIP協議中定義的資源列表格式對其進行解析并在用戶界面中顯示,資源列表中的VRS數據源可供用戶選擇連接下載數據。

2.2.2 異步通信方式獲取NTRIP差分數據

獲得所連接播發器的VRS數據源信息后,就可以采用異步通信方式下載差分數據,實現過程為

1)定義如下形式的回調函數:

void_stdcall MyCallback(HINTERNET hInternet,DWORD dwContext,DWORD dw InternetStatus,LPVOID lpStatusInfo,DWORD dw-StatusInfoLen);

該函數第二個參數dwContext可以為每一個不同的環境變量值設置不同的操作,第三個參數dw InternetStatus表示當前實際的網絡通信操作進展狀態,可以用來捕獲某個已經完成的異步通信操作事件并觸發一定的處理過程。利用該回調函數就可對終端與VRS網絡之間的H TTP通信狀態進行監控,并觸發相應事件,以便下載線程進行相應操作。

2)利用ReadGNSSThreadFunc下載差分數據線程函數和回調函數異步下載數據。

其簡要過程為先創建四個用來標志異步通信狀態的事件句柄,然后注冊1)中定義的回調函數My Callback,并利用 InternetOpen函數創建異步類型的HINTERNET句柄,接下來可按2.1節中介紹的2)~5)步介紹的方式建立HTTP通信,但是需要注意的是每進行下一步之前一定要通過WaitForSingleObject函數等待回調函數監測到相應的通信步驟已完成,并將相應的事件設置成有信號。

3)完成數據下載后,關閉所有句柄。

從上述過程可以看出,在每一個通訊步驟沒有完成前,主線程并沒有被阻塞,只是回調函數在等待該步驟完成,并觸發一定的事件,然后由主線程捕獲該事件,繼續進行異步通信過程。利用異步通信方式可以很好的解決NTRIP終端差分數據下載的問題,而且便于進行與串口通訊的線程同步。

2.3 定位測試結果

為驗證本系統的定位精度與可靠性,在控制點上進行了VRS定位試驗,圖 2中的(a)、(b)、(c)分別是X、Y、Z三個方向的定位誤差分布圖。

從圖2可以看出,該點所有歷元各方向誤差數值都在3 cm以內,說明該系統具有較好的定位精度和穩定性。

3 結 論

結合PDA平臺以及VRS網絡實現了RTK定位,通過對嵌入式平臺的Internet異步通信以及接收機串口通信的研究,找到了利用VRS網絡差分數據代替傳統差分電臺的具體實現途徑,系統組成靈活、成本低,對于實現傳統GPS RTK接收機向VRS RTK接收機升級改造具有一定的參考意義。

[1]劉經南,劉 暉.連續運行衛星定位服務系統-城市空間數據的基礎設施[J].武漢大學學報(信息科學版),2003,28(3):259-264.

[2]高星偉.GPS/GLONASS網絡RTK的算法研究與程序實現[D].武漢大學博士學位論文,2002.

[3]DENISE D,CHRISTIAN W,GEORG W.NTRIP Version 1.0 Example Implementation[M].Federal Agency for Cartography and Geodesy(BKG),Frankfurt,Germany,2006.

[4]汪曉平,鐘軍等,Visual C++網絡通信協議分析與應用實現[M].北京:人民郵電出版社,2003.

主站蜘蛛池模板: 国产亚洲欧美日韩在线一区| 成人福利在线看| 国产色婷婷视频在线观看| 国产女同自拍视频| 少妇露出福利视频| 国产综合精品一区二区| 欧美三级不卡在线观看视频| 色婷婷综合在线| 国产h视频免费观看| 欧美国产日韩在线| 狠狠干综合| 国产真实二区一区在线亚洲| 国产视频一区二区在线观看| 日韩a级毛片| 国产玖玖视频| 国产免费福利网站| 国产日韩欧美在线视频免费观看 | 国内精品自在自线视频香蕉| 一级毛片无毒不卡直接观看| 青青操国产| 久久成人免费| 亚洲区第一页| 欧美色视频网站| 污网站在线观看视频| 无码不卡的中文字幕视频| 久久精品免费看一| 亚洲va欧美va国产综合下载| 精品日韩亚洲欧美高清a| 国产真实乱子伦视频播放| av色爱 天堂网| 美女黄网十八禁免费看| 亚洲日韩日本中文在线| 中文字幕伦视频| 99偷拍视频精品一区二区| 国产美女人喷水在线观看| 亚洲欧美不卡中文字幕| 欧美在线网| 亚洲无码熟妇人妻AV在线| 国产女同自拍视频| 国产尤物在线播放| 天天摸夜夜操| 亚洲高清中文字幕| 国产精品色婷婷在线观看| 996免费视频国产在线播放| 国产电话自拍伊人| 18禁色诱爆乳网站| 久久久91人妻无码精品蜜桃HD | 日韩免费视频播播| 久久人妻xunleige无码| 毛片视频网址| 国产网站在线看| 在线精品亚洲国产| 日本五区在线不卡精品| 亚洲男人天堂网址| 国语少妇高潮| 欧美精品1区| 亚洲一级毛片在线观播放| 波多野结衣二区| 四虎国产精品永久在线网址| 任我操在线视频| 久久精品这里只有国产中文精品| 亚洲第七页| 国产精品成人一区二区不卡 | 亚洲伦理一区二区| 在线观看亚洲人成网站| 国产午夜小视频| 亚洲成a∧人片在线观看无码| 久久99久久无码毛片一区二区| 98超碰在线观看| 亚洲日本韩在线观看| 久久五月天综合| 国产男女免费完整版视频| 国产欧美视频综合二区| 欧美天堂久久| 极品国产在线| 亚洲国产理论片在线播放| 亚洲成人www| 伊人久久久久久久| 无码中字出轨中文人妻中文中| 亚洲色偷偷偷鲁综合| 欧美a在线视频| 黄色网在线|