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 發送查分數據了。
- 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). 基本鑑權 參考鏈接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
- 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 |