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).

  • macOSbrew 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 הנוכחי. העלאת ממשק הרשת תלוית-לוח ואינה מוצגת כאן; הדוגמאות בדפים הבאים מניחות שהמצלמה כבר מחוברת.