Time
時間同步,使用 NTP 還是只使用套接字?
我正在使用 PC 和樹莓派(都執行 Linux)來收集感測器數據,樹莓派收集雷射掃描數據,PC 收集相機擷取的圖像。我必須為這兩台機器同步時間。我希望它們之間的時間差可以小於1ms。
我直接用網路連接它們,所以我不能使用一些眾所周知的 NTP 伺服器。我在樹莓派上 ping PC,ping 時間小於0.6ms。我提出了兩個想法:
- 將 PC 視為NTP伺服器,樹莓派會從中同步時間。
- 在它們之間創建一個套接字連接,樹莓派只是在連接建立時將它的時間戳發送給PC,這樣我們就可以知道兩台機器的時間差。
哪個是更好的主意?或者你有什麼更好的想法嗎?如何計算兩台機器之間的實際時間差?我可以將時間差限制在 1ms 以內嗎?
套接字思想是RFC 868 中記錄的古老的時間協議。基於該協議同步系統時間的實用程序稱為rdate。
您最好使用 NTP,因為 NTP 將跟踪兩個系統的時鐘如何隨著時間的推移自然地分開並進行校正。時間協議應該保留在 NTP 不可行的情況下,例如嵌入式系統資源太緊而無法執行像 NTP 這樣複雜的東西(rpi 不是)。