华星智控logo
北京华星北斗智控技术有限公司
  • 官网首页

  • 解决方案

  • 应用案例

  • 产品中心

  • 技术社区

  • 下载中心

  • 公司介绍

  • 联系我们

  • 定位平台

    • 监测平台
English
全部
  • 全部
  • 新闻
  • 产品

Ntrip协议说明

1 什么是Ntrip?


CORS(Continuously Operating Reference Stations)就是网络基准站,通过网络收发GPS差分数据。用户访问CORS后,不用单独架设GPS基准站,即可实现GPS流动站的差分定位。


访问CORS系统,就需要网络通讯协议。NTRIP( Networked Transport of RTCM via Internet Protocol)是CORS系统的通讯协议之一。


2 系统组成


使用NTRIP通讯协议的CORS系统,其组成请参考下图




NtripSource        用来产生GPS差分数据,并把差分数据提交给NtripServer


NtripServer        负责把GPS差分数据提交给NtripCaster


NtripCaster        差分数据中心,负责接收、发送GPS差分数据


NtripClient        登录NtripCaster后,NtripCaster把GPS差分数据发送给它


NtripSource 和 NtripServer 一般已经集成到一台GPS基准站内,GPS基准站产生差分数据(扮演着NtripSource的角色),然后再通过网络发送给NtripCaster(扮演着NtripServer的角色)


NtripSource 和 NtripServer也可以分开:GPS基准站产生差分数据,然后通过串口发送给一个程序,这个程序再把差分数据发送给NtripCaster。这里GPS基准站扮演着NtripSource的角色,程序扮演着NtripServer的角色。


NtripCaster一般就是一台固定IP地址的服务器,它负责接收、发送差分数据。给NtripClient发送差分数据时有两种方案:一是直接转发NtripSource产生的差分数据;二是通过解算多个NtripSource的差分数据,为NtripClient产生一个虚拟的基准站(即VRS)。


NtripClient一般就是GPS流动站。登录NtripCaster后,发送自身的坐标给NtripCaster。NtripCaster选择或产生差分数据,然后发送给NtripClient。这样GPS流动站即可实现高精度的差分定位。


3 NtripServer


NtripServer访问NtripCaster的步骤


1、与NtripCaster建立TCP连接;


2、给NtripCaster发送如下数据(↙表示\r\n即0DH和0AH):


SOURCE letmein /Mountpoint↙

Source-Agent: NTRIP NtripServerCMD/1.0↙

↙


上面的Mountpoint是挂载点名称,注意它前面的/不能省略。NtripServer可能有多个,挂载点用来区分它们。


上面的letmein是此挂载点对应的密码。没有密码,随便一个程序都能连上挂载点,整个系统就很容易受到恶意攻击。


"Source-Agent: NTRIP NtripServerCMD/1.0"这一行不是必需的。它说明了NtripServer的软件名称和版本号。这里的软件名称为NtripServerCMD,版本号为1.0。


3、NtripCaster给NtripServer的回复


挂载点、密码均有效,返回:


ICY 200 OK↙

挂载点或密码无效,返回:


ERROR - Bad Password↙


4、NtripServer给NtripCaster发送差分数据


NtripCaster回复ICY 200 OK后,NtripServer就可以给NtripCaster发送差分数据了。


4 NtripClient


NtripClient访问NtripCaster,一般有两个目的:获取源列表、获取差分数据。下面分别进行介绍。


4.1 获取源列表


多个NtripServer给NtripCaster发送差分数据,这样NtripCaster获得的差分数据就有多个。NtripClient在获取差分数据之前,需要知道差分数据有几个?分别是什么格式的?……这就需要获取源列表,获取步骤如下:


1、与NtripCaster建立TCP连接;


2、给NtripCaster发送如下数据:


GET / HTTP/1.0↙

User-Agent: NTRIP GNSSInternetRadio/1.4.10↙

