2017-07-14 41 views
8

我有3個樹莓3模型B設備。他們的操作系統是Windows 10 IOT,它們是在同一天(昨天)安裝的。我怎樣才能保持樹莓時間的精確?

我對他們的計時有非常奇怪的經驗,他們是非常不準確的。其中一些在正確的時間後面一些,而另外一些則在3-4分鐘之內。常見的行爲是不準確的。

我試圖通過在啓動計劃腳本中調用「w32tm/resync/force」來強制在每次啓動時進行同步。它似乎沒有任何幫助。

我也嘗試過使用不同的Wi-Fi網絡(來自不同的供應商),所有這些問題都存在。

當queriing由W32TM /查詢/狀態時間狀態我得到以下的結果:

裝置1

飛躍指示器:3(最後一分鐘有61個秒爲單位) 階層:0(未指定) 精度:-23(每個時鐘週期的119.209ns) 根延時:0.0000000s 根差:0.0000000s ReferenceId:00000000(未指定) 最後一次成功同步時間:不詳 來源:本地CMOS時鐘 輪詢間隔:10(1024S)

設備2

飛躍指示燈:0(無警告) 階層:3(二次參考 - 由(S)NTP SYNCD) 精度:-23(119.209每個時鐘週期) 根延遲NS:0.1734432s 根差:0.4173777s ReferenceId:0x338C7FC5(源IP:51.140.127.197) 最後一次成功同步時間:2017年7月14日上午7點48分12秒 來源:時間。 windows.com,0x9 輪詢間隔:15(32768s)

設備3

飛躍指示燈:0(無警告) 階層:3(二次參考 - 由(S)NTP SYNCD) 精度:-23 根延遲(每個時鐘週期的119.209ns):0.1850726小號 根差:16.7226250s ReferenceId:0x338C7FC5(源IP:51.140.127.197) 最後一次成功同步時間:2017年7月14日上午11時42分52秒 來源:time.windows.com,0x9 輪詢間隔: 10(1024s)

我在網上讀了關於th的話題問題,但我找不到任何工作解決方案。我對我來說似乎很陌生,時間應該是大多數應用程序的關鍵因素,所以必須有一個解決方案。

你會如此善良,幫助我解決它嗎?任何建議都高度appriciated!

+0

你的意思是顯示在DefaultApp上的時間? –

+0

在我們開發的UWP無頭應用程序中。我知道DefaultApp的時間是不準確的,即使我的代碼讀取的系統時間正確。 – Tom

+0

你有沒有嘗試使用網線而不是WiFi?這三款設備可以同時使用嗎? –

回答

2

的鏈接首先,我必須聲明,我沒有觸及的Windows 10着呢,我沒碰覆盆子然而。另一方面,我看到下面的方法可以解決所有時間同步問題,並且有很多Windows機器可以嘗試。

的問題(根據我的經驗):

1)time.windows.com是極不可靠。在我的設置和幾個客戶的設置中,在大多數情況下,即使沒有無線連接,並且即使存在可靠的高數據速率/低延遲時間,在即時安裝Windows之後,時間也無法可靠地同步連接到互聯網提供商。

2)Windows似乎以不尋常的方式(我們也可以說:錯誤的方式)查詢NTP服務器。儘管我對NTP的深入程度不夠詳細,但作爲客戶端的Windows似乎將所謂的「對稱活動」數據包發送到服務器,而不是正常的「客戶端數據包」。所以起初它與其他(標準)NTP服務器的工作非常不可靠。

可能的解決方案

解決問題1)是顯而易見的:你的網絡中的某處安裝一個標準NTP服務器。如果你手邊有一個Linux機器,我最終可以幫助你正確地配置它。然後,通過電纜將Raspberrys連接到此NTP服務器,Raspberrys將解決方案應用於問題2(見下文)。

對於問題2)的解決方案不太明顯,並且涉及Windows時間服務設置了一個未記錄的標誌(至少它在Windows 7 Pro中沒有記錄,我現在掌握在這裏)。您已經查詢過Windows時間服務狀態,並且您向我們顯示了輸出。請注意以下部分從輸出(例如,用於設備2):

Source: time.windows.com,0x9 Poll Interval: 15 (32768s)

問題是0x9這應該是0x8。要更改標誌,打開命令行窗口以管理員身份(只是屬於管理組是不夠的),並執行以下命令:

w32tm /config /manualpeerlist:xxx.xxx.xxx.xxx,0x8 /syncfromflags:MANUAL

注意正確的標誌0x8如何加入(當然,xxx.xxx.xxx.xxx是你的NTP服務器的IP地址,但你也可以給一個正常的主機名(例如ntpserver.example.org)。基本上,上面的行告訴Windows時間服務它應該同步到哪個服務器,它應該同步只有到該服務器,並且它應該向該服務器發送正常的客戶端請求數據包(而不是主動對稱數據包)。

完成此操作後,必須通過更新其配置(我更喜歡第一個配置)重新啓動Windows時間服務來應用更改。

如果再次查詢狀態,會出現在你的輸出以下部分:

Source: xxx.xxx.xxx.xxx,0x8 Poll Interval: xx (xxxxxs)

注意,在輸出的標誌現在已經從0x9改爲0x8

最後兩個音符

1)我不知道,如果你堅持同步到time.windows.com解決問題2)的作品。由於它不可靠,我現在還沒有使用它多年。如果您將所述標誌從0x9更改爲0x8,但仍然使用time.windows.com作爲NTP服務器,情況甚至會變得更糟。

在您的本地網絡中設置您自己的NTP服務器是一個非常好的主意,有幾個原因(我不會在這裏詳細討論,因爲這將是脫離主題)。如果您不能或不想這樣做,我建議使用其他公共時間服務器(通過訪問http://www.ntp.pool.org開始搜索)而不是time.windows.com。他們肯定會解決問題2)。

2)作爲最後的手段,您可以嘗試在Windows中安裝另一個時間服務。例如,用於Windows的NTP軟件有一個完整的端口,但AFAIK僅用於英特爾平臺。因爲我對Raspberry(ARM)平臺一無所知,所以我不知道是否還有其他時間服務軟件,所以這只是一個想法,以防萬一其他方法失敗。

5

設備1似乎根本沒有使用時間服務器,在所有設備上執行相同的配置。

我只是建議你嘗試一個不同的時間服務器。 我有類似的問題,有時甚至沒有硬件相關,但網絡的事情。沒有人知道你和時間服務器之間有什麼關係,然後嘗試一個不同的網絡就足夠了。

http://www.pool.ntp.org/en/use.html

w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org" 

它應該是足夠了...... 的RPI沒有RTC(實時時鐘)板上。你可以買一個tho,谷歌raspberry pie rtc

沒有RTC,RPi會利用其CPU週期構建一個時間。這些都不是超精確的,當你超頻CPU時可能會更加漂移。

這個問題也許可以在https://raspberrypi.stackexchange.com/

得到更好的回答如果你不想買的芯片,你可以嘗試改變電壓,讓時間更新更頻繁地從趨炎附勢。

+0

我試過3個網絡,其他設備有timeserver,這也是不準確的。非常感謝! – Tom

+0

並感謝您的建議,我會嘗試設置不同的時間服務器。 – Tom

+0

它沒有幫助。經過幾天的測試設備閒置5分鐘。 – Tom

4

由於Pi缺乏實時時鐘,因此應該選擇雙管齊下的方法以獲得最佳結果。

選擇一個不同的時間服務器做長期更正,然後安裝real-time clock module類似於它的頂部,以便在未連接到網絡時保持非常接近的時間。該模塊是溫度穩定的,不需要焊接,使用無處不在的I2C接口,並聲稱具有高準確度和長電池壽命。很高興與許多Adafruit產品。

只要時間服務器去,請have a look at this resource。他們甚至包括(在他們的服務條款中)關於如何設置ntp以便最佳使用(以及對其池中的分佈式負載)的指導原則。

0

嘗試使用像this這樣的實時時鐘(RTC),因爲有些設備在拔出時會重置時間和日期。如果你的時鐘已經關閉了很多時間。自行更正可能需要長達3小時,因爲服務器的更改會逐漸應用到本地時鐘。網絡穩定性對準確度影響最大,因爲不可預測的網絡(像3G這樣的無線網絡更加無線)會使其很難準確。您還可以找到support。如果你有fake-hwclock包,它也會做一個時間戳保存技巧來防止時鐘被重置。當設備關閉時,這不會提前時間,所以它會落後。內部時鐘在打開時也會漂移一點點。

Sources

+0

RasPi RTC設備可與Windows 10物聯網一起使用嗎? (Windows 10物聯網是否支持它們?)啓動時必須從RTC中讀取時間並將其應用於系統。 Linux支持這個,Windows嗎? – Naikrovek

0

我可以提供基於經驗的一些見解。我們的機器設備有大量資源可用來更新時間。有點需要部署。雖然我們的設備上有一個內部時鐘,但當車輛未安裝時,電池不能長時間保持準確。 (已完成硬件升級以改善此狀況。)

我們提供網絡服務和時間服務,每個服務都允許內部時鐘每24小時或打開時更新一次。在某些情況下,時間包含在設備所做的一些數據傳輸中,並檢查準確性,並在差異過大時通知更新。在某些配置中,用戶可以檢查時間並在需要時激活和更新。有點老派,但這些已經存在了幾年了。

如果設備解決方案需要它,應該指定一個高質量的RTC和電池,如果真的需要,不要在這個硬件上剔除。

這裏還不錯troubleshooting guide以及我認爲這是不同的硬件,但原理是相似的。

下面是一些RTCs

良好的名單也這裏是Adafruit

相關問題