ฉันจะรักษาเวลาระบบได้อย่างไร


42

ฉันรู้ว่า Raspberry Pi ไม่ได้มาพร้อมกับนาฬิการะบบเพื่อประหยัดเงิน ฉันจะรักษาเวลาระบบได้อย่างไร

คำตอบ:


41

โซลูชันซอฟต์แวร์

วิธีที่นิยมที่สุดในการรักษาเวลาของระบบคือผ่าน Network Time Protocol daemon (NTPd)

NTPd เป็นวิธีการทั่วไปในการซิงโครไนซ์นาฬิกาซอฟต์แวร์ของระบบ GNU / Linux กับเซิร์ฟเวอร์เวลาอินเทอร์เน็ตโดยใช้โปรโตคอลเวลาเครือข่าย

ควรติดตั้ง NTPd แล้วและตั้งค่าบนระบบปฏิบัติการเริ่มต้น Debian Squeeze คุณจะต้องติดตั้งและกำหนดค่าด้วยตนเองสำหรับ Arch Linux

ก่อนอื่นคุณควรติดตั้ง NTP

$ sudo pacman -S ntp

ตอนนี้คุณสามารถอัพเดตได้ด้วยตนเองผ่านทางบรรทัดคำสั่ง

$ sudo ntpd -qg

หรือคุณสามารถเพิ่มลงในรายการ daemons เมื่อเริ่มต้นโดยเพิ่มลงใน/etc/rc.confไฟล์ของคุณ ชอบมาก ๆ

# /etc/rc.conf
DAEMONS=(!hwclock ntpd)

โปรดทราบว่าคุณต้องปิดการใช้งานhwclockโดยนำหน้าด้วยเครื่องหมายอัศเจรีย์ ( !) ในรายการ daemons


protip จากMLP :ถ้าคุณเพิ่มntpdateไปยังรายการของภูตเวลาที่จะได้รับการแก้ไขหลังจากบูตได้เร็วขึ้นมาก ดังนั้นรายการ daemons ของคุณจะเป็นเช่นนั้น

# /etc/rc.conf
DAEMONS=(!hwclock ntpd ntpdate)

ntpdate เลิกใช้แล้ว: support.ntp.org/bin/view/Dev/DeprecatingNtpdate
Gergely Fehérvári

1
/etc/rc.conf เลิกใช้แล้วเช่นกัน
rubenvb

1
หาก /etc/rc.conf เลิกใช้แล้วทางเลือกคืออะไร นี่คือสิ่งที่ฉันต้องการ
Jonathan S. Fisher

1
@exabrial จะคล้ายกับการเพิ่มsystemctl enable ntpd.service /etc/rc.conf
Lekensteyn

การติดตั้งใหม่ช่วยให้สามารถรับเวลาจากแหล่งข้อมูลที่หลากหลายซึ่งสามารถกระโดดได้หลายครั้งจากนาฬิกาต้นแบบ สำหรับรายละเอียดและเหตุผลที่คุณควรเปลี่ยนเป็น time.nist.gov โปรดดูคำถาม & คำตอบนี้: raspberrypi.stackexchange.com/questions/68811/…
SDsolar

16

โซลูชันฮาร์ดแวร์

หากคุณต้องการรับประกันว่าเวลาใน RPi นั้นถูกต้องเสมอหรือต้องการรักษาเวลาโดยไม่ต้องเชื่อมต่อเครือข่ายคุณจะต้องซื้อบอร์ดเสริมพร้อมนาฬิกาเวลาจริง (RTC): มีอย่างน้อยหนึ่งรายการ และอย่างน้อยหนึ่งในการพัฒนา

บอร์ดขยาย RTC ที่มีอยู่

บอร์ดขยาย RTC ในการพัฒนา


3

สำหรับแอปพลิเคชันที่ไม่ได้เชื่อมต่อกับเครือข่าย (หรือเวลาเครือข่ายอาจไม่ดีพอ) คุณสามารถตั้งค่านาฬิกา RTC ของคุณ (คำตอบของ @Alex Chamberlain) ตามเวลาที่ได้รับจากตัวรับสัญญาณ GPS หรือตัวรับสัญญาณ VLF (ใน NW Europe . ทั้งคู่อาจเป็นโซลูชันที่ยอดเยี่ยมสำหรับอุปกรณ์ที่ปรับใช้ฟิลด์ (หุ่นยนต์การตรวจสอบภาคสนามและอื่น ๆ )

วิธีแก้ปัญหาทั้งสองจะทำให้โครงการงานอดิเรกที่ดี ฉันจำได้ว่าสร้างผู้รับ Rugby MSF ในปี 1980 ตัวรับสัญญาณ GPS ชั้นวาง ("เด็กซน") จะให้เวลาและวันที่ในประโยค NMEA 0183 - จากนั้นจะเป็นโครงการเข้ารหัสแบบง่าย ๆ ในการดึงข้อมูลนี้


1
เพื่อความสนใจสัญญาณเวลา MSF ตอนนี้ออกอากาศจากสถานีวิทยุ Anthorn ใน Cumbria ไม่ใช่ Rugby
tomfanning

1
ไม่ได้อาศัยอยู่ในสหราชอาณาจักรในขณะนี้ฉันยังไม่เคยขับรถ M1 มาสักพัก: แล้วพวกเขาได้ทำลาย 'ป่าไม้' หรือยัง? (ฉันคิดว่าเสากระโดงเรือใกล้เคียงที่ Daventry ยังอยู่ที่นั่น)
winwaed

ไม่แน่ใจ - ฉันอยู่ผิดด้านของประเทศสำหรับ M1 อย่างไรก็ตาม Rugby Radio Station ดูเหมือนว่าจะหยุดใช้งานในกลางปี ​​2550 ตามen.wikipedia.org/wiki/Rugby_Radio_Station - โดยอ้างอิงจากการรื้อถอนรวมถึงรูปถ่าย และมีวิดีโอที่นี่: youtube.com/watch?v=bx2lhSUuGqU อย่างไรก็ตามมีเสากระโดงยังคงปรากฏให้เห็นใน Google Street View ซึ่งฉันค่อนข้างแน่ใจว่าเป็นภาพที่ใหม่กว่าปี 2007
tomfanning

และเมื่อมองไปที่ Wikipedia ไม่มีการเอ่ยถึงเสากระโดงเรือ "ที่ Daventry" ดังนั้นฉันจึงต้องเข้าใจผิด - เป็นเครื่องส่งสัญญาณที่เก่าแก่มาก ดังนั้นตอนนี้ไดรฟ์ M1 ก็น่าเบื่อยิ่งกว่าเดิม!
winwaed

3

ติดตั้ง NTP daemon บน Arch Linux ด้วย systemd:

sudo pacman -S ntp
sudo systemctl enable ntpd
sudo systemctl start ntpd

ตรวจสอบให้แน่ใจด้วยว่าเขตเวลาของคุณตั้งค่าไว้ถูกต้องในกรณีของฉัน:

sudo rm /etc/localtime
sudo ln -s  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

0

หากคุณไม่ต้องการให้ NTP ทำงานบนระบบของคุณตลอดเวลาคุณสามารถใช้หนึ่งในสองตัวเลือกต่าง ๆ เพื่อกำหนดเวลา:

  • ntpdate - เมื่อติดตั้งแล้วระบบจะตั้งค่าเพื่อให้ได้เวลาที่อินเทอร์เฟซใด ๆ เกิดขึ้น (แม้ว่า 'เลิกใช้งานแล้ว' ยังคงใช้กันอย่างแพร่หลาย)
  • rdate - วิธีการลดน้ำหนักที่ง่ายและเบากว่า แต่มีความแม่นยำน้อยกว่าเล็กน้อย
  • tlsdate - ตัวเลือกที่ปลอดภัยยิ่งขึ้นซึ่งใช้เซิร์ฟเวอร์ TLS / SSL เป็นแหล่งเวลา

เห็นได้ชัดว่านาฬิกาของคุณจะไม่ถูกต้องเช่นเดียวกับการใช้ NTP ตั้งแต่นาฬิกาทั้งหมดจะเบี่ยงเบนไปและเนื่องจากแอปเหล่านี้ใช้แหล่งเวลาเพียงแหล่งเดียวเท่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.