ฉันไม่จำเป็นต้องตั้งนาฬิกา (นอกเหนือจากเขตเวลา) บน Raspberry Pi มันได้รับเวลาจากที่ไหน? มันแม่นยำแค่ไหน?
ฉันไม่จำเป็นต้องตั้งนาฬิกา (นอกเหนือจากเขตเวลา) บน Raspberry Pi มันได้รับเวลาจากที่ไหน? มันแม่นยำแค่ไหน?
คำตอบ:
Raspbian รับเวลาจากNTP Server ("เซิร์ฟเวอร์เวลา")
ถอด Raspberry Pi ของคุณออกอย่างสมบูรณ์ดึงสายเคเบิลเครือข่ายออกแล้วเริ่ม Raspberry Pi ขึ้นอีกครั้ง คุณจะเห็นว่าวันที่และเวลาไม่ถูกต้อง
หากคุณต้องการ / ต้องการวันที่และเวลาที่จะไม่ถูกรีเซ็ตโดยไม่ต้องเสียบเข้ากับอินเทอร์เน็ตคุณจะต้องใช้นาฬิกาเรียลไทม์ (RTC) - ตัวอย่างเช่นสิ่งนี้ - ซึ่งจะทำให้เวลาเป็นปัจจุบันโดยใช้แบตเตอรี่ เพื่อรันนาฬิกา นี่คือวิธีที่คอมพิวเตอร์ของคุณเก็บเวลาเมื่อไม่มีการขับเคลื่อน
อัพเดท เพียงหมายเหตุด้านข้างว่านาฬิกา RTC ด้านบนไม่ใช่วิธีเดียวที่จะรักษาเวลาที่แม่นยำระหว่างการสูญเสียพลังงาน คุณสามารถใช้โมดูลจีพีเอสและขอที่สูงถึงหมุด GPIO
ความแม่นยำ มันค่อนข้างแม่นยำแม้ว่าเวลาของนาฬิกาของคุณจะปิดไปสักหน่อย อาจใช้เวลานานถึง 3 ชั่วโมงในการแก้ไขตัวเองเนื่องจากการเปลี่ยนแปลงจากเซิร์ฟเวอร์จะค่อยๆนำไปใช้กับนาฬิกาในเครื่องของคุณ ความเสถียรของเครือข่ายมีผลกระทบมากที่สุดต่อความถูกต้องเนื่องจากเครือข่ายที่คาดเดาไม่ได้ (บางสิ่งที่ไร้สายมากขึ้นเช่น3G ) จะทำให้ยากที่จะแม่นยำ ที่จะนำมันเพียง: ความถูกต้องสวยดีแตกต่างของเวลาระหว่างคอมพิวเตอร์และเวลาจริง (จาก NTP Server) ของคุณเป็นปกติน้อยกว่า 100 มิลลิวินาที
คำตอบของมอร์แกนให้คำแนะนำที่ฉันต้องการเพื่อแก้ปัญหา
ไปที่http://support.ntp.org/bin/view/Servers/NTPPoolServers
เลือกภูมิภาคของคุณจากนั้นประเทศของคุณและรายการเซิร์ฟเวอร์จะปรากฏขึ้น
แก้ไขไฟล์ /etc/ntp.conf ของคุณเช่น
sudo vim /etc/ntp.conf
แทนที่รายการเซิร์ฟเวอร์ด้วยเซิร์ฟเวอร์ที่คุณพบในเว็บเพจ เช่น
เซิร์ฟเวอร์ 0.dk.pool.ntp.org
เซิร์ฟเวอร์ iburst 1.dk.pool.ntp.org
เซิร์ฟเวอร์ iburst 2.dk.pool.ntp.org
เซิร์ฟเวอร์ iburst 3.dk.pool.ntp.org iburst
บันทึกและออก.
รีสตาร์ท ntp deamon
sudo /etc/init.d/ntp ทำการรีสตาร์ท
ตรวจสอบว่าวันที่ถูกต้อง
วันที่
พฤหัสบดี มิ.ย. 20 13:39:20 CEST 2013
หนึ่งในเซิร์ฟเวอร์ของฉันวันที่มีการเปลี่ยนแปลงในระดับกลาง ในที่อื่นฉันต้องรอสองนาที
server 0.uk.pool.ntp.org iburst
ntpq -p
หรือบางทีอาจเป็นเพราะฉันวิ่ง ฉันใช้: "Raspbian GNU / Linux 7 (เสียงดังกึกก้อง)" และ "Linux raspberrypi 4.1.7+ # 817 PREEMPT วันเสาร์ 19 ก.ย. 15:25:36 BST 2015 armv6l GNU / Linux"
hwclock
หรือfake-hwclock
รบกวน (แต่ส่วน "/etc/rc.conf" ล้าสมัย)
ntpq -p
ส่วนหนึ่งจากคำตอบต่อไปยังเวลาเป็นวิธีการเก็บไว้ในราสเบอร์รี่ Pi? .
ntpq -p
ไม่ได้สร้างความแตกต่าง)
หากคุณมีfake-hwclock
แพ็คเกจมันจะทำเคล็ดลับการบันทึกเวลาเพื่อป้องกันไม่ให้นาฬิกาถูกรีเซ็ต นั่นจะไม่เพิ่มเวลาในขณะที่อุปกรณ์ปิดอยู่ดังนั้นอุปกรณ์จะล้าหลัง นาฬิกาภายในจะลอยเล็กน้อยในขณะที่
หากคุณมีการเชื่อมต่ออินเทอร์เน็ต (หรือ lan กับเซิร์ฟเวอร์) และเรียกใช้ ntp (ntpd / ntpdate) คุณจะได้รับเวลาผ่านเครือข่ายตามคำตอบอื่น ๆ เมื่อซิงโครไนซ์มันค่อนข้างแม่นยำจริงๆ เซิร์ฟเวอร์ออนไลน์จะให้ฉันทามติ "เวลาโลก"
fake-hwclock
เกี่ยวกับการที่น่าสนใจ ทำไมบางคนต้องการตรึงนาฬิกาเมื่อปิดเครื่อง? ฉันไม่สามารถนึกถึงกรณีการใช้งานสำหรับสิ่งนั้นได้ มีอะไรบ้าง
fake-hwclock
บน Arch Linux ให้ใช้archplusplus.co.uk/post/40202081414/…
Raspberry Pi ไม่มีนาฬิกาเรียลไทม์รวม (RTC) เพื่อความประหยัด: ดูคำถาม "ทำไมไม่มีนาฬิกาเรียลไทม์ (RTC)" ในคำถามที่พบบ่อยอย่างเป็นทางการ หมายความว่าเมื่อคุณถอด Raspberry Pi ออกมันจะเสียเวลา เมื่อคุณให้พลังงานกลับมาเวลาจะถูกเตรียมใช้งานจนถึงวันที่ 1 มกราคม 1970 (aka Unix epoch )
Raspberry Pi กำหนดเวลาผ่านเครือข่ายด้วยNTPซึ่งเป็นโปรโตคอลสำหรับการซิงโครไนซ์นาฬิการะหว่างคอมพิวเตอร์ โปรโตคอลนี้ถูกนำมาใช้กันอย่างแพร่หลายผ่านทางอินเทอร์เน็ตเพื่อให้แน่ใจว่าคอมพิวเตอร์มีในเวลาเดียวกันและมีความน่าเชื่อถือสูงตั้งแต่บางเครื่องจะทุ่มเทให้กับการคำนวณเวลากับนาฬิกาอะตอม
ntpd
เป็น daemon (ซอฟต์แวร์ที่อยู่เบื้องหลัง) เปิดตัวเวลาบูตและรับผิดชอบการซิงโครไนซ์เวลาโดยใช้โปรโตคอล NTP สามารถกำหนดค่าด้วยไฟล์ntpd
/etc/ntp.conf
ตัวอย่างเช่นที่นี่คุณสามารถตั้งเซิร์ฟเวอร์เพื่อขอเวลาได้
date
ตอนนี้แสดงวันที่ในสัปดาห์บวกด้วยฉันคิดว่าบางชั่วโมงพิเศษจากเวลาทำงานเมื่อวานและวันนี้ (หลังจากรีสตาร์ทเมื่อวานและวันนี้) (Raspbian ซึ่งตรงกับช่วงกลางปี 2015)
cat /etc/fake-hwclock.data
แล้วคุณจะเห็นเวลาที่fake-hwclock
บันทึกครั้งสุดท้าย(เห็นได้ชัดในเวลาปิดเครื่อง) fake-hwclock
ใช้กับ RPi เพื่อเลียนแบบนาฬิกาจริง ฉันคิดว่าคุณบูท RPi ของคุณโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ตหรือไม่ได้ntpd
เริ่มอัพเดทเวลา คุณยืนยันได้ไหม
ดูเหมือนว่ามีการเปลี่ยนแปลงเล็กน้อยกับ Raspbian Stretch ในระยะสั้น ntp ไม่ได้ติดตั้งอีกต่อไป วิ่งdpkg -l | grep ntp
กลับไม่มีอะไร
เห็นได้ชัดว่าเหยียดละทิ้งntp
แอปพลิเคชันเพื่อ systemd ตรวจสอบman timesyncd
รายการเฉพาะสำหรับการตั้งค่าการกำหนดค่า timesyncd
ยังคงใช้เซิร์ฟเวอร์ ntp เพื่ออัปเดตเวลา หากคุณต้องการกำหนดค่าเซิร์ฟเวอร์เหล่านี้ด้วยตนเองคุณสามารถทำได้ใน/etc/systemd/timesyncd.conf
ไฟล์
sudo systemctl restart timesyncd
หลังจากนั้นตรวจสอบบันทึกโดยjournalctl -u timesyncd -f
บางครั้งไฟร์วอลล์ขององค์กรจะปิดกั้นพอร์ต ในกรณีเช่นนี้ให้ใช้ URL เซิร์ฟเวอร์องค์กร ntp ที่ให้มา
systemd-timesyncd
คำสั่งให้เริ่มต้นใหม่systemctl restart systemd-timesyncd
หากเข้าสู่ระบบหรือเวลาการเก็บรักษาครับคือสิ่งที่คุณกำลังมองหาคุณอาจต้องการที่จะเพิ่มนาฬิกาเวลาจริงชิปเช่นDS1307