我不必在Raspberry Pi上設置時鐘(除了時區之外)。時間從哪裡來?關於它的準確性如何?
我不必在Raspberry Pi上設置時鐘(除了時區之外)。時間從哪裡來?關於它的準確性如何?
Raspbian從 NTP服務器(“時間服務器”)獲取時間。
完全拔下Raspberry Pi的電源,拔出網絡電纜,然後啟動Raspberry Pi再次。您會看到日期和時間不正確。
如果您希望/需要在不連接互聯網的情況下不重置日期和時間,則需要使用實時時鐘(RTC)-例如,類似 this的東西-通過使用電池運行時鐘來保持當前時間。同樣,這也是您的計算機在不通電時如何保持時間的方法。
更新請注意,上述RTC時鐘並不是保持時鐘的唯一方法。功率損耗之間的時間精確。您還可以使用GPS模塊,並將其連接到GPIO引腳。
準確性,這是非常準確的,即使您的時鐘時間間隔很短。由於服務器的更改會逐漸應用於您的本地時鐘,因此最多可能需要3個小時來進行自我糾正。網絡穩定性對準確性有最大的影響,因為不可預測的網絡(更多的無線設備,例如 3G)將使其很難準確。簡而言之:準確性非常好,您的計算機與實際時間(通過NTP服務器)之間的時間差通常小於100ms。
摩根的答案給了我解決問題所需的提示。
轉到 http://support.ntp.org/bin/view/Servers/ NTPPoolServers
選擇您的區域,然後將顯示您的國家和服務器列表。
編輯/etc/ntp.conf文件,例如
sudo vim /etc/ntp.conf
將服務器列表替換為您在網頁中找到的服務器列表。例如
服務器0.dk.pool.ntp.org iburst
服務器1.dk.pool.ntp.org iburst
服務器2.dk.pool.ntp.org iburst
服務器3.dk.pool.ntp.org iburst
保存並退出。
重新啟動ntp守護進程。
sudo /etc/init.d/ntp重新啟動
檢查日期是否正確。
date
2013年6月20日星期四13:39:20
在我的一台服務器中,日期被立即更改。另外,我不得不等待幾分鐘。
如果您使用的是 fake-hwclock
包,它還會執行時間戳保存技巧,以防止重置時鐘。設備關閉時,時間不會提前,因此會滯後。內部時鐘在開啟時也會漂移一點。
如果您具有Internet連接(或與服務器局域網連接)並運行ntp(ntpd / ntpdate),則可以通過網絡獲取時間,因為其他答案指出。當同步時,它確實非常準確。在線服務器也將為您提供共識的“世界時間”。
Raspberry Pi沒有集成的實時時鐘(RTC)來提高成本效益:請參閱問題“為什麼沒有實時時鐘(RTC)?”在官方常見問題解答中。這意味著當您拔下Raspberry Pi時,它會浪費時間。重新打開電源時,時間將初始化為1970年1月1日(又名 Unix時代)。
Raspberry Pi使用 NTP設置網絡時間。 a>,計算機之間時鐘同步的協議。由於某些計算機專用於使用原子鐘進行時間計算,因此該協議在Internet上被廣泛使用以確保計算機具有相同的時間並具有高度的可靠性。
ntpd
是啟動啟動時間的守護程序(後台軟件),它負責使用NTP協議進行時間同步。可以使用文件 /etc/ntp.conf
配置 ntpd
。例如,您可以在此處設置服務器以請求時間。
Raspbian Stretch似乎有所改動。簡而言之,不再安裝ntp。運行 dpkg -l | grep ntp
不返回任何內容。
顯然,Stretch放棄了 ntp
應用程序,轉而使用systemd。檢查 man timesyncd
條目以獲取有關配置設置的詳細信息。 timesyncd
仍使用ntp服務器來更新時間。如果要手動配置這些服務器,則可以在 /etc/systemd/timesyncd.conf
文件中進行配置。
如果您要查找記錄或離線時保持時間,則可能需要添加實時時鐘芯片,例如 DS1307 。