Accept: */*↙

Connection: close↙

↙


"User-Agent: NTRIP GNSSInternetRadio/1.4.10"说明了NtripClient的软件名称和版本号。这里的软件名称为GNSSInternetRadio,版本号为1.4.10。


3、NtripCaster将返回如下数据,然后自动断开TCP连接


SOURCETABLE 200 OK↙

Server: NTRIP Trimble NTRIP Caster↙

Content-Type: text/plain↙

Content-Length: 441↙

Date: 02/Jun/2010:14:13:32 UTC↙

↙

STR;RTCM23;RTCM23;RTCM   2.3;1(1),3(10),18(1),19(1);2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;CMR;CMR;CMR;CMR;2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;CMRP;CMRP;CMR+;CMR;2;GPS;SGNET;CHN;31;121;1;1;Trimble   GPSNet;None;B;N;0;;↙

STR;DGPS;DGPS;RTCM

2.1;RTCM   2.1;2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;RTCM3X;RTCM3X;RTCM   3.X;1004(1),1005/1007(5),PBS(10);2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

ENDSOURCETABLE↙


源列表数据以SOURCETABLE开头,以ENDSOURCETABLE结尾。


200 OK 表示一切正常。


"Server: NTRIP Trimble NTRIP Caster"是对NtripCaster软件的说明。


"Date: 02/Jun/2010:14:13:32 UTC"表示当前时刻。其格式并不固定,如:


Date: Sun, 01 May 2016 08:40:39 中国标准时间↙


以下内容就是源列表数据。"Content-Length: 441"表示源列表数据的字节数为441,含每行结尾的\r\n。


STR;RTCM23;RTCM23;RTCM 2.3;1(1),3(10),18(1),19(1);2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;CMR;CMR;CMR;CMR;2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;CMRP;CMRP;CMR+;CMR;2;GPS;SGNET;CHN;31;121;1;1;Trimble   GPSNet;None;B;N;0;;↙

STR;DGPS;DGPS;RTCM 2.1;RTCM   2.1;2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙

STR;RTCM3X;RTCM3X;RTCM   3.X;1004(1),1005/1007(5),PBS(10);2;GPS;SGNET;CHN;31;121;1;1;SGCAN;None;B;N;0;;↙


源列表数据中,一行表示一个挂载点。每行以分号分隔,其含义请见下表


序号

示例

说明

1 

STR 

类型STR/CAS/NET,这里只对STR进行说明

2 

RTCM23

挂载点(Mountpoint)

3 

RTCM23 

identifier 

4 

RTCM 2.3

差分数据格式

5 

1(1),3(10) 

数据1(1秒输出一次);数据3(10秒输出一次)

6 

2

载波相位数据 0—无 1—单频 2—双频

7 

GPS

导航系统,如:GPS、GPS+GLO、EGNOS

8 

SGNET

网络

9 

CHN

国家

10 

31

纬度

11

121

经度

12 

1

是否需要发送NMEA。0—不需要 1—需要

13 

1

基站类型:0—单基站 1—网络

14 

SGCAN

产生此数据流的软件名称

15 

None

压缩算法

16 

B

访问保护 N—None B—Basic D—Digest

17 

N

Y/N

18 

0

比特率

19 




上文提到,NtripCaster给NtripClient发送差分数据时分两种情况:


1、直接转发NtripSource产生的差分数据。在这种情况下,NtripClient只要指定挂载点即可;


2、通过解算多个NtripSource的差分数据,为NtripClient产生一个虚拟的基准站。在这种情况下,NtripClient不仅要指定挂载点,还要发送自身的坐标给NtripCaster,NtripCaster根据这个坐标才能产生虚拟基准站。


NtripClient给NtripCaster发送自身坐标,用到的就是NMEA里的GGA数据。上表的第12个数据说明了是否需要给NtripCaster发送GGA数据,0表示不需要,1表示需要。


4.2 获取差分数据


NtripClient获取差分数据的过程如下:


1、与NtripCaster建立TCP连接;


2、给NtripCaster发送如下命令


GET /RTCM23 HTTP/1.0↙

User-Agent: NTRIP GNSSInternetRadio/1.4.10↙

Accept: */*↙

Connection: close↙

Authorization: Basic VXNlcjpQd2Q=↙

↙

上面的RTCM23是挂载点名称。


VXNlcjpQd2Q=是用户名、密码的Base64编码,解码后就是User:Pwd。也就是说用户名为User、密码为Pwd,它们之间以冒号分隔。


3、NtripCaster的回复


如果用户名、密码、挂载点均有效,将返回如下数据:


ICY 200 OK↙

Server: Trimble-iGate/1.0↙

Date: Wed, 18 May 2016 07:20:55 中国标准时间↙

↙


200 OK 表示一切正常。注意:有的服务器只返回200 OK,其余数据行不返回;有的服务器返回的200 OK后面没有回车、换行。


如果用户名、密码、挂载点无效,将返回如下数据:


HTTP/1.0 401 Unauthorized↙


4、给NtripCaster发送GGA数据


GGA数据的示例如下


$GPGGA,230331,3115.27393,N,12133.89226,E,1,09,1.0,19.31,M,1,M,,*7F↙


注意:


1)如上文所述,有的挂载点需要发送GGA数据,有的挂载点不需要发送GGA数据;


2)UTC时刻格式必须为hhmmss,如:80331是不行的,必须改为080331;


3)校验码必须正确。


5、NtripCaster收到GGA数据后,将给NtripClient发送差分数据。

联系我们

199

点赞
提示

收藏成功!

查看我的收藏>>

提示

您已收藏

查看我的收藏>>

官网   解决方案   详情页面
合作联系电话152 1064 0466 扫描下方二维码加微信沟通

北京华星北斗智控技术有限公司

地址:北京市丰台区程庄路京辰瑞达大厦  

合作联系 

杨经理:152 1064 0466 (微信同号) 

张经理:157 1128 4188 (微信同号) 

 

北京华星北斗智控技术有限公司版权所有2020© 京ICP备15062414号-1


经纬度计算距离    文件下载   北斗监测平台

扫描二维码咨询

扫二维码微信沟通

联系电话
咨询问题
联系邮箱
验证码
看不清,换一张 看不清,换一张
  • 官网首页

  • 解决方案

  • 应用案例

  • 产品中心

  • 技术社区

  • 下载中心

  • 公司介绍

  • 联系我们

京ICP备15062414号