我知道Raspberry Pi不带有系统时钟以节省金钱。我该如何保持系统时间?

#1 楼

软件解决方案

保持系统时间最流行的方法是通过网络时间协议守护程序(NTPd)。


NTPd是最常见的同步系统时间的方法。具有使用网络时间协议的Internet时间服务器的GNU / Linux系统的软件时钟。


NTPd应该已经安装并在默认操作系统Debian Squeeze上设置。尽管对于Arch Linux,您将需要手动安装和配置它。

首先应该安装NTP。

$ sudo pacman -S ntp


现在您可以手动更新通过命令行。

$ sudo ntpd -qg


或者您可以在启动时通过将其添加到/etc/rc.conf文件将其添加到守护程序列表中。像这样。

# /etc/rc.conf
DAEMONS=(!hwclock ntpd)


请注意,您需要在守护程序列表中的前面加上感叹号(hwclock)来禁用!


来自mlp的提示:如果将ntpdate添加到守护程序列表中,则启动后的时间将大大缩短。因此,您的守护程序列表将如下所示。

# /etc/rc.conf
DAEMONS=(!hwclock ntpd ntpdate)


评论


不建议使用ntpdate:support.ntp.org/bin/view/Dev/DeprecatingNtpdate

–热切费拉瓦里
2012年8月12日15:23

/etc/rc.conf也已弃用。

– rubenvb
13年2月8日在22:32

如果不赞成使用/etc/rc.conf,那么有什么选择?这正是我所需要的。

–乔纳森·费舍尔(Jonathan S. Fisher)
2013年4月1日14:17在

@exabrial systemctl enable ntpd.service类似于添加到/etc/rc.conf中。

– Lekensteyn
2013年5月10日13:34



全新安装使它可以从各种来源获取时间,这些来源可能与Master时钟相距很多跳。有关详细信息以及您将其更改为time.nist.gov的原因,请参阅以下问答:raspberrypi.stackexchange.com/questions/68811/…

– SDsolar
17年6月24日在4:50

#2 楼

硬件解决方案
如果要保证RPi上的时间总是正确的,或者要保持没有网络连接的时间,则需要购买带有实时时钟(RTC)的扩展板:至少有一个可用的,至少有一个正在开发中。
可用的RTC扩展板


CJE Micros的Raspberry Pi的RTC模块


正在开发的RTC扩展板


UT Electronics的具有I2C电压保护的RTC模块(测试阶段)


#3 楼

对于非联网的应用程序(或网络时间可能不够好的应用程序),您可以将RTC时钟(@Alex Chamberlain的答案)设置为GPS接收器或VLF接收器的时间(在欧洲西北地区,这将是Rugby MSF) 。两者对于现场部署的设备(机器人,现场监控等)都是很好的解决方案。

这两种解决方案也将是一个不错的爱好项目。我记得在1980年代制造过橄榄球MSF接收器。现成的GPS接收器(“ puck”)将以NMEA 0183句子给出时间和日期-然后,这将是提取此信息的简单编码项目。

评论


有趣的是,现在实际上是从Cumbria的Anthorn广播电台而不是Rugby广播MSF时间信号。

–煽风点火
2012年11月13日在16:18

目前不在英国居住,我已经有一段时间没有开车去M1了:那么他们是否把“森林”砍掉了? (我假设在达文垂附近的海军桅杆还在那儿)

– winwaed
2012年11月13日在16:38

不确定-我在M1的国家方面错了。但是,根据en.wikipedia.org/wiki/Rugby_Radio_Station的报道,橄榄球广播电台似乎已在2007年中期停止活动-涉及拆除工作,包括照片。这里有一个视频:youtube.com/watch?v=bx2lhSUuGqU。不过,在Google街景视图上仍然可以看到桅杆,我可以肯定这是比2007年更新的图像。

–煽风点火
2012年11月14日13:07



在Wikipedia上环顾四周,在达文垂(Daventry)没有提及“海军”桅杆,所以我一定会误会-只是一个非常古老(现已拆除)的帝国发射器。因此,现在M1驱动器变得更加无聊!

– winwaed
2012年11月14日14:03

#4 楼

在具有systemd的Arch Linux上安装NTP守护程序:

sudo pacman -S ntp
sudo systemctl enable ntpd
sudo systemctl start ntpd


在我的情况下,请确保正确设置了时区:

sudo rm /etc/localtime
sudo ln -s  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime


#5 楼

如果您不想一直在系统上运行NTP,则可以使用以下几种不同的选项之一来设置时间:



ntpdate-安装后它设置系统以获取出现任何接口的时间(尽管“已弃用”它仍被广泛使用)。 />
tlsdate-使用TLS / SSL服务器作为时间源的更安全的选择。

显然,由于所有时钟都会漂移,因此您的时钟不会像使用NTP一样准确。由于这些应用仅使用单个时间源,因此如果它们选择的源有问题,它们可能会导致设置错误的时间。