APP下载

基于Ntrip Caster软件的GNSS实时应用

2021-03-08陈永昌盛传贞张京奎

电子技术与软件工程 2021年23期
关键词:数据源差分设置

陈永昌 盛传贞 张京奎

(中国电子科技集团公司第五十四研究所 河北省石家庄市 050002)

1 引言

全球导航卫星系统(GNSS)是能为地球表面或近地空间的用户提供全天候定位、导航和授时服务的空基无线电导航定位系统。近年来,随着GNSS应用的日益丰富,大众用户对于实时高精度的应用需求日渐增多。因此,GNSS实时服务迎来新的发展契机。

国际GNSS服务(International GNSS Service,IGS)组织于2002年成立实时工作组(Real Time Working Group,RTWG),致力于相关应用的基础设施建设与标准规范制定,并于2007年号召多个国际分析中心参与实时飞行员项目(Real Time Polit Project,RTPP)。现今,GNSS提供实时服务主要依靠实时增强信息,而高效的信息传递是其中的重要环节。为此,国际海运事业无线电技术委员会(Radio Technical Commission for Maritime Services,RTCM)SC104协议应运而生[1-3],为实时信息的高效传递提供了统一标准。

RTCM SC104标准格式是由RTCM于1983年11月提出的GNSS差分信号格式[4,5]。SC104标准定义了GNSS实时导航定位等相关应用中,二进制数据流所包含的内容、结构和组织方式,包括测站信息、广播星历、观测数据和各类实时产品等[6,7]。该标准为实时GNSS应用提供了通信接口,目前已广泛应用于实时GNSS数据的编码和解码中。目前,最新使用的RTCM SC104协议包括10403.3——差分GNSS服务协议、10401.2——差分Navstar GPS参考站和完好性监测协议、10410.1——RTCM网络传输协议(Ntrip)。

本文主要对网络传输实时信息的Ntrip协议进行介绍,然后针对Ntrip协议在应用过程中实现Caster服务的几款软件进行实例演示,为广大GNSS实时用户提供实用的参考信息。

2 Ntrip协议

自1993年以来,RINEX格式是用于长期存储和传播GNSS数据的标准文件格式,但主要针对后处理模式。随着GNSS的不断发展和用户对GNSS即时信息的迫切需求,德国联邦制图和大地测量局(Bundesamt fÜr Kartographieund Geodäsie,BKG)与多特蒙德工业大学联合开发了Ntrip协议,供用户可与数据源进行通信[8,9]。

Ntrip是一种用于Internet流式传输GNSS数据的应用级协议,是一种基于HTTP/1.1的通用无状态协议。作为一种RTCM标准,Ntrip主要用于通过Internet向静态或移动用户传播差分改正数据(如采用RTCM-104格式)或其他类型的GNSS流数据。该协议允许同时将PC、笔记本电脑、PDA或接收机连接到广播机,并支持通过移动IP网络(如GSM、GPRS、EDGE或UMTS)进行无线Internet访问。

Ntrip协议的实现主要有NtripServers、NtripCasters和Ntrip Clients三部分系统软件组成,其结构如图1所示。

图1:Ntrip协议运作示意图

NTRIP协议运作中的各项组成及功能如下:

(1)NtripSource指系统的数据源,负责提供连续的GNSS流数据,如参考站观测数据、RTCM-104差分改正信息等。

(2)NtripServer负责将NtripSource数据通过HTTP协议以数据流的形式传输到NtripCaster。

(3)NtripCaster是一个HTTP服务器,接受来自NtripServer或NtripClient单个端口的请求消息,并根据这些消息决定是否接收或发送数据流。

(4)NtripClient指用户端,其向NtripCaster发送正确的请求消息,在被接受后开始接收来自NtripCaster的数据。

(5)Real-time Analysis Center即实时分析中心,其利用指定账户获取实时流数据,生成实时产品后,再将其作为数据源经由NtripServer传送至NtripCaster的数据中心,供其他NtripClient使用

3 NtripCaster软件介绍

NtripCaster作为实现Ntrip协议的重要一环,实质为HTTP服务器。NtripCaster软件可从参考站接收数据和处理客户端的请求信息,通过设置相应的测站代码、账号、密码等,对NtripServer和NtripClient的数据流进行并行管理。

近年来,多家机构根据Ntrip协议规则已开发出相应的Caster软 件。如:BKG开 发 的BKG Professional NtripCaster,SNIP公司开发的the simple NTRIP Caster,Alberding GmbH公司开发的Alberding Ntrip Caster,德国土地调查卫星定位服务的GnssSurfer等。本节将对前两种较常用的caster软件进行功能介绍。

3.1 BKG Professional NtripCaster软件

BKG Professional NtripCaster是在EUREF-IP框架内开发的,支持Ntrip互联网协议,能够通过互联网传播GNSS实时数据流。该软件遵循GNU通用公共许可证(GPL),并用C语言编写,运行于Linux系统。历经多个版本的更新,该软件能够同时支持100多个NtripServers和监听2000多个NtripClients,并已在多种发行版上成功测试,如Suse、Debian、Gentoo和Red Hat等。下面就其安装及基本运行功能进行介绍。

3.1.1 安装

BKG的caster软件只能安装在linux系统中。开始安装前,需检查是否具备编译条件,如gcc和GNU的make软件。确定安装条件满足之后,在解压后的安装包文件夹中找到configure可执行文件,开始安装。通常有两种安装模式:

第一种是标准安装模式,执行命令"./configure --enable-fsstd",设置将caster软件安装在如下目录中:

(1)Caster-可执行文件:/usr/sbin

(2)启动脚本:/usr/bin

(3)配置信息:/etc/ntripcaster

(4)运行时间测试文件:/var/run/ntripcaster

(5)日志文件:/var/log/ntripcaster

(6)模板:/usr/share/ntripcaster/templates

第二种是指定目录安装模式,执行命令"./configure",设置将caster软件安装在"/usr/local/ntripcaster"默认目录中。如果安装在指定目录中,可执行"./configure --prefix=",设置安装在"path"中,相应的子目录为:

(1)Caster-可执行文件:$path/sbin

(2)启动脚本:$path/bin

(3)配置信息:$path/conf

(4)运行时间测试文件:$path/var

(5)日志文件:$path/logs

(6)模板:$path/templates

完成路径设置后,先后运行'make'(或者gmake)、'make install'(或者gmake install),完成caster软件的安装。此时,可输入"ntripcaster start"、"ntripcaster stop"和"ntripcaster restart"命令,测试是否安装成功。

3.1.2 配置

caster软件成功安装后,需对conf目录中的配置文件进行设置,以使软件正常运行。相关的配置文件及其配置内容见表1。

表1:BKG Professional NtripCaster配置文件功能介绍

3.1.3 状态显示

配置完成后,即可执行"ntripcaster start"命令启动软件,提供caster服务。软件的运行状态可在网页中打开配置的主机地址查看。图2和3展示了该caster软件运行时主要的状态信息。其中图2展示了数据源的状态信息,包括连接的数据源总数、挂载点ID、主机IP、连接时刻和时长、接收数据量、连接用户数等信息;图3展示了client用户信息,包括用户IP、挂载点ID、连接时长、接收数据量等信息。

图2:BKG Professional NtripCaster运行时数据源状态信息

图3:BKG Professional NtripCaster运行时监听用户状态信息

主机管理员可根据caster软件的运行信息,管理caster服务,如重启caster、断开特定挂载点、更新配置文件内容等,保证ntrip服务能够稳定提供给下游用户。

3.2 SNIP软件

SNIP开发的the simple NTRIP Caster也称作SNIP,是一款可在Windows和Ubuntu系统运行的caster软件。该软件具备Ntrip服务中的caster功能,支持单个到数百个设备的大型GNSS网的数据收发。下面就其安装及基本运行功能进行介绍。

3.2.1 安装

SNIP的安装较为简单。在获取软件安装包后,直接运行安装文件(如SNIP_3_01_00setup.exe),根据提示设置相应的安装路径即可。成功安装后,执行SNIP.exe测试能否正常启动。

3.2.2 配置

设置SNIP的基本运行功能主要有表2所示内容。

表2:the simple NTRIP Caster配置内容

3.2.3 状态显示

SNIP可在软件运行过程中直接配置,无需重启即可生效。图4和5展示了SNIP运行时的状态信息。其中图4是运行主界面,展示了挂载点的数量、活动状态、监听状态等信息;图5是作为流数据中继时的状态信息,展示了各个挂载点名称、数据接收率、接收时长等信息。管理员可根据这些状态信息作出相应的操作,以维护caster的正常运行。

图4:SNIP运行状态主界面

图5:SNIP作为流数据中继时的状态信息

4 总结

GNSS如今在室外高精度位置、导航和授时服务中占有举足轻重的地位。随着实时应用的兴起,如汽车安全(车与车之间)、远程精确无人机控制、传统精准农业、战术搜索和救援等,越来越多的行业开始与高精度、实时的GNSS服务接轨。NtripCaster作为Ntrip协议中的核心服务,在将来的海量并发应用中具有十分重要的意义。当前caster软件众多,基本能够满足现有应用需求,但考虑到即将面临的大数据挑战,因此该服务和软件仍具有可观的开发前景。

猜你喜欢

数据源差分设置
数列与差分
中队岗位该如何设置
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
本刊栏目设置说明
中俄临床医学专业课程设置的比较与思考
基于真值发现的冲突数据源质量评价算法
基于差分隐私的大数据隐私保护
相对差分单项测距△DOR
差分放大器在生理学中的应用