GNSSTimeServer:自制GPS时间服务器,全开源、硬件自组,支持GPS、北斗等卫星信号

想要让网络设备的时间精准到秒?别再忍受公网上 NTP 污点、抖动、跳秒带来的烦恼了!今天给大家安利一个自制 Stratum-1 GNSS 时间服务器——
GNSSTimeServer,全开源、硬件自组,真正一把手造神器。

啥是 GNSSTimeServer?
说白了,它就是一台基于 ESP8266/ESP32 + GNSS 模块的 NTP/RDATE 服务器。靠着 GPS、北斗、GLONASS、Galileo 卫星信号,同步一块 DS3231 TCXO 实时时钟(内部还有温度补偿水晶振),最后提供毫秒级、甚至微秒级的网络校时服务。硬件成本几十块,刷个固件就能立即跑起来。

它能帮你干啥?

  • • 架设自家专属 Stratum-1 服务器,不再依赖外网 NTP 污点

  • • 大型分布式系统、金融交易、工业自动化等场景,对时间精准度要求高

  • • 局域网内一键秒级同步,告别“时间漂移”

  • • DIY 乐趣:把玩软硬件、定制外壳、折腾网络拓扑

解决了哪些痛点?

  • • 公网 NTP 服务器不稳定,可能被墙、被 DDOS

  • • 高精度商业时钟太贵,上万甚至几十万

  • • 现成硬件灵活性受限,自制还能折腾个性化仪表盘

  • • 多协议支持(NTP & RDATE),兼容老旧设备

安装与使用
整个流程,别太复杂。分三步:硬件、刷固件、配置网络。

硬件清单

说明

ESP8266/ESP32 开发板

推荐 ESP32(多任务 RTOS 支持更好)

DS3231 TCXO RTC 模块

温补晶振,背后有 CR2032 电池

GNSS 模块

Neo-6M V2、ATGM336H、TAU1201 均可

OLED 屏(1.3" SH1106)

实时状态一目了然

18650 电池 + TP4056

断电保护、掉电告警

(可选)W5500 以太网模块

稳定有线网络,减少 WiFi 抖动

刷机和配置分两步:

  1. 1. 下载源码并安装依赖

    git clone https://github.com/Montecri/GNSSTimeServer.git
    cd GNSSTimeServer
    # 打开 Arduino IDE 或 PlatformIO,安装 paullstoffregen/Time、TinyGPSPlus、U8g2 等库
  2. 2. 修改配置 & 烧录

    • • 打开 config.h,填入你的 WiFi 名称/密码、Syslog 服务器地址

    • • 选择对应的开发板(ESP8266 或 ESP32),上传固件

    • • 开机后通过串口查看启动日志,OLED 会显示卫星锁定状态、IP 地址等

刷好后还可以访问内置的 Web 仪表盘:

  • • 单 HTML 文件、Base64 图标、GZip 压缩,只有 ~20 KB

  • • 实时 JSON 更新,不刷新页面即可看到:卫星数、信号强度、锁定精度、MCU 温度、堆栈剩余空间、NTP 请求数……

功能一览

功能

说明

多星座 GNSS 锁定

GPS/BeiDou/GLONASS/Galileo,精度 <100 ns

本地 RTC + TCXO

停电也能维持秒级计时

NTP & RDATE 支持

RFC-868 & NTP 协议兼容终端

WiFi / AP / 以太网

灵活联网,W5500 硬件加速

OTA 在线升级

Web 界面一键更新固件

Syslog 日志

运行状态、错误信息可远程收集

仪表盘 & OLED 显示

数据分离布局,时刻掌握运行状态

优缺点,真香还是雷?

优点

  • • 极高性价比:几百块就能搞定 Stratum-1 服务器

  • • 完全开源:软硬件设计、3D 机壳、压缩脚本都在仓库里

  • • DIY 玩趣:自定义面板、二次开发随心

  • • 低功耗:18650 续航好,RTC 电池补偿

缺点

  • • 初学者上手门槛略高:要会焊接、刷固件、网络基础

  • • ESP8266 WiFi 下 RTOS 限制:建议用 ESP32

  • • DS3231 某些山寨板有充电缺陷:需手动拆电阻/二极管改造

  • • 高精度场景还需专业校准:天线布局、磁场屏蔽没做足,精度会受影响

总结
GNSSTimeServer 是一款能让你花小钱玩出大精度、自给自足的 Stratum-1 时间服务器。无论你是网络工程师想避坑,还是电子发烧友爱折腾,它都能带来十足的成就感。动手搭建后,整屋设备同一时间源,下次开会、打卡、财务对账再也不用担心 “时间偏差” 的尴尬!

项目地址:
https/github.com/Montecri/GNSSTimeServer

发表评论