Tôi không phải đặt đồng hồ (ngoài múi giờ) trên Raspberry Pi. Nó lấy thời gian từ đâu? Về độ chính xác của nó?
Tôi không phải đặt đồng hồ (ngoài múi giờ) trên Raspberry Pi. Nó lấy thời gian từ đâu? Về độ chính xác của nó?
Câu trả lời:
Raspbian lấy thời gian từ Máy chủ NTP ("máy chủ thời gian").
Rút phích cắm hoàn toàn Raspberry Pi của bạn, rút cáp mạng và khởi động lại Raspberry Pi. Bạn sẽ thấy ngày và giờ không chính xác.
Nếu bạn muốn / cần ngày và giờ không được thiết lập lại mà không cần cắm vào internet, bạn sẽ cần Đồng hồ thời gian thực (RTC) - ví dụ, một cái gì đó như thế này - sẽ giữ thời gian hiện tại, bằng cách sử dụng pin để chạy đồng hồ. Đây cũng là cách máy tính của bạn giữ thời gian khi nó không được cấp nguồn.
CẬP NHẬT Chỉ cần một lưu ý phụ là đồng hồ RTC ở trên không phải là cách duy nhất để giữ thời gian chính xác giữa các lần mất điện. Bạn cũng có thể sử dụng mô-đun GPS và nối với các chân GPIO.
Độ chính xác Nó khá chính xác, mặc dù nếu thời gian của đồng hồ của bạn tắt khá nhiều. Có thể mất tới 3 giờ để tự sửa, vì những thay đổi từ máy chủ được áp dụng dần dần cho đồng hồ cục bộ của bạn. Sự ổn định của mạng có tác động lớn nhất đến độ chính xác, vì một mạng không thể đoán trước (một thứ không dây hơn, như 3G ) sẽ khiến nó rất khó chính xác. Nói một cách đơn giản: Độ chính xác khá tốt, chênh lệch thời gian giữa máy tính của bạn và thời gian thực tế (từ Máy chủ NTP) thường dưới 100ms .
Câu trả lời của Morgan đã cho tôi gợi ý tôi cần để giải quyết vấn đề.
Truy cập http://support.ntp.org/bin/view/Servers/NTPPoolServers
Chọn khu vực của bạn, sau đó quốc gia của bạn và một danh sách các máy chủ sẽ được hiển thị.
Chỉnh sửa tập tin /etc/ntp.conf của bạn, vd
sudo vim /etc/ntp.conf
Thay thế danh sách các máy chủ bằng một máy chủ bạn tìm thấy trong trang web. ví dụ
máy chủ 0.dk.pool.ntp.org
máy chủ iburst 1.dk.pool.ntp.org
máy chủ iburst 2.dk.pool.ntp.org
máy chủ iburst 3.dk.pool.ntp.org iburst
Lưu và thoát.
Khởi động lại ntp deamon.
sudo /etc/init.d/ntp khởi động lại
kiểm tra xem ngày tháng có đúng không
ngày
Thu Jun 20 13:39:20 CEST 2013
Trong một trong những máy chủ của tôi, ngày tháng đã được thay đổi. Mặt khác, tôi đã phải chờ một vài phút.
server 0.uk.pool.ntp.org iburst
ntpq -p
. Tôi đang sử dụng: "Raspbian GNU / Linux 7 (wheezy)" và "Linux raspberrypi 4.1.7+ # 817 PREEMPT Sat ngày 19 tháng 9 15:25:36 BST 2015 armv6l GNU / Linux"
hwclock
hoặc fake-hwclock
đang can thiệp (nhưng phần "/etc/rc.conf" đã hết hạn)
ntpq -p
này là từ câu trả lời cho thời gian được giữ trên Raspberry Pi như thế nào? .
ntpq -p
không tạo ra sự khác biệt).
Nếu bạn có fake-hwclock
gói , nó cũng sẽ thực hiện thủ thuật lưu dấu thời gian để ngăn đồng hồ được đặt lại. Điều đó sẽ không tăng thời gian trong khi thiết bị tắt, vì vậy nó sẽ bị tụt lại phía sau. Đồng hồ bên trong cũng sẽ trôi một chút trong khi bật.
Nếu bạn có kết nối Internet (hoặc lan với máy chủ) và chạy ntp (ntpd / ntpdate), bạn có thể nhận được thời gian qua mạng, như các câu trả lời khác chỉ ra. Khi được đồng bộ hóa, nó thực sự khá chính xác. Các máy chủ trực tuyến cũng sẽ cung cấp cho bạn sự đồng thuận "thời gian thế giới".
fake-hwclock
. Tại sao ai đó muốn đóng băng đồng hồ khi tắt máy? Tôi không thể nghĩ ra một trường hợp sử dụng cho điều đó. Lanhung?
fake-hwclock
với Arch Linux, hãy sử dụng archplusplus.co.uk/post/40202081414/ từ
Raspberry Pi không có đồng hồ thời gian thực (RTC) tích hợp về hiệu quả chi phí: xem câu hỏi "Tại sao không có đồng hồ thời gian thực (RTC)?" trong FAQ chính thức . Điều đó có nghĩa là khi bạn rút phích cắm Raspberry Pi, nó sẽ mất thời gian. Khi bạn cấp nguồn trở lại, thời gian được khởi tạo vào ngày 1 tháng 1 năm 1970 (còn gọi là Unix epoch ).
Raspberry Pi đặt thời gian qua mạng với NTP , một giao thức để đồng bộ hóa đồng hồ giữa các máy tính. Giao thức này được sử dụng rộng rãi trên Internet để đảm bảo các máy tính có cùng thời gian và có độ tin cậy cao do một số máy được dành riêng để tính thời gian với đồng hồ nguyên tử .
ntpd
là một daemon (một phần mềm trong nền) đã khởi chạy thời gian khởi động và nó chịu trách nhiệm đồng bộ hóa thời gian bằng giao thức NTP. ntpd
có thể được cấu hình với các tập tin /etc/ntp.conf
. Chẳng hạn, đây là nơi bạn có thể thiết lập các máy chủ để yêu cầu thời gian.
date
bây giờ cho thấy ngày tháng cộng với, tôi nghĩ, thêm một số giờ kể từ thời gian hoạt động hôm qua và hôm nay (sau khi khởi động lại vào hôm qua và hôm nay). (Raspbian, tương ứng với giữa năm 2015).
cat /etc/fake-hwclock.data
và bạn sẽ thấy lần cuối cùng fake-hwclock
tiết kiệm thời gian (rõ ràng, vào thời gian tắt máy). fake-hwclock
được sử dụng trên RPi để bắt chước một chiếc đồng hồ thực sự. Tôi nghĩ rằng bạn đã khởi động RPi của mình mà không cần truy cập Internet hoặc không ntpd
bắt đầu cập nhật thời gian. Bạn có thể xác nhận điều đó?
Có vẻ như đã có một chút thay đổi với Raspbian Stretch. Nói tóm lại, ntp không còn được cài đặt. Chạy dpkg -l | grep ntp
không trả về gì cả.
Rõ ràng, Stretch đã từ bỏ ntp
ứng dụng có lợi cho systemd. Kiểm tra man timesyncd
mục để biết chi tiết về cài đặt cấu hình. timesyncd
vẫn sử dụng máy chủ ntp để cập nhật thời gian. Nếu bạn muốn cấu hình các máy chủ này theo cách thủ công, bạn có thể làm như vậy trong /etc/systemd/timesyncd.conf
tệp.
sudo systemctl restart timesyncd
và sau đó kiểm tra nhật ký bằng cách journalctl -u timesyncd -f
đôi khi tường lửa của công ty chặn cổng. Trong những trường hợp như vậy, hãy sử dụng URL máy chủ ntp của công ty được cung cấp.
systemd-timesyncd
, để lệnh khởi động lại sẽ làsystemctl restart systemd-timesyncd
Nếu đăng nhập hoặc giữ thời gian khi ngoại tuyến là những gì bạn đang tìm kiếm, bạn có thể muốn thêm chip Đồng hồ thời gian thực , như DS1307 .