ntptime — לקוח NTP פשוט

מודול זה מספק לקוח קטן לפרוטוקול Network Time Protocol (NTP), שימושי לאחזור הזמן הנוכחי ב-UTC משרת זמן באינטרנט ואופציונלית להגדרת שעון הזמן-אמת המובנה. הוא מבצע בקשת UDP יחידה לשרת NTP ומפענח את חותמת הזמן בת 64 הסיביות המוחזרת.

מודול זה מסתמך על חיבור רשת תקין. חותמת הזמן בת 32 הסיביות שלו על-גבי-החוט מתוקנת אוטומטית עבור גלישת ה-NTP של 2036, מה שמאפשר למימוש להישאר תקף עד פברואר 2160.

פונקציות

ntptime.time() int

מבצעת שאילתה לשרת ה-NTP המוגדר (host) ומחזירה את הזמן הנוכחי ב-UTC כמספר שלם של שניות מאז נקודת הראשית (epoch) של MicroPython.

נקודת הראשית (epoch) של MicroPython מזוהה בזמן ריצה באמצעות time.gmtime(). נתמכות הן נקודת הראשית של 1970 (Unix) והן זו של 2000; כל נקודת ראשית אחרת מעלה Exception.

שגיאות רשת מתפשטות אל הקורא; ה-socket הבסיסי תמיד נסגר לפני החזרה.

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

פסק-זמן ה-socket בשניות המוחל על בקשת ה-UDP של NTP. ברירת המחדל היא 1. הגדל אותו ברשתות איטיות או בעלות השהיה גבוהה.