| 天线参数 | 信号频段 | GPS: L1/L5 |
|---|---|---|
| 特性阻抗 | 50Ω | |
| 极化方式 | RHCP (右旋圆极化) | |
| 覆盖范围 | 360° | |
| 峰值增益 | 2.5dBi | |
| 驻波比 (VSWR) | ≤2 | |
| 轴比 | ≤3dB | |
| 放大器参数 | 增益 | 23dB |
| 噪声系数 | 1.5dB | |
| 输出驻波比 | ≤2 | |
| 系统参数 | 定位模块 | NEO-F9P-15B |
| 地磁传感器 | QMC5883P | |
| 工作电压 | 3.3V ~ 16V | |
| 功耗 | 500mW(典型值) | |
| PVT 单点定位精度 | 水平方向: 1.5m | |
| 垂直方向: 2.0m | ||
| SBAS 定位精度 | 水平方向: 1.0m | |
| 垂直方向: 1.5m | ||
| RTK 精度 | 水平方向: 1cm + 1ppm | |
| 垂直方向: 1cm + 1ppm | ||
| 时间精度(均方根值) | 30ns | |
| 速度精度(均方根值) | 0.05m/s | |
| 冷启动首次定位时间 | <30s | |
| 初始化时间 | <5s(典型值) | |
| 初始化可靠性 | >99.9% | |
| 数据更新率 | 25Hz (Max) | |
| 数据格式 | RTCM 3.3; SPARTN 2.0.1 | |
| 其他参数 | 通信接口 | I2C,UART (9.6k ~ 921.6kbps def 38.4kbps) |
| 物理接口 | GH1.25 8PIN | |
| 工作温度范围 | -40℃ ~ +85℃ | |
| 存储温度范围 | ||
| 湿度 | ≤95% | |
| 尺寸 | 37.00 × Φ47.04 (mm) |


此章节是使用 Windows 电脑上的 u-center 等软件对 Q43 NEO-F9P GNSS Helical RTK Module 进行快速设置和使用的说明,u-center 的详细使用说明请参考 u-center 用户指南 文件

一个 Q43 NEO-F9P GNSS Helical RTK Module 作为流动站,接入 RTK 基站服务测试。
打开 u-center 软件,选择对应的串口模块的 COM 口: 
在 u-center 菜单栏中点击 Receiver -> NTRIP,在弹出的选项卡中输入以下参数:
Address: ntrip.geodetic.gov.hk
Port: 2101
Mount Point: HKCL_32
Username: admin
Password: admin
用户需先申请当地可用的参考基站服务。例如,美国用户可向 UNAVCO 等机构申请相关服务。笔者位于深圳,以 Hong Kong Geodetic Survey Services 为例进行测试。参考站距离、网络覆盖、差分数据质量及当地环境都会影响定位效果。因此,建议用户根据实际使用地点,选择合适的本地基站或 NTRIP 服务;也可选用 Trimble、Hexagon 或 Qianxun SI 等商业服务,以获得更稳定的使用体验。
输入完成后点击 Update source table,在 NTRIP mount point 下拉框选择 HKCL_32 后,点击 OK 保存即可运行 RTK 服务:

NTRIP 连接成功后,u-center 底端显示 NTRIP 连接状态:

两个 Q43 NEO-F9P GNSS Helical RTK Module 模块分别作为 RTK 基站和流动站定位实现。
搭建基站模块前,先了解 NTRIP(Networked Transport of RTCM via Internet,即通过互联网传输 RTK 差分数据),是一种通过 Internet/本地网络分发 RTK 校正数据的协议。NTRIP 可扩展支持多基站和多流动站的 RTK 网络。具有多个 NTRIP 设备的网络称为 NTRIP 网络。
NTRIP 网络中有 3 个角色:NTRIP Caster 是一个服务器,负责接收和发送 GNSS 差分数据。从一个或多个基站收集 RTK 校正数据(即 RTCM 数据),再分配给 RTK 流动站。Emlid Caster 和 rtk2go 等是基于云的公共 Caster,可将 RTCM 数据上传到这些中转站,避免自行搭建 Caster。
打开 View -> Configuration View -> PRT 设置:
Target: 1 - UART1
Protocol in: UBX + NMEA + RTCM3
Protocol out: UBX + NMEA + RTCM3
Baudrate: 38400
Databits: 8
Stopbits: 1
Parity: None
然后点击 Send 确认配置

接着选择 MSG (Messages) 选项 -> 逐个选择并设置到 UART1 输出
RTCM3.3 1005
RTCM3.3 1074
RTCM3.3 1077
RTCM3.3 1084
RTCM3.3 1087
RTCM3.3 1094
RTCM3.3 1097
RTCM3.3 1124
RTCM3.3 1127
RTCM3.3 1230

再 View -> Configuration View -> TMODE3 -> 选择:
Mode: Survey-in
Minimum observation time: 120 s
Required position accuracy: 30 m

Q43 作为基站运行时收敛时间较长,建议让基站运行 12 小时后的收敛位置作为基站位置;天线应安装在固定点上,选择天空视野开阔、无遮挡的位置。
下述以 Emlid Caster 公共 Caster 为例测试:
注册并登录 Emlid Caster,获得 NTRIP 安装点
将下图的 My mount points 配置给基站,My rovers 参数配置给流动站,请用同一个 mount point。

