14.4.2. المتطلبات المسبقة: OpenSSL والساعة¶
يجب توفّر عنصرين قبل أن تعمل أي من الصفحات التطبيقية: أداة سطر الأوامر OpenSSL على جهاز التطوير لديك، وساعة صحيحة على الكاميرا في لحظة كل مصافحة TLS.
14.4.2.1. تثبيت OpenSSL¶
تستخدم الأوامر في هذا القسم أداة سطر الأوامر openssl، التي تُشغَّل على جهاز التطوير لديك -- وليس على الكاميرا. وغالباً ما تكون مثبتة بالفعل؛ تحقق باستخدام:
openssl version
إذا كانت مفقودة، فثبّتها لنظام التشغيل لديك:
Linux -- استخدم مدير الحزم، مثلاً
sudo apt install openssl(Debian/Ubuntu)، أوsudo dnf install openssl(Fedora/RHEL) أوsudo pacman -S openssl(Arch).macOS --
brew install opensslباستخدام Homebrew.Windows -- ثبّت إصداراً مثل Win32/Win64 OpenSSL، أو استخدم مدير حزم (
winget install ShiningLight.OpenSSL.Lightأوchoco install openssl)، أو استخدمopensslالذي يأتي مع Git for Windows (شغّله من Git Bash).
14.4.2.2. ضبط الساعة¶
يفحص ssl.CERT_REQUIRED فترة صلاحية كل شهادة، لذا يجب أن تكون ساعة الكاميرا صحيحة وإلا فشل التحقق (الكاميرا المشغّلة حديثاً ليس لديها فكرة عن الوقت). مع اتصال شبكي يعمل، تجلب الوحدة ntptime الوقت عبر NTP وتضبط ساعة RTC المدمجة (machine.RTC) بالتوقيت العالمي المنسق (UTC):
import ntptime
ntptime.settime() # query NTP and set machine.RTC (UTC)
بعد هذا، يعكس time.localtime() و machine.RTC توقيت UTC الحالي. إن تشغيل واجهة الشبكة يعتمد على اللوحة ولا يُعرض هنا؛ تفترض الأمثلة في الصفحات التالية أن الكاميرا متصلة بالفعل.