ntptime --- ไคลเอนต์ NTP แบบง่าย#

โมดูลนี้จัดเตรียมไคลเอนต์ขนาดเล็กสำหรับ Network Time Protocol (NTP) ซึ่งเป็นประโยชน์สำหรับการดึงเวลา UTC ปัจจุบันจากเซิร์ฟเวอร์เวลาทางอินเทอร์เน็ตและตั้งค่านาฬิกาเรียลไทม์บนบอร์ดได้ตามต้องการ โมดูลนี้ส่งคำขอ UDP เพียงครั้งเดียวไปยังเซิร์ฟเวอร์ NTP และถอดรหัสค่าไทม์สแตมป์ขนาด 64 บิตที่ได้รับกลับมา

โมดูลนี้ต้องอาศัยการเชื่อมต่อเครือข่ายที่ใช้งานได้ ค่าไทม์สแตมป์ขนาด 32 บิตที่ส่งผ่านเครือข่ายจะได้รับการแก้ไขโดยอัตโนมัติสำหรับการโรลโอเวอร์ NTP ปี 2036 ทำให้การนำไปใช้ยังคงใช้งานได้จนถึงเดือนกุมภาพันธ์ 2160

ฟังก์ชัน#

ntptime.time() int#

ส่งคำถามไปยังเซิร์ฟเวอร์ NTP ที่กำหนดไว้ (host) และส่งคืนเวลา UTC ปัจจุบันเป็นจำนวนวินาทีนับตั้งแต่ยุคของ MicroPython

ยุคของ MicroPython จะถูกตรวจสอบในระหว่างรันไทม์โดยใช้ time.gmtime() ทั้งยุค 1970 (Unix) และ 2000 ได้รับการรองรับ หากเป็นยุคอื่นจะเกิดข้อยกเว้น Exception

ข้อผิดพลาดของเครือข่ายจะถูกส่งต่อไปยังผู้เรียก โดยซ็อกเก็ตพื้นฐานจะถูกปิดเสมอก่อนที่จะส่งคืน

ntptime.settime() None#

ดึงเวลาปัจจุบันโดยใช้ time() และตั้งค่า RTC บนบอร์ดตามนั้นผ่าน machine.RTC

โปรดทราบว่า MicroPython ไม่รองรับเขตเวลา RTC จะถูกตั้งค่าเป็น UTC เสมอ

ค่าคงที่#

ntptime.host: str#

ชื่อโฮสต์ของเซิร์ฟเวอร์ NTP ที่จะสืบค้น ค่าเริ่มต้นคือ "pool.ntp.org" สามารถกำหนดค่าใหม่ได้ในระหว่างรันไทม์เพื่อแทนที่ เช่น ntptime.host = "time.google.com"

ntptime.timeout: int#

ค่าหมดเวลาของซ็อกเก็ตเป็นวินาทีที่ใช้กับคำขอ UDP ของ NTP ค่าเริ่มต้นคือ 1 ควรเพิ่มค่าสำหรับเครือข่ายที่ช้าหรือมีเวลาแฝงสูง