ntptime --- عميل NTP بسيط

توفّر هذه الوحدة عميلاً صغيراً لبروتوكول وقت الشبكة (NTP)، وهو مفيد لاسترجاع وقت UTC الحالي من خادم وقت على الإنترنت وضبط ساعة الزمن الحقيقي الموجودة على اللوحة اختيارياً. يُنفّذ العميل طلب UDP واحداً إلى خادم NTP ويفك ترميز الطابع الزمني المُعاد المكوّن من 64 بت.

تعتمد هذه الوحدة على اتصال شبكي عامل. يُصحَّح طابعها الزمني المنقول عبر السلك المكوّن من 32 بت تلقائياً من أجل تجاوز عام 2036 في NTP، مما يسمح للتنفيذ بالبقاء صالحاً حتى فبراير 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

مهلة المقبس بالثواني المطبَّقة على طلب NTP عبر UDP. القيمة الافتراضية هي 1. زِدها على الشبكات البطيئة أو ذات زمن الاستجابة المرتفع.