qzqanlhy1314
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
Source-Agent: NTRIP
= 编码后的密码(普通的ASCII编码)
= 挂载点
= NtripServer的软件名称和版本号等信息(非必要)
3). Ntrip Caster 密码验证通过,caster 返回
ICY 200 OK
4). Ntrip Caster 密码验证失败,caster 返回 错误code 后关闭链接
ERROR - Bad Password
5). Ntrip Server 验证通过后就可以给Ntrip Caster 发送查分数据了。
1). Ntrip Client 通过ip:port 连接 Ntrip Caster
2). Ntrip Client 登录Ntrip Caster
Nrtip Client 请求和Ntrip Server 一样设计成类HTTP 消息类型的。
GET HTTP/1.0
User-Agent: NTRIP
Accept: */*
Connection: close
= Caster 资源相关的挂载点
= Client 相关信息(可省略)
3). 有效请求 则返回
ICY 200 OK
4). 无效的请求(挂载点不存在时)
SOURCETABLE 200 OK
ENDSOURCETABLE
1). 基本鉴权 参考链接https://blog.csdn.net/tenfyguo/article/details/6167190
GET / HTTP/1.0
User-Agent: NTRIP GNSSInternetRadio/1.2.0
Authorization: Basic
:挂载点
base64(account:password)
鉴权请求
鉴权成功
ICY 200 OK
2).摘要授权 参考链接https://blog.csdn.net/tenfyguo/article/details/8661517
对于一些独立的应用NtripClient 需要发送位置给NtripCaster,NtripCaster以流的形式使用位置信息提供给 vrs(Virtual Reference Station) 或者决定最好数据流去广播。Ntrip允许在http 协议后带 NMEA GGA 字符串:
GET / HTTP/1.1
Accept: rtk/rtcm, dgps/rtcm
User-Agent: NTRIP Survey-Controller-15.0
$GPGGA,165631.00,4810.8483085,N,01139.900759,E,1,05,01.9,+00400,M,,M,,*??
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 | euref-ip@ifag.de http://igs.ifag.de | |
9 | 其他信息 | Characters | Demo |
Ntrip通讯协议1.0-16.09.09
09-09
详细说明了 CORS 系统的 Ntrip 通讯协议