配置指南
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 |
--deamon | Linux 守护进程模式,脱离终端运行 |
--version | 打印版本号并退出 |
-o 参数已废弃旧版本使用的 -o 参数已不再支持,请使用 -k 指定配置文件。
环境变量
环境变量用于覆盖默认行为,特别适用于 Docker 容器化部署场景。在 Docker 中,通常需要将 RTKHUB_WEB_BIND 设为 0.0.0.0 以允许外部访问。
| 变量 | 说明 |
|---|---|
RTKHUB_WEB_BIND | Web 服务器绑定地址。Docker 中设为 0.0.0.0 以允许外部访问 |
CMake 构建选项
| 选项 | 默认值 | 说明 |
|---|---|---|
RTKHUB_EMBED_WEB_ASSETS | ON | 将 public/ 静态资源嵌入可执行文件 |
RTKHUB_OBFUSCATE_WEB_ASSETS | ON | 嵌入时压缩/混淆 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 保留为直接访问入口。
创建任务:
- 点击"新建任务"按钮
- 从扫描结果中选择
script/目录下的脚本 - 填写任务名称、描述和日志保留策略
- 选择脚本类型(sh/js/py)
- 设置 Cron 表达式(可选,留空表示仅手动执行)
- 保存
Cron 表达式示例:
| 表达式 | 说明 |
|---|---|
0 * * * * | 每小时执行 |
0 */6 * * * | 每 6 小时执行 |
0 2 * * * | 每天凌晨 2 点执行 |
0 9 * * 1 | 每周一上午 9 点执行 |
*/30 * * * * | 每 30 分钟执行 |
查看日志:
- 点击任务列表中的任意任务
- 右侧面板显示执行历史
- 包含执行时间、状态、退出码、输出内容
配置文件注释
rtkhub.list 支持以下注释格式:
# 这是注释
; 这也是注释
# 空行会被跳过
Console 选项
在 RTKLIB 基线配置文件中可设置以下 console 相关选项:
| 选项 | 说明 | 可选值 |
|---|---|---|
console-passwd | 控制台密码覆盖 | 字符串 |
console-timetype | 时间显示格式 | GPST、UTC、JST、TOW |
console-soltype | 解算结果显示格式 | DMS、deg、XYZ、ENU、PYL |
console-solflag | 解算结果附加信息 | std+age、ratio、ns |
基线配置文件
最小可运行配置
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 通常使用位掩码组合:
| 值 | 系统 |
|---|---|
1 | GPS |
4 | BDS |
5 | GPS + BDS |
9 | GPS + Galileo |
13 | GPS + BDS + Galileo |
15 | GPS + GLONASS + BDS + Galileo |
数据源类型
| 类型 | 说明 | 路径示例 |
|---|---|---|
serial | 串口接收机 | COM3:115200:8:n:1:off |
tcpcli | TCP 客户端 | 192.168.1.100:2101 |
ntripcli | NTRIP 客户端 | 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):
| 系统 | 标识 |
|---|---|
| GPS | G |
| GLONASS | R |
| Galileo | E |
| BDS/北斗 | C |
| QZSS | J |
| NavIC/IRNSS | I |
| SBAS | S |
支持的接收机数据格式
| 格式 | 说明 |
|---|---|
| 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 接收机 |
| Javad | Javad 接收机 |
| NVS | NVS 接收机 |
| Binex | 通用二进制交换格式 |
| SkyTraq | SkyTraq 接收机 |
| SwiftNav | Swift Navigation |
| Unicore | Unicore 接收机 |
| Hemisphere | Hemisphere 接收机 |
| RT17 | Trimble RT17 |
| SP3 / CLK | 精密星历和钟差 |
配置中通过 inpstr1-format / inpstr2-format 指定格式,常用值:rtcm3、ubx、oem4、sbf。
性能建议
- 小规模试运行可以先启用 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_CHANNEL 和 MAX_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 星历转发 - 确保防火墙允许相应端口
- RTKHUB:
浏览器要求
支持现代浏览器(需支持 ES6+ 和 Fetch API):
| 浏览器 | 最低版本 |
|---|---|
| Chrome | 90+ |
| Firefox | 88+ |
| Edge | 90+ |
| Safari | 14+ |
不支持 IE 11 及更早版本。