Emlid Caster 仅用于测试硬件功能;实际使用时建议自行搭建服务器以确保稳定性。
u-center 不适合作为公网 RTK Caster 服务,可使用 RTK 调试工具将基站数据传送到流动站。 RTK 调试工具根据 NEO-F9P 的指令手册开发,支持快速配置基站模式、NTRIP Client、NTRIP Caster 和 NTRIP Server 等功能,也可根据情况开发更适合现场应用的工具。
打开 RTK 调试工具窗口 1,选择基站对应的串口模块 COM 口,配置好以下参数:
Connect baud: 38400
Host: 164.90.243.252
Port: 2101
Mount: MP24981
Source password: 776XXX
点击 Connect SOURCE,基站数据上传服务器

另外再打开一个 RTK 调试工具窗口 2,选择流动站对应的串口模块 COM 口,配置好以下参数:
Connect baud: 38400
Host: 164.90.243.252
Port: 2101
Mount: MP24981
User: u92454
Password: 353xxx
点击 Connect CLIENT,待出现 RTK Float 后实现 RTK 定位

Q43 NEO-F9P GNSS Helical RTK Module 通过 UART 接到 ESP32,同时也将天线接好,置于开阔的户外,或者至少将定位天线接收器置于可视天空下测试,引脚连接示意表格如下:
| ESP32-S3 | Q43 NEO-F9P GNSS Helical RTK Module |
|---|---|
| GND | GND |
| GPIO17 | SDA |
| GPIO18 | SCL |
| GPIO9 | TX1 |
| GPIO8 | RX1 |
| 3V3/5V | VCC |
这里以 ESP32-S3 测试为例,搭建 ESP32-S3 环境,修改例程中的以下参数。
// 给 ESP 连接 WiFi,让能够获取基站服务器数据
const char* ssid = "mate60"; // 热点 SSID
const char* wifiPassword = "131433"; // 对应密码
// ---------- NTRIP(这里以中海达 CORS 为例,对应修改以下参数) ----------
const char* ntripHost = "120.253.226.97";
const int ntripPort = 8001;
const char* mountpoint = "RTCM33_GRCEJ";
const char* ntripUser = "cvmh11286";
const char* ntripPass = "fyxxx";
下载 程序,在 Q43_NEO-F9P_GNSS_Helical_RTK_Module\ESP32\GetGPS-RTK 文件夹找到 GetGPS-RTK.ino,编译和烧录程序到 ESP32-S3,RTK 流动站定位测试效果如下图所示:

实测 QMC5883P.ino 程序,得到所在环境中 X、Y、Z 三轴磁感应强度,如下图所示:

此小结以 Raspberry Pi + 2 个 Q43 为例进行测试说明:一个设置为基站模式,另一个设置为流动站模式,同时测试地磁传感器实现电子罗盘应用。Linux 系统整体操作差异不大,也可适配 Jetson、RDK 等常见 Linux 主板。建议在空旷、晴朗 ☀️、户外可视天空环境下测试:越空旷、天气越好 ☀️,RTK 定位越稳定、越精准。
通过 GH1.25 线将 Q43 模块接入树莓派的 UART0 和 I2C1 引脚,其中 UART 接到 RTK 定位模组,I2C 接到 QMC5883P 地磁传感器。硬件连接如下图:

打开树莓派的 I2C 和 UART 接口:UART 设置中先选择 NO 关掉 shell 调试串口,再选择 YES 打开 UART 串口,如下图所示:

在树莓派终端下载并运行 Python 3 程序;然后在浏览器输入程序生成的 IP + 端口号,即可打开 NTRIP Server 网页界面。默认是 115200 波特率、串口 ttyAMA0 和 Caster Emlid 的预配置参数,可根据实际情况自定义:
pip3 install flask pyserial
wget https://files.waveshare.com/wiki/Q43_NEO-F9P_GNSS_Helical_RTK_Module/Demo/Q43_NEO-F9P_GNSS_Helical_RTK_Module.zip
sudo unzip Q43_NEO-F9P_GNSS_Helical_RTK_Module.zip
cd Q43-GNSS-Helical-RTK-Module/Raspberry-Pi/
sudo python3 Base-RTK.py

在树莓派新开一个终端运行 Python 3 程序;然后在浏览器输入程序生成的 IP + 端口号,即可打开 NTRIP Client 网页界面。请根据实际 Caster 的参数填写,实现 RTK 精准定位:
sudo python3 Rover-RTK.py

模块板载 QMC5883P 地磁传感器,可以通过 I2C 驱动实现电子罗盘应用,在树莓派上运行以下程序:
sudo python3 Compass-QMC5883P.py
运行程序后,可以获取环境磁场强度以及电子指南针般的体验:

如果需要使用 RTK 功能,请使用 Raspberry Pi Pico 2 W 系列,参考类似 ESP32 的步骤实现 RTK 定位;这里以 Raspberry Pi Pico 2 为例测试普通 GNSS 定位,接线表如下:
| Raspberry Pi Pico 2 | Q43 NEO-F9P GNSS Helical RTK Module |
|---|---|
| GND | GND |
| GP2 | SDA |
| GP3 | SCL |
| GP1 | TX1 |
| GP0 | RX1 |
| VBUS | VCC |
在 Thonny 中打开并运行 GetGPS.py 例程,可以获得原始 GNSS 报文,如下图所示:

运行 QMC5883P.py 例程,可以测量空间磁场强度,如下图所示:

开发板设计文件
周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841
