1. 项目概述与核心价值
如果你对无人机测绘、精准农业或者任何需要厘米级定位精度的项目感兴趣,那么“实时动态定位”这个词你一定不陌生。传统的单点GPS定位精度在几米到十几米,对于很多精细化的工程应用来说,这远远不够。而RTK技术,正是实现亚米级甚至厘米级定位的关键。其核心原理并不复杂:一个已知精确坐标的基准站,通过计算自身接收到的卫星信号与理论值的偏差,生成“差分改正数据”,然后实时发送给附近的流动站。流动站应用这些改正数据,就能极大地消除卫星轨道、时钟、大气延迟等公共误差,从而实现高精度定位。
市面上成熟的RTK基准站解决方案,无论是天宝、徕卡还是华测,价格动辄数万甚至数十万,对于个人开发者、小型团队或教育机构来说,门槛太高。这正是我们动手搭建一个DIY RTK基准站的意义所在:用大约240美元的成本,获得一个功能完整、可接入专业CORS网络的基准站。本项目的核心是Unicore UM980这款多频多星GNSS模块,它支持GPS、GLONASS、北斗、Galileo等全星座信号,并原生支持RTCM3.2格式的差分数据输出。而ESP32则扮演了“智能网关”的角色,负责通过串口读取UM980的数据,并通过Wi-Fi网络,以NTRIP协议将数据流式上传到云端服务器(如Onocoy),供流动站订阅使用。
整个搭建过程,从硬件组装、固件配置到网络调试,涉及电子、嵌入式开发和网络通信多个领域。无论你是想深入学习GNSS原理的爱好者,还是急需一个低成本、高可定制化基准站的工程师,这篇指南都将为你提供从零到一、步步为营的实操路径。我会在每一步中,不仅告诉你“怎么做”,更会解释“为什么这么做”,并分享我在调试过程中踩过的坑和总结出的技巧。
2. 硬件选型、组装与内部接线详解
2.1 核心部件深度解析与选型考量
在开始动手之前,理解每个核心部件的功能与选型理由至关重要。这能帮助你在后续遇到问题时,快速定位是硬件故障、配置错误还是环境干扰。
1. Unicore UM980 GNSS接收机这是整个系统的“大脑”。选择它而非更便宜的单频模块,主要基于以下几点:
- 多频点支持:UM980支持L1/L2/L5等多个频段的信号。电离层延迟是GNSS定位的主要误差源之一,其影响与信号频率的平方成反比。通过接收双频甚至三频信号,接收机可以利用不同频率信号受电离层延迟的差异,精确计算出延迟量并予以消除,这是实现高精度、快速固定解(Fix)的基础。
- 全星座跟踪:支持GPS、GLONASS、北斗、Galileo、QZSS、SBAS。更多的可见卫星意味着更优的几何分布(更低的DOP值),尤其在城市峡谷或部分遮挡环境下,系统冗余度和可靠性大幅提升。
- 原生RTCM输出:模块内置RTK引擎,可直接输出标准RTCM 3.2格式的差分改正信息(如MSM4/7消息),无需外部处理器进行复杂的载波相位解算,极大简化了系统设计。
- 成本与开源生态:相比国外同类产品,UM980在提供相近性能的同时,价格更具优势,且在SparkFun等开源硬件社区有较好的支持,资料和固件获取相对容易。
2. ESP32-WROOM-32U微控制器选择ESP32作为主控,而非树莓派或Arduino,是基于一个平衡的考量:
- 双核处理器与丰富外设:ESP32拥有两个240MHz的核心,足以轻松处理UM980输出的高速串口数据(115200 bps及以上)并同时运行Wi-Fi/NTRIP客户端协议栈。其内置的Wi-Fi和蓝牙模块,省去了额外的通信模块。
- 超低功耗与稳定性:在持续运行的基准站场景下,功耗和发热是需要关注的问题。ESP32在运行时的功耗远低于运行完整Linux系统的树莓派,发热量小,更适合封装在密闭盒子里长期运行。其FreeRTOS系统也比树莓派的Linux更不易因内存泄漏等问题导致长期运行崩溃。
- 强大的开源固件支持:本项目使用的
ESP32 NTRIP Duo固件,就是专为ESP32设计的,它集成了Web配置界面、双NTRIP客户端支持、数据透传等功能,开箱即用,免去了从零开发软件的繁琐。
3. GNSS天线与线缆天线是信号输入的第一关,其性能直接决定最终定位质量。
- 天线类型:必须选择大地测量级GNSS天线,而非普通的GPS天线。两者的核心区别在于相位中心稳定性。普通天线在不同方向、温度下,其电气相位中心会漂移,引入厘米级的误差,这对于基准站是致命的。大地测量天线通过精密的设计(如扼流圈、陶瓷介质)确保相位中心高度稳定。
- 线缆选择:天线到接收机之间的线缆会产生信号衰减。LMR240是一种低损耗(Low Loss)同轴电缆,在1GHz频率下的衰减约为每30米2.1dB。对于5米以内的短距离,普通RG-58电缆也可用,但LMR240能保证更纯净的信号。务必确保接头类型匹配(如SMA母头转TNC公头)。
注意:切勿使用车载导航或手机里的那种小型平板天线。它们的增益低、相位中心不稳定,无法满足RTK基准站的要求。投资一个优质天线是项目中性价比最高的一环。
2.2 机箱内部布局与精密组装步骤
组装过程追求的是稳固、整洁和散热。一个松散的内部结构可能在运输或震动中导致连接器松动,引发难以排查的间歇性故障。
步骤一:原型板裁剪与定位
- 将100x150mm的原型板放入铝制机箱,用铅笔标记出需要裁剪的部分,通常需要修剪四个角以适应机箱的圆角。使用钢锯或线锯仔细切割,并用锉刀打磨边缘,防止毛刺划伤线缆。
- 将切割好的原型板放入机箱,初步确定ESP32扩展板和UM980的摆放位置。核心原则是:将UM980放置在靠近GNSS天线接口的一侧,以最短路径连接天线,减少信号损失;同时,确保ESP32的Wi-Fi天线位置远离金属屏蔽和UM980,最好靠近机箱侧壁的预留孔。
- 用铅笔透过原型板上的安装孔,在机箱底板上标记出打孔位置。取下原型板,使用2.75mm或3mm钻头在标记处钻孔,用于固定M3铜柱。
步骤二:主板与模块的固定
- 安装铜柱:使用M3x6mm的铜柱和螺丝,从机箱底板下方将铜柱固定。如果使用3mm钻头导致孔略大,可以在铜柱底部点一滴乐泰243(中等强度螺纹锁固剂)再拧入,确保牢固不旋转。
- 焊接UM980排针:这是整个硬件环节唯一需要焊接的地方。UM980模块的邮票孔间距为2.54mm(0.1英寸)。使用高质量的排针和焊锡,确保每个引脚焊接饱满、无虚焊或桥接。焊接时,可以先固定一个对角线的引脚,调整模块与排针垂直后再焊接其余引脚。务必在通风良好处操作,并避免静电。
- 固定主板与模块:将原型板套在已固定的铜柱上,用M3螺母从上方锁紧。接着,将ESP32扩展板(已插好ESP32模块)用M3螺丝固定在原型板上。最后,将焊好排针的UM980模块,以“子板”的形式,垂直插在扩展板的GPIO排母上。可以在UM980芯片背面与扩展板之间垫一小块导热垫,辅助散热。
步骤三:侧板开孔与外部接口安装
- 规划开孔:在机箱的一个侧板上,规划并标记出以下开孔位置:
- USB-C电源接口(用于5V/3A输入)
- SMA母头(用于外接Wi-Fi天线)
- TNC母头(用于连接GNSS天线)
- (可选)M12通气防水栓(用于平衡内外气压,防止凝露)
- 钻孔与开孔:
- 对于USB-C和天线接头,需要使用阶梯钻头或开孔器。先用小钻头(如3mm)打定位孔,再用对应尺寸的开孔器(USB-C约12mm,SMA/TNC接头需根据具体型号,通常为8mm或10mm)扩孔。操作时务必固定好侧板,缓慢施压,防止铝材变形或钻头打滑。
- 对于M12通气栓,使用12mm钻头即可。
- 安装接口:将面板安装式USB-C插座、SMA和TNC接头从内侧装入开好的孔,拧紧配套的锁紧螺母。在TNC接头内部线缆焊接点或压接点处,可以点一些热熔胶或使用防水胶泥,防止线缆因拉扯而脱焊。
2.3 系统供电与信号连接实战
正确的供电和信号连接是系统稳定运行的基石。任何一点接触不良或电源噪声都可能导致数据中断或模块重启。
1. 电源系统连接
- 原理:整个系统由单一的5V/3A电源适配器供电。ESP32扩展板上的AMS1117-3.3稳压芯片将5V降压为3.3V,为ESP32核心供电。同时,扩展板通过一个跳线帽,可以选择将输入的5V直接引到某一排GPIO上,为UM980供电。
- 操作:找到ESP32扩展板上的“5V/3.3V”选择跳线。将其短接到“5V”一侧。这样,扩展板上标有“5V”的引脚(通常来自USB输入)就与为UM980供电的那排引脚连通了。
- 连接:使用一根杜邦线(建议用红色),一端插入扩展板标有“5V”或“VIN”的引脚,另一端准备连接到UM980的Pin 8 (VCC)。
2. UART通信线路连接这是ESP32与UM980“对话”的通道。
- 引脚定义确认:
- UM980 COM1: Pin 9 (RXD) - 接收数据, Pin 10 (TXD) - 发送数据。
- ESP32 UART0: 默认对应GPIO1 (TX) 和 GPIO3 (RX)。在大多数扩展板上,这两个引脚会被标记为“TX”/“RX”。
- 交叉连接原则:记住“TX接RX, RX接TX”。即发送端要连接到接收端。
- 具体接线(使用杜邦线):
- UM980 Pin 10 (TXD) -> ESP32 扩展板上的 “RX” 引脚。
- UM980 Pin 9 (RXD) -> ESP32 扩展板上的 “TX” 引脚。
- UM980 Pin 11 (GND) -> ESP32 扩展板上的任一“GND”引脚。
3. 天线连接
- Wi-Fi天线:将外接的SMA接口Wi-Fi天线拧到侧板的SMA母头上。天线引线另一端的IPEX接头,插入ESP32模块上的Wi-Fi天线座。这个小接头非常脆弱,插入时要对准缺口,垂直轻轻按下,听到轻微“咔”声即可,切忌左右摇晃。
- GNSS天线:将GNSS天线的TNC公头拧到侧板的TNC母头上。确保拧紧,保证良好的屏蔽和接触。
4. 最终检查与上电测试在闭合机箱前,进行最后一次检查:
- 短路检查:用万用表蜂鸣档,检查5V与GND之间是否短路。
- 连接检查:逐一轻轻拉扯每根杜邦线,确保其在排针和排母中插接牢固。
- 临时上电:先不接GNSS天线,仅连接USB-C电源到电脑或充电器。观察:
- ESP32扩展板上的电源LED是否亮起。
- ESP32模块上的蓝色LED(通常为GPIO2)是否会快速闪烁几次(这是ESP32上电自检和启动的迹象)。
- UM980模块上是否有指示灯亮起(通常有电源和状态灯)。 如果任何模块没有上电迹象,立即断电检查。
3. UM980接收机深度配置与固件管理
硬件组装完毕,相当于给系统搭好了躯干。接下来,我们要为“大脑”UM980注入灵魂——通过配置,让它以基准站模式工作,并输出正确的差分数据流。
3.1 UPrecise软件连接与通信建立
Unicore官方的UPrecise软件是配置UM980的核心工具。其本质是一个串口终端,但封装了友好的图形界面和命令集。
- 软件安装与准备:从Unicore官网或可靠来源下载UPrecise。解压密码常为
1234。安装后运行,首先在软件右上角将语言切换为英文,避免命令输入出现编码问题。 - 物理连接与端口识别:
- 使用数据传输型USB-C线(非常重要!很多手机线只能充电),将UM980直接连接到电脑。
- 打开Windows设备管理器(Win+X,选择“设备管理器”)。
- 展开“端口(COM和LPT)”。记下连接前的端口列表。
- 连接UM980,观察设备管理器,通常会新增一个“USB Serial Device”或“Unicore Communications Port”,后面括号里就是COM口号,如
COM6。
- 软件内连接:
- 在UPrecise软件底部,选择对应的COM口。
- 波特率设置为
115200(这是UM980 COM1的默认波特率)。 - 点击“Connect”。如果连接成功,软件下方的状态栏会显示连接信息,并且中间的原始数据窗口可能会有乱码滚动(这是模块输出的默认NMEA数据)。
踩坑实录:如果点击Connect后毫无反应,或者提示“端口被占用”,请依次排查:① 确认使用的是数据线;② 在设备管理器中确认COM口无误;③ 关闭所有可能占用串口的软件(如Arduino IDE、Putty等);④ 尝试以管理员身份运行UPrecise。
3.2 固件版本检查与升级策略
在发送配置命令前,先检查固件版本。固件决定了模块支持的功能和命令集。
- 检查版本:在UPrecise的“Command Entry Box”(命令输入框)中,输入命令
VERSION,然后按回车或点击发送。模块会返回类似以下的信息:
其中$VERSION,UM980,UM980_R4.10Build17548.pkg,0,0*7AUM980_R4.10Build17548.pkg就是当前固件版本。 - 判断是否需要升级:
- 访问SparkFun的GitHub仓库(
https://github.com/sparkfun/SparkFun_RTK_Torch),在Firmware文件夹中查找最新的.pkg文件。对比版本号。 - 升级决策:如果当前版本与最新版本主要版本号不同(如R3.x vs R4.x),通常建议升级,因为可能包含重要功能更新或Bug修复。如果只是小版本Build号不同,且当前模块运行稳定,可以不升级。
- 访问SparkFun的GitHub仓库(
- 执行升级(如需):
- 在UPrecise中,点击菜单栏的“Tool” -> “Firmware Update”。
- 选择下载好的
.pkg固件文件。 - 点击“Update”并等待进度条完成。整个过程必须保持USB连接稳定,千万不能断电!升级完成后模块会自动重启。
3.3 基准站模式与RTCM输出命令精讲
以下是配置命令的逐条详解。在UPrecise的命令输入框中,一次输入一条,按回车,看到返回OK或类似响应后,再输入下一条。
FRESET- 作用:恢复出厂设置。这是一个安全的起点,可以清除之前所有可能混乱的配置。
- 输出:
$command,FRESET,response: OK*4D
CONFIG SIGNALGROUP 2- 作用:配置信号跟踪组。UM980可以灵活配置跟踪哪些卫星系统的哪些频点。
SIGNALGROUP 2是一个预定义的优化组合,通常包含了所有主要系统(GPS L1C/A, L2P; GLONASS L1, L2; 北斗 B1I, B2I; Galileo E1, E5b)的核心频点,在性能与数据量之间取得平衡,非常适合基准站使用。 - 为什么是2?:这是根据Unicore手册推荐的基准站配置。组1可能侧重某些系统,组3可能包含更多频点但数据量更大。选择组2是兼顾兼容性和效率的稳妥选择。
- 作用:配置信号跟踪组。UM980可以灵活配置跟踪哪些卫星系统的哪些频点。
MODE BASE TIME 120- 作用:将模块设置为基准站(Base)模式,并指定时间约束为120秒。
- 深度解析:
BASE模式:在此模式下,模块会以单点定位(SPP)解算出的坐标作为“概略坐标”,然后基于此坐标计算所有可见卫星的载波相位和伪距改正数。这些改正数就是RTCM差分数据的来源。TIME 120:这是一个关键参数。它告诉模块,在启动后的前120秒内,即使单点定位解算出的坐标精度不高(可能几十米),也强制以这个坐标作为基准开始生成差分数据。120秒后,模块通常会收敛到一个更精确的坐标。设置这个时间,是为了让基准站能快速启动并开始播发数据,避免等待长时间的单点定位收敛。对于固定站,最终精确坐标可以通过后续静态测量获得并注入。
GNGGA 1/GNGSV 1/GNGSA 1/GNGST 1/GNRMC 1- 作用:激活特定的NMEA 0183语句输出。NMEA是文本格式的定位数据,人类可读,常用于状态监控。
GGA:包含时间、位置、定位类型、卫星数、HDOP等核心信息。GSV:查看天空卫星信息。GSA:查看DOP值和参与解算的卫星。GST:包含定位误差统计信息。RMC:包含时间、日期、位置、速度等最小推荐信息。- 将它们打开(参数为1),便于我们通过串口监控模块的工作状态。
RTCM1005 COM1 30/RTCM1033 COM1 30- 作用:配置输出RTCM 3.2格式的“基准站坐标信息”和“天线描述信息”。
- 深度解析:
1005消息:包含基准站的地心坐标(X, Y, Z)。流动站需要知道基准站的确切坐标(通常是经过长时间静态观测得到的精确坐标)才能进行差分计算。在初始阶段,模块会使用单点定位的坐标填充此消息。后期你需要用精确坐标更新它。1033消息:描述基准站天线的类型和天线参考点(ARP)到相位中心(APC)的偏移量。高精度定位必须考虑天线相位中心偏差,此消息用于纠正该偏差。COM1:指定从COM1串口输出。30:输出间隔为30秒。这些信息变化很慢,无需高频输出。
RTCM1077 COM1 1/RTCM1087 COM1 1/RTCM1097 COM1 1/RTCM1117 COM1 1/RTCM1127 COM1 1/RTCM1137 COM1 1- 作用:配置输出RTCM 3.2 MSM(多星座信号消息)格式的原始观测值数据。这是RTK解算的“粮食”。
- 深度解析:
1077:GPS的MSM4(全伪距和相位观测值)。1087:GLONASS的MSM4。1097:Galileo的MSM4。1117:北斗的MSM4。1127:QZSS的MSM4。1137:SBAS的MSM4。
COM1:从COM1输出。1:输出间隔为1秒。这是RTK的典型更新率,保证流动站能获得连续的观测值流。
RTCM1230 COM1 30- 作用:输出GLONASS的码-频偏差信息。由于GLONASS卫星采用频分多址(FDMA),不同卫星频率略有差异,此消息用于校正由此产生的硬件延迟偏差,对于使用GLONASS信号的RTK至关重要。
输入完所有命令后,你会在UPrecise的数据窗口看到大量数据滚动,其中包含文本格式的NMEA语句和二进制格式的RTCM数据(显示为乱码)。这表示UM980已经配置成功,正在以基准站模式工作,并通过COM1每秒输出RTCM差分数据流。
4. ESP32 NTRIP客户端配置与网络集成
现在,UM980已经开始“说话”(输出RTCM数据)了。接下来,我们需要让ESP32学会“倾听”(读取串口数据)并“转述”(通过Wi-Fi上传到互联网)。这通过刷写专用的ESP32 NTRIP Duo固件来实现。
4.1 ESPHome Web Flasher 刷机实战
这是一种无需安装复杂开发环境、直接在浏览器中给ESP32刷写固件的方法,非常便捷。
- 获取固件:从项目发布页(如GitHub)下载最新的
esp32-ntrip-client.bin文件。 - 硬件连接:使用USB数据线,直接连接到ESP32模块本身的USB-C口,而不是扩展板上的USB口。确保连接可靠。
- 进入刷机模式:大多数ESP32开发板需要通过按钮组合进入固件下载模式。典型操作是:按住BOOT按钮不放,然后按一下EN/RST按钮,随后松开EN/RST按钮,最后松开BOOT按钮。此时,ESP32应进入等待刷机的状态。
- 访问刷机页面:在Chrome或Edge浏览器中,访问
https://web.esphome.io/。这是一个官方的Web版刷机工具。 - 连接与安装:
- 点击“Connect”,在弹出窗口中选择你的ESP32对应的串口(在设备管理器中查看,通常与UM980的不同)。
- 连接成功后,点击“Install”。
- 选择“Manual download”,然后点击“Browse”并选择你下载的
.bin固件文件。 - 点击“Install”开始刷写。进度条会显示刷写过程,大约需要一分钟。
- 刷写完成后,点击“Close”。你可以按下ESP32的EN/RST按钮重启,或者重新插拔USB线。
4.2 Web配置界面接入与Wi-Fi设置
刷机完成后,ESP32会启动并创建一个临时的Wi-Fi接入点(AP)。
- 连接ESP32的AP:用手机或电脑搜索Wi-Fi网络,会找到一个名为类似
ESP32-NTRIP-XXXX的网络。连接它,密码通常为空或为password。 - 访问管理页面:打开浏览器,输入默认IP地址
192.168.4.1。你将看到ESP32 NTRIP客户端的Web配置界面。 - 配置主Wi-Fi网络:
- 这是让ESP32接入互联网的关键一步。在配置页面找到“Wi-Fi Settings”或类似选项。
- 点击“Scan”扫描周围的Wi-Fi网络。
- 从列表中选择你的家庭或办公室Wi-Fi网络(SSID)。
- 输入正确的Wi-Fi密码。
- 点击“Submit”或“Save”。设备会自动重启并尝试连接你配置的网络。
- 验证连接与获取IP:重启后,ESP32会首先尝试连接你配置的主Wi-Fi。如果连接成功,它将不再默认开启AP模式(除非配置保留)。你需要到你的路由器管理界面,查看DHCP客户端列表,找到名为
esp32-ntrip的设备,记下其获取到的IP地址(例如192.168.1.105)。以后就用这个IP地址来访问ESP32的配置页面。
4.3 NTRIP服务器配置详解
NTRIP是用于通过互联网传输RTCM差分数据的标准协议。ESP32 NTRIP客户端需要知道将数据发送到哪里。
- 理解NTRIP参数:在配置页面找到“NTRIP Client A”设置。
- Enable:勾选启用。
- Host:这是NTRIP Caster(数据分发服务器)的地址。对于Onocoy服务,就是
servers.onocoy.com。如果你使用其他服务(如自建的RTKlib Caster),则填写对应的服务器地址或IP。 - Port:NTRIP Caster的端口。常见端口是2101(明文)或443(SSL加密)。Onocoy使用2101。
- Mountpoint:挂载点。这类似于一个数据流的唯一标识符或频道名。必须与你在Onocoy仪表板上创建的挂载点名称完全一致,区分大小写。
- Password:挂载点的密码。同样来自Onocoy仪表板。
- Username:有些Caster需要用户名,Onocoy通常将用户名和挂载点名称设为一样,或者留空,具体以服务商说明为准。
- 串口参数配置:在同一页面或“Serial Settings”中,配置与UM980通信的串口。
- UART Port:选择
UART0(通常对应硬件TX0/RX0)。 - Baud Rate:设置为
115200,与UM980 COM1的波特率匹配。 - Data Bits/Stop Bits/Parity:通常为8-N-1(8位数据,无校验,1位停止位),这是默认值,一般无需更改。
- UART Port:选择
- 提交与重启:填写所有信息后,点击“Submit”。设备会再次重启。重启后,ESP32会执行以下流程:连接Wi-Fi -> 连接NTRIP Caster服务器 -> 从串口读取UM980的RTCM数据 -> 将数据流式上传到服务器。
4.4 状态监控与故障诊断
配置完成后,如何知道一切是否正常?
- 查看ESP32状态页:通过浏览器访问ESP32的IP地址,通常有一个“Status”页面。这里你应该能看到:
- Wi-Fi连接状态:
Connected,并显示信号强度(RSSI)。 - NTRIP Client A状态:理想情况下应为
Connected。如果显示Connecting...或Error,则需要排查。 - 串口数据统计:显示
RX(接收,来自UM980)和TX(发送,到网络)的字节数。如果系统工作,这两个数值应该会稳步增长。
- Wi-Fi连接状态:
- 查看Onocoy仪表板:登录你的Onocoy账户,找到你创建的挂载点。状态可能依次显示为:
Inactive:未收到数据。Unvalidated:已收到数据流,但服务器正在检查数据格式和完整性,尚未开始计算精确坐标。这是成功的第一步!Validating:服务器正在利用收到的数据,结合已知的精确坐标(可能需要你后期注入)或网络资源,计算基准站的精确位置。这个过程可能需要24-36小时。Active:验证通过,基准站坐标已精确确定,数据流正式对外播发,可供流动站使用。
- 常见故障排查:
- NTRIP状态始终为“Connecting”或“Error”:
- 检查网络:确认ESP32的Wi-Fi已正确连接互联网。可以尝试在ESP32配置页面Ping一个外网地址(如果有此功能)。
- 检查服务器地址和端口:确认
Host和Port无误。2101端口是否被你的网络防火墙屏蔽?尝试更换为443端口(如果服务器支持)。 - 检查挂载点和密码:逐字符核对,确保没有多余空格,大小写正确。
- 串口RX字节数不增长:
- 检查物理连接:确认UM980的TXD是否接到了ESP32的RXD。
- 检查UM980配置:用UPrecise重新连接UM980,确认其COM1是否有数据输出(看NMEA数据是否滚动)。
- 检查波特率:确认ESP32串口配置的波特率与UM980的115200一致。
- Onocoy仪表板一直显示“Inactive”:
- 检查数据流内容:最可能的原因是ESP32发送的数据不是有效的RTCM3.2格式。确保UM980的配置命令(特别是RTCM1xxx系列)已全部正确发送并生效。
- 检查网络连通性:确保ESP32能访问互联网,并且能连接到
servers.onocoy.com:2101。
- NTRIP状态始终为“Connecting”或“Error”:
当Onocoy仪表板状态变为Validating或Active时,恭喜你,你的DIY RTK基准站已经成功搭建并接入网络,开始为世界贡献厘米级的定位修正数据了。你可以使用任何支持NTRIP的RTK流动站(如搭配RTK功能的无人机、手持机或手机APP),输入你的挂载点信息和服务器地址,即可享受到来自你自己基准站的高精度定位服务。