Ntrip 1.0 協議

1.介紹

Ntrip1.0 是基於http1.1 協議實現應用層協議,關於消息格式和狀態代碼,NtripClient NtripCaster通信是完全兼容的HTTP 1.1通信[1],其中Ntrip只使用無狀態的連接。

由Ntrip Server ,NtripCaster ,NtripClient 組成,Ntrip Caster 是一個真正的 http 服務端,Ntrip Client 和Ntrip Server 是http 客戶端。

在這裏插入圖片描述

NtripSource 用來產生差分數據,並把差分數據提交給NtripServer

NtripServer 負責把差分數據提交給NtripCaster

NtripCaster 差分數據中心,負責接收、發送差分數據

NtripClient 登錄NtripCaster後,NtripCaster把差分數據發送給它

2.Ntrip Server

Ntrip Server 和Ntrip Caster 連接通過擴展http協議實現,擴展的內容是增加 消息頭 “SOURCE” 和狀態碼 “ERROR - Bad Password”。

1). Ntrip Server 通過ip:port 鏈接Ntrip Caster

2). Ntrip Server 向Ntrip Caster 發送登錄請求

SOURCE <password> <mountpoint> <CR><LF>
Source-Agent: NTRIP<product|comment><CR><LF>
<CR><LF>
<data>
 
 
<password> = 編碼後的密碼(普通的ASCII編碼)
<mountpoint> = 掛載點
<product|comment> = NtripServer的軟件名稱和版本號等信息(非必要)

3). Ntrip Caster 密碼驗證通過,caster 返回

ICY 200 OK<CR><LF>

4). Ntrip Caster 密碼驗證失敗,caster 返回 錯誤code 後關閉鏈接

ERROR - Bad Password<CR><LF>

5). Ntrip Server 驗證通過後就可以給Ntrip Caster 發送查分數據了。

  1. Ntrip Client

1). Ntrip Client 通過ip:port 連接 Ntrip Caster

2). Ntrip Client 登錄Ntrip Caster

Nrtip Client 請求和Ntrip Server 一樣設計成類HTTP 消息類型的。

GET <mountpoint> HTTP/1.0 <CR><LF>
User-Agent: NTRIP<product|comment><CR><LF>
Accept: */* <CR><LF>
Connection: close <CR><LF>
<CR><LF>
 
 
<mountpoint> = Caster 資源相關的掛載點
<product|comment> = Client 相關信息(可省略)

3). 有效請求 則返回


ICY 200 OK<CR><LF>
 
 
<GNSS data>

4). 無效的請求(掛載點不存在時)

SOURCETABLE 200 OK
<Source-Table>
ENDSOURCETABLE
 
<Source-Table>
  1. 鑑權方式

1). 基本鑑權 參考鏈接https://blog.csdn.net/tenfyguo/article/details/6167190

GET /<mountpoint> HTTP/1.0<CR><LF>
User-Agent: NTRIP GNSSInternetRadio/1.2.0<CR><LF>
Authorization: Basic <base64(account:password)><CR><LF>
 
 
 
 
<mountpoint> :掛載點
<base64(account:password)> base64(account:password)
  • 鑑權請求

  • 鑑權成功

ICY 200 OK<CR><LF>
<GNSS data>

2).摘要授權 參考鏈接https://blog.csdn.net/tenfyguo/article/details/8661517

  1. NMEA 請求消息

對於一些獨立的應用NtripClient 需要發送位置給NtripCaster,NtripCaster以流的形式使用位置信息提供給 vrs(Virtual Reference Station) 或者決定最好數據流去廣播。Ntrip允許在http 協議後帶 NMEA GGA 字符串:

GET /<mountpoint> HTTP/1.1<CR><LF>
Accept: rtk/rtcm, dgps/rtcm<CR><LF>
User-Agent: NTRIP Survey-Controller-15.0<CR><LF>
<CR><LF>
$GPGGA,165631.00,4810.8483085,N,01139.900759,E,1,05,01.9,+00400,M,,M,,*??<CR><LF>

6. source table

NtripCaster 維護着一個可用NtripSource 、NtripSource 網絡列表。

1).描述數據流

編號 參數 含義 格式 例子
1 = STR 類型STR/CAS/NET,這裏只對STR進行說明 3 Characters STR
2 caster mountpoint Characters <=100 LEIJ0LEIJ1WTZ
3 source identifier Characters RTCM32-GNSS
4 數據格式 Characters RTCM32
5 格式詳情 Characters 1005(10),1033(10),1084-1094-1124-1074(1)
6 載波相位數據 0—無 1—單頻 2—雙頻 Integer 012
7 導航系統 Characters GNSS
8 網絡 Characters SGNET
9 ISO 3166 規範中國家代碼 3 Characters CHN
10 緯度 float point number, two digits after decimal point 40.12
11 經度 float point number, two digits after decimal point 10.12
12 是否需要發送NMEA。0—不需要 1—需要 Integer 01
13 基站類型:0—單基站 1—網絡 Integer 01
14 硬件或軟件生成數據流的名稱 Characters SGCAN
15 壓縮算法 Characters none
16 授權模式N=NoneB=BasicD=Digest 1 Characters NBD
17 費用N = 免費Y = 使用收費 1 Characters NY
18 比特率 Integer 500
19 其他信息 Characters Demo

2).描述Caster

編號 參數 含義 格式 例子
1 = CAS 類型STR/CAS/NET,這裏只對STR進行說明 3 Characters STR
2 ip Characters <=128 141.74.243.11
3 Port number Integer 8001
4 caster identifier Characters
6 ISO 3166 規範中國家代碼 3 Characters CHN
7 緯度 float point number, two digits after decimal point 40.12
8 經度 float point number, two digits after decimal point 10.12
9 是否需要發送NMEA。0—不需要 1—需要 Integer 01
10 其他信息 Characters Demo

3).描述數據流網絡

編號 參數 含義 格式 例子
編號 參數 含義 格式 例子
1 = NET 類型STR/CAS/NET,這裏只對STR進行說明 3 Characters STR
2 caster identifier Characters
3 Name of institution / agency /company operating the network Characters \
4 授權模式N=NoneB=BasicD=Digest 1 Characters NBD
5 費用N = 免費Y = 使用收費 1 Characters NY
6 Web-address for network Characters http://igs.ifag.de
7 Web-address for stream information Characters http://www.epncb.oma.be none
8 Web address or mail address for registration Characters [email protected] http://igs.ifag.de
9 其他信息 Characters Demo
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章