Answers:
保持系统时间最流行的方法是通过网络时间协议守护程序(NTPd)。
NTPd是使用网络时间协议将GNU / Linux系统的软件时钟与Internet时间服务器同步的最常用方法。
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)
systemctl enable ntpd.service
类似于添加到中/etc/rc.conf
。
如果要确保RPi上的时间总是正确的或者要保持没有网络连接的时间,则需要购买带有实时时钟(RTC)的扩展板:至少有一块可用的至少有一个正在开发中。
对于非联网的应用程序(或网络时间可能不够好的应用程序),您可以将RTC时钟(@Alex Chamberlain的答案)设置为GPS接收器或VLF接收器的时间(在NW Europe中为Rugby MSF) 。对于现场部署的设备(机器人,现场监控等),这两者都是极好的解决方案。
两种解决方案都将成为良好的爱好项目。我记得在1980年代制造过橄榄球MSF接收器。现成的GPS接收器(“冰球”)将以NMEA 0183句子给出时间和日期-然后,这将是提取此信息的简单编码项目。