Nie muszę ustawiać zegara (oprócz strefy czasowej) na Raspberry Pi. Skąd bierze się czas? O ile to jest dokładne?
Nie muszę ustawiać zegara (oprócz strefy czasowej) na Raspberry Pi. Skąd bierze się czas? O ile to jest dokładne?
Odpowiedzi:
Raspbian pobiera czas z serwera NTP („serwera czasu”).
Całkowicie odłącz Raspberry Pi, wyjmij kabel sieciowy i uruchom Raspberry Pi ponownie. Zobaczysz, że data i godzina są nieprawidłowe.
Jeśli chcesz / potrzebujesz datę i godzinę, aby nie być zresetowane bez podłączony do Internetu, musisz zegar czasu rzeczywistego (RTC) - Na przykład coś takiego jak ten - które będą przechowywane obecnego czasu, za pomocą baterii uruchomić zegar. W ten sposób komputer utrzymuje czas, gdy nie jest zasilany.
AKTUALIZACJA Wystarczy zauważyć, że powyższy zegar RTC nie jest jedynym sposobem na zachowanie dokładności czasu między stratami mocy. Możesz także użyć modułu GPS i podłączyć go do pinów GPIO.
Dokładność Jest dość dokładna, chociaż jeśli twój czas jest znacznie opóźniony. Samo poprawienie może potrwać do 3 godzin, ponieważ zmiany z serwera są stopniowo wprowadzane do lokalnego zegara. Stabilność sieci ma największy wpływ na dokładność, ponieważ nieprzewidywalna sieć (coś bardziej bezprzewodowego, na przykład 3G ) bardzo utrudni dokładność. Mówiąc prosto: dokładność jest całkiem dobra, różnica czasu między komputerem a faktycznym czasem (z serwera NTP) jest zwykle mniejsza niż 100 ms .
Odpowiedź Morgana dała mi wskazówkę, której potrzebowałem, aby rozwiązać problem.
Idź do http://support.ntp.org/bin/view/Servers/NTPPoolServers
Wybierz region, a następnie kraj i listę serwerów.
Edytuj plik /etc/ntp.conf, np
sudo vim /etc/ntp.conf
Zastąp listę serwerów tymi, które znalazłeś na stronie internetowej. na przykład
serwer 0.dk.pool.ntp.org iburst
serwer 1.dk.pool.ntp.org iburst
serwer 2.dk.pool.ntp.org iburst
serwer 3.dk.pool.ntp.org iburst
Zapisz i wyjdź.
Uruchom ponownie demona NTTP.
sudo /etc/init.d/ntp restart
sprawdź, czy data jest poprawna.
data
czw 20 czerwca 13:39:20 CEST 2013
Na jednym z moich serwerów data została natychmiast zmieniona. W drugim musiałem poczekać kilka minut.
server 0.uk.pool.ntp.org iburst
ntpq -p
. Używam: „Raspbian GNU / Linux 7 (wheezy)” i „Linux raspberrypi 4.1.7+ # 817 PREEMPT Sobota 19 września 15:25:36 BST 2015 armv6l GNU / Linux”
hwclock
lub fake-hwclock
przeszkadza (ale część „/etc/rc.conf” jest nieaktualna)
ntpq -p
Część jest z odpowiedzią na jaki czas jest utrzymywana na Raspberry Pi? .
ntpq -p
nie miało znaczenia).
Jeśli masz fake-hwclock
pakiet , wykona on także sztuczkę oszczędzania znacznika czasu, aby zapobiec resetowaniu zegara. To nie przyspieszy czasu, gdy urządzenie jest wyłączone, więc pozostanie w tyle. Wewnętrzny zegar również trochę dryfuje, gdy jest włączony.
Jeśli masz połączenie z Internetem (lub LAN z serwerem) i uruchamiasz ntp (ntpd / ntpdate), możesz uzyskać czas w sieci, jak wskazują inne odpowiedzi. Po zsynchronizowaniu jest naprawdę bardzo dokładny. Serwery online dadzą ci konsensus „czas na świecie”.
fake-hwclock
. Dlaczego ktoś miałby chcieć zamrozić zegar, gdy urządzenie jest wyłączone? Nie mogę wymyślić takiego przypadku. Jest tu?
fake-hwclock
Arch Arch, użyj archplusplus.co.uk/post/40202081414/...
Raspberry Pi nie ma zintegrowanego zegara czasu rzeczywistego (RTC), który zapewnia opłacalność: patrz pytanie „Dlaczego nie ma zegara czasu rzeczywistego (RTC)?” w oficjalnym FAQ . Oznacza to, że po odłączeniu Raspberry Pi traci on swój czas. Po przywróceniu zasilania czas jest inicjowany do 1 stycznia 1970 r. (Inaczej epoka Uniksa ).
Raspberry Pi ustawia swój czas w sieci za pomocą NTP , protokołu synchronizacji zegara między komputerami. Ten protokół jest szeroko stosowany w Internecie, aby zapewnić, że komputery mają ten sam czas i jest wysoce niezawodny, ponieważ niektóre maszyny są przeznaczone do obliczania czasu za pomocą zegarów atomowych .
ntpd
to demon (oprogramowanie w tle) uruchomił czas rozruchu i jest odpowiedzialny za synchronizację czasu przy użyciu protokołu NTP. ntpd
można skonfigurować za pomocą pliku /etc/ntp.conf
. Na przykład w tym miejscu można ustawić serwery tak, aby żądały czasu.
date
teraz pokazuje tę tygodniową datę plus, myślę, kilka dodatkowych godzin od przestoju wczoraj i dziś (po niektórych restartach wczoraj i dziś). (Raspbian, odpowiadający połowie 2015 r.).
cat /etc/fake-hwclock.data
a zobaczysz, jak ostatni raz fake-hwclock
zaoszczędził czas (oczywiście w czasie wyłączenia). fake-hwclock
jest używany w RPi do naśladowania prawdziwego zegara. Myślę, że uruchomiłeś swoje RPi bez dostępu do Internetu lub bez ntpd
aktualizacji czasu. Czy możesz to potwierdzić?
Wygląda na to, że w Raspbian Stretch nastąpiła niewielka zmiana. Krótko mówiąc, ntp nie jest już zainstalowany. Bieganie dpkg -l | grep ntp
nic nie zwraca.
Najwyraźniej Stretch porzucił ntp
aplikację na rzecz systemd. Sprawdź man timesyncd
wpis, aby uzyskać szczegółowe informacje na temat ustawień konfiguracji. timesyncd
nadal używa serwerów NTTP do aktualizacji czasu. Jeśli chcesz skonfigurować te serwery ręcznie, możesz to zrobić w /etc/systemd/timesyncd.conf
pliku.
sudo systemctl restart timesyncd
a następnie sprawdź dzienniki, journalctl -u timesyncd -f
czasem korporacyjne zapory blokują port. W takich przypadkach użyj podanego adresu URL korporacyjnego serwera NTTP.
systemd-timesyncd
taka, że polecenie ponownego uruchomienia będziesystemctl restart systemd-timesyncd
Jeśli szukasz sposobu na rejestrowanie lub utrzymywanie czasu w trybie offline , możesz dodać układ zegara czasu rzeczywistego , na przykład DS1307 .