Tôi biết rằng Raspberry Pi không đi kèm với đồng hồ hệ thống để tiết kiệm tiền. Làm thế nào tôi có thể giữ thời gian hệ thống mặc dù?
Tôi biết rằng Raspberry Pi không đi kèm với đồng hồ hệ thống để tiết kiệm tiền. Làm thế nào tôi có thể giữ thời gian hệ thống mặc dù?
Câu trả lời:
Phương pháp phổ biến nhất để giữ thời gian hệ thống là thông qua trình nền Giao thức thời gian mạng (NTPd).
NTPd là phương pháp phổ biến nhất để đồng bộ hóa đồng hồ phần mềm của hệ thống GNU / Linux với các máy chủ thời gian internet sử dụng Giao thức thời gian mạng.
NTPd đã được cài đặt và thiết lập trên hệ điều hành mặc định, Debian Squeeze. Bạn sẽ cần phải cài đặt và định cấu hình thủ công mặc dù cho Arch Linux.
Đầu tiên bạn nên cài đặt NTP.
$ sudo pacman -S ntp
Bây giờ bạn có thể tự cập nhật nó thông qua dòng lệnh.
$ sudo ntpd -qg
Hoặc bạn có thể thêm nó vào danh sách các trình tiện ích khi khởi động bằng cách thêm nó vào /etc/rc.conf
tệp của bạn . Thích như vậy.
# /etc/rc.conf
DAEMONS=(!hwclock ntpd)
Lưu ý rằng bạn cần phải vô hiệu hóa hwclock
bằng cách đặt trước nó bằng dấu chấm than ( !
) trong danh sách trình nền.
Protip từ mlp : Nếu bạn thêm ntpdate
vào danh sách daemon của mình, thời gian sẽ được sửa sau khi khởi động nhanh hơn nhiều. Vì vậy, danh sách daemon của bạn sẽ trông như vậy.
# /etc/rc.conf
DAEMONS=(!hwclock ntpd ntpdate)
systemctl enable ntpd.service
tương tự như thêm vào /etc/rc.conf
.
Nếu bạn muốn đảm bảo rằng thời gian trên RPi luôn chính xác hoặc muốn duy trì thời gian mà không cần kết nối mạng, bạn sẽ cần mua bảng mở rộng có Đồng hồ thời gian thực (RTC) trên đó: có ít nhất một cái có sẵn và ít nhất một trong sự phát triển.
Đối với các ứng dụng không nối mạng (hoặc trong đó thời gian mạng có thể không đủ tốt), bạn có thể đặt đồng hồ RTC (câu trả lời của @Alex Chamberlain) với thời gian được lấy từ máy thu GPS hoặc máy thu VLF (ở Tây Âu, đây sẽ là Rugby MSF) . Cả hai đều có thể là giải pháp tuyệt vời cho các thiết bị được triển khai tại hiện trường (robot, giám sát hiện trường, v.v.).
Cả hai giải pháp cũng sẽ làm cho các dự án sở thích tốt. Tôi nhớ việc xây dựng một máy thu Rugby MSF vào những năm 1980. Một máy thu GPS ngoài giá ("puck") sẽ cung cấp thời gian và ngày trong các câu NMEA 0183 - sau đó sẽ là một dự án mã hóa đơn giản để trích xuất thông tin này.
Nếu bạn không muốn có NTP chạy trên hệ thống của mình, bạn có thể sử dụng một trong một vài tùy chọn khác nhau để đặt thời gian:
Rõ ràng đồng hồ của bạn sẽ không chính xác như sử dụng NTP vì tất cả các đồng hồ đều bị trôi và cũng vì các ứng dụng này chỉ sử dụng một nguồn thời gian duy nhất nên chúng có khả năng dẫn đến việc đặt thời gian không chính xác nếu nguồn được chọn của chúng có vấn đề.