跳到主要内容

配置指南

适合谁需要新增测网、调整基线或排查配置问题的运维和工程人员。
你会理解rtkhub.list、单基线 RTKLIB 配置、输入输出流和目录变量。
使用建议修改配置前先备份 conf/,生产环境逐条基线验证后再批量启用。
警告

修改配置前务必备份整个 conf/ 目录。错误的配置可能导致基线解算异常或无法启动。

RTKHUB 的配置分为两层:主配置 rtkhub.list 负责组织测网和基线,RTKLIB 配置文件负责定义每条基线的解算参数、输入流和输出流。

目录结构

conf/
├─ rtkhub.list
├─ XANet/
│ ├─ DH04-DH06.conf
│ └─ DH05-DH07.conf
├─ strhub_conf/
│ └─ strhub.conf
└─ ephub_conf/
└─ ephub.conf
备注

建议按测网拆分目录。这样新增、停用或迁移基线时,不会把所有配置混在一个文件夹里。

主配置:rtkhub.list

基本格式

[测网名称]
dir=结果目录
netllh=纬度,经度,高程
配置文件路径,通道名称,流动站纬度,流动站经度,流动站高程,参考纬度,参考经度,参考高程

示例

[XANet]
dir=./result/%Y/%n/
netllh=34.23247305,108.95249131,399.012
./conf/XANet/DH04-DH06.conf,DH04-DH06,34.23549980,108.90985758,384.387,34.235499796,108.909857575,384.3870
./conf/XANet/DH05-DH07.conf,DH05-DH07,34.24100000,108.91500000,386.100,34.241000000,108.915000000,386.1000

参数说明

参数说明示例
dir结果文件保存目录./result/%Y/%n/
netllh测网中心点坐标,用于地图展示34.23,108.95,399
配置文件路径单条基线的 RTKLIB 配置./conf/XANet/DH04-DH06.conf
通道名称Web 页面和 API 中显示的基线名DH04-DH06
流动站坐标rover 近似坐标34.235,108.909,384
参考坐标base 坐标34.235,108.909,384

目录变量:

变量含义
%Y四位年份
%m月份
%d日期
%n测网名称
%r通道名称

RTKHUB 启动参数

注意

启动参数会覆盖配置文件中的对应设置。请确认参数组合不会产生冲突,特别是 -k-p-w 参数的搭配。

.\rtkhub.exe [选项]
参数说明
-s启动时自动启动 RTK 服务器
-nc无控制台模式(headless),适合 Docker 或后台运行
-k <file>指定主配置文件(如 conf\rtkhub.list
-p <port>Telnet 控制台端口(默认 5426)
-m <port>监控流端口,供外部工具连接查看状态
-d <dev>终端设备
-w <pwd>指定登录密码(覆盖随机生成)
-r <level>解算状态输出级别:0 关闭、1 状态、2 残差
-t <level>调试 trace 级别:0 关闭、1 错误、2 警告、3 信息、4 调试、5 详细
-sta <name>站点名称,用于接收机 DCB
--deamonLinux 守护进程模式,脱离终端运行
--version打印版本号并退出
-o 参数已废弃

旧版本使用的 -o 参数已不再支持,请使用 -k 指定配置文件。

环境变量

信息

环境变量用于覆盖默认行为,特别适用于 Docker 容器化部署场景。在 Docker 中,通常需要将 RTKHUB_WEB_BIND 设为 0.0.0.0 以允许外部访问。

变量说明
RTKHUB_WEB_BINDWeb 服务器绑定地址。Docker 中设为 0.0.0.0 以允许外部访问

CMake 构建选项

选项默认值说明
RTKHUB_EMBED_WEB_ASSETSONpublic/ 静态资源嵌入可执行文件
RTKHUB_OBFUSCATE_WEB_ASSETSON嵌入时压缩/混淆 HTML、CSS、JS

STRHUB 启动参数

.\strhub.exe -k strhub.conf -log 3
参数说明
-k <file>流任务配置文件(默认 strhub.conf
-log <lvl>RTKLIB 跟踪级别

SCRHUB 任务管理

SCRHUB 已嵌入 RTKHUB 主界面。启动 RTKHUB 后访问:

http://127.0.0.1:5426/index.html

在侧边栏点击 "脚本管理" 即可进入任务管理页面。/scrhub.html 保留为直接访问入口。

创建任务:

  1. 点击"新建任务"按钮
  2. 从扫描结果中选择 script/ 目录下的脚本
  3. 填写任务名称、描述和日志保留策略
  4. 选择脚本类型(sh/js/py)
  5. 设置 Cron 表达式(可选,留空表示仅手动执行)
  6. 保存

Cron 表达式示例:

表达式说明
0 * * * *每小时执行
0 */6 * * *每 6 小时执行
0 2 * * *每天凌晨 2 点执行
0 9 * * 1每周一上午 9 点执行
*/30 * * * *每 30 分钟执行

查看日志:

  • 点击任务列表中的任意任务
  • 右侧面板显示执行历史
  • 包含执行时间、状态、退出码、输出内容

配置文件注释

rtkhub.list 支持以下注释格式:

# 这是注释
; 这也是注释

# 空行会被跳过

Console 选项

在 RTKLIB 基线配置文件中可设置以下 console 相关选项:

选项说明可选值
console-passwd控制台密码覆盖字符串
console-timetype时间显示格式GPSTUTCJSTTOW
console-soltype解算结果显示格式DMSdegXYZENUPYL
console-solflag解算结果附加信息std+agerations

基线配置文件

最小可运行配置

pos1-posmode = kinematic
pos1-frequency = l1+l2
pos1-navsys = 5
pos1-elmask = 15

ant2-postype = llh
ant2-pos1 = 34.235499796
ant2-pos2 = 108.909857575
ant2-pos3 = 384.3870

inpstr1-type = tcpcli
inpstr1-path = 127.0.0.1:2101
inpstr1-format = rtcm3
inpstr2-type = tcpcli
inpstr2-path = 127.0.0.1:2102
inpstr2-format = rtcm3

outstr1-type = file
outstr1-path = ./result/%Y%m%d_%r.pos
outstr1-format = llh

常用选项

定位模式

说明适用场景
single单点定位数据源连通性测试
kinematic动态 RTK常规 rover/base 实时解算
static静态 RTK固定站稳定性分析
ppp-kinematic动态 PPP无本地基准站场景

卫星系统

pos1-navsys 通常使用位掩码组合:

系统
1GPS
4BDS
5GPS + BDS
9GPS + Galileo
13GPS + BDS + Galileo
15GPS + GLONASS + BDS + Galileo

数据源类型

类型说明路径示例
serial串口接收机COM3:115200:8:n:1:off
tcpcliTCP 客户端192.168.1.100:2101
ntripcliNTRIP 客户端user:pass@caster.example.com:2101/MOUNT
file文件回放或离线测试./data/obs.rtcm3

典型配置片段

NTRIP 数据源

inpstr1-type = ntripcli
inpstr1-path = rover_user:rover_pass@caster.example.com:2101/ROVER
inpstr1-format = rtcm3
inpstr2-type = ntripcli
inpstr2-path = base_user:base_pass@caster.example.com:2101/BASE
inpstr2-format = rtcm3

串口接收机

inpstr1-type = serial
inpstr1-path = COM3:115200:8:n:1:off
inpstr1-format = rtcm3

输出 POS 文件和 NMEA

outstr1-type = file
outstr1-path = ./result/%Y/%n/%r_%Y%m%d.pos
outstr1-format = llh

outstr2-type = tcpsvr
outstr2-path = :2201
outstr2-format = nmea

支持的 GNSS 系统

RTKHUB 编译时启用所有 GNSS 系统,支持 5 频率(NFREQ=5)和 3 扩展观测值(NEXOBS=3):

系统标识
GPSG
GLONASSR
GalileoE
BDS/北斗C
QZSSJ
NavIC/IRNSSI
SBASS

支持的接收机数据格式

格式说明
RTCM 2.x / 3.x标准差分数据格式
RINEX 2.x / 3.x通用观测/导航数据
u-blox (UBX)U-blox 接收机二进制格式
NovAtel (OEM4/5/6/7)NovAtel OEM 系列
Septentrio (SBF)Septentrio 接收机
JavadJavad 接收机
NVSNVS 接收机
Binex通用二进制交换格式
SkyTraqSkyTraq 接收机
SwiftNavSwift Navigation
UnicoreUnicore 接收机
HemisphereHemisphere 接收机
RT17Trimble RT17
SP3 / CLK精密星历和钟差

配置中通过 inpstr1-format / inpstr2-format 指定格式,常用值:rtcm3ubxoem4sbf

性能建议

  • 小规模试运行可以先启用 1-5 条基线,确认数据源稳定后再批量增加。
  • 高频采样或多系统多频解算会增加 CPU 压力,建议逐步压测。
  • 生产环境不要长期打开过高等级 trace 日志。
  • result/logs/ 放在空间充足的磁盘,避免系统盘写满。
  • 关键测网建议固定机器、固定目录、固定启动参数,减少人为差异。

安全建议

  • NTRIP 账号密码写在配置文件时,目录权限应仅开放给运维账号。
  • 提交问题或截图前先脱敏 username:password@host
  • 修改配置前先备份 conf/
  • Web 控制台只开放给可信网段,公网访问请使用 VPN 或反向代理。

配置验证

启动前可以先检查文件路径、端口和数据源:

Test-Path conf\rtkhub.list
Test-NetConnection 192.168.1.100 -Port 2101

启动后在 Web 控制台确认:

  • 测网名称是否正确。
  • 基线数量是否与 rtkhub.list 一致。
  • 输入流速率是否持续更新。
  • Age、Ratio、卫星数是否在合理范围。
  • result/ 是否生成 POS 文件。

系统需求

硬件建议

根据监控基线数量选择合适配置:

基线数量CPU内存磁盘空间
1-5 条双核 2.0GHz+2GB+500MB+
6-20 条四核 2.5GHz+4GB+1GB+
21-50 条八核 3.0GHz+8GB+2GB+
51-100 条十六核 3.5GHz+16GB+5GB+
100+ 条更高配置32GB+10GB+
备注

系统设计上限为 500 条基线(可通过修改 src/main/hubcmn.h 中的 MAX_CHANNELMAX_NET 宏定义调整)。实际支持数量取决于硬件配置和数据采样率。

内存占用参考

  • 单条基线启动时约占用 14MB 内存
  • 稳定运行后内存占用可降低约 60%(约 5.6MB/基线)
  • 100 条基线稳定运行约需 560MB 内存(不含系统开销)

网络要求

  • 本地访问:默认监听 127.0.0.1,仅本机访问
  • 局域网访问:需修改配置监听 0.0.0.0(注意安全风险)
  • 端口占用
    • RTKHUB:5426(HTTP)
    • STRHUB:5427(HTTP)
    • EPHUB Web:5428(HTTP,可通过 -web 参数修改)
    • EPHUB 输出:按配置监听,例如 tcpsvr://:10010 用于本地 RTCM3 星历转发
    • 确保防火墙允许相应端口

浏览器要求

支持现代浏览器(需支持 ES6+ 和 Fetch API):

浏览器最低版本
Chrome90+
Firefox88+
Edge90+
Safari14+
警告

不支持 IE 11 及更早版本。

下一步