Nie muszę ustawiać zegara (oprócz strefy czasowej) na Raspberry Pi. Skąd bierze się czas? O ile to jest dokładne?
timekeeping
Szufelka
źródło
źródło
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 .
źródło
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
Zastąp listę serwerów tymi, które znalazłeś na stronie internetowej. na przykład
Zapisz i wyjdź.
Uruchom ponownie demona NTTP.
sprawdź, czy data jest poprawna.
Na jednym z moich serwerów data została natychmiast zmieniona. W drugim musiałem poczekać kilka minut.
źródło
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
lubfake-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”.
źródło
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.źródło
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 razfake-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 bezntpd
aktualizacji czasu. Czy możesz to potwierdzić?Raspbian Stretch: NTP nie jest domyślnie instalowany
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.źródło
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 .
źródło