NTP 服务器终于做好了。

不少朋友已经看到了我发的那张拿热熔胶固定排线,套着嘉立创免费打样外壳,闪着红光绿光的成品了,照理说我应该写一篇教程,谈谈如何选购开发板,天线,rtc芯片,以及应该怎么操作,怎么接线,怎么写dts,然后po出一堆图片和代码在这里。但我现在不想谈技术。我只想谈谈我为什么要做这件事。
迷茫
项目的初衷源于我最近的迷茫,我陷入了一种近乎偏执的、对“时间”本质的怀疑中。
我开始执着于一个听起来也许有点魔怔的问题:为什么一秒是一秒?
wiki告诉我们,现代公认的1秒是铯-133 原子基态的两个超精细能级之间跃迁对应辐射的 9,192,631,770 个周期所持续的时间。这听起来很科学,很坚固,不可动摇。
这个数字是如此精确。
“秒”这个概念,归根结底,是人类为了度量宇宙而强行划定的刻度。它越是精准,我反而越觉得虚无。时间本是一条没有尽头、也没有起点的暗河,而我们人类只是在河边随意插了一根人类视角里极其精准的木棍,然后指着它说:“看,这是一秒。”
这种“人为制定”的感觉让我心慌。我想不通时间的本质,一切被定义好的规则都是摇摇欲坠的。如果没有人去定义那一秒,时间还在流逝吗?
锚定
我想不通,这对于一个文科生来说简直太过于科幻了。
所以我退而求其次。既然我无法从哲学上定义时间,那我至少想在物理层面上亲手“抓住”时间。
我厌倦了依赖互联网上的时间服务器。那些时间包经过了不知多少个路由,经过了数万米的电缆,光纤,经过了充满不确定性的排队转发。当你看到它时,它已经是“过去”的时间,带着不可预知的延迟,即使经过ntp协议的校准,但那不是我要的真实。
我想找个锚定物,让一秒,实实在在地就是一秒。
这就是我搭建这台 NTP 服务器的全部动机。
当LED灯亮起
现在,这台小小的服务器就躺在我的开放式机柜里。
它通过一根同轴电缆,连接着我拿热熔胶粘在窗台上的天线,锁定头顶飞掠而过的卫星。当卫星上的原子钟将那个精准的脉冲信号发射出来时,它穿过大气层,触达我的天线,最终触发我电路板上的引脚电平跳变。那个红色的pps指示灯闪了一下,接着,又是一下,它一秒一秒的跳着。
就在那一瞬间,我知道,我抓住了。
没有网络拥堵,没有路由转发,没有人为的模糊。
看着屏幕上 offset 被压制在微秒级别,看着 PPS 信号被锁定,那种因为虚无而产生的焦虑感消失了。在这里,一秒不是一个模糊的概念,它是一个看得见、摸得着的电信号。
我依然没有参透时间的奥义,依然不知道人生的这一秒和下一秒有何终极意义。但在我的房间里,只要那个灯还在规律地闪烁,我就能确定一件事:
这一秒,它确确实实就是一秒。
这就够了。