14.4.2. Előfeltételek: OpenSSL és az óra¶
Két dolognak a helyén kell lennie, mielőtt a gyakorlati oldalak bármelyike működne: az OpenSSL parancssori eszköznek a fejlesztői gépeden, és a kamera helyes órájának minden TLS-kézfogás pillanatában.
14.4.2.1. Az OpenSSL telepítése¶
Az ebben a szakaszban szereplő parancsok az openssl parancssori eszközt használják, amelyet a fejlesztői gépeden futtatsz – nem a kamerán. Ez gyakran már telepítve van; ellenőrizd a következővel:
openssl version
Ha hiányzik, telepítsd az operációs rendszeredhez:
Linux – használd a csomagkezelőt, pl.
sudo apt install openssl(Debian/Ubuntu),sudo dnf install openssl(Fedora/RHEL) vagysudo pacman -S openssl(Arch).macOS –
brew install openssla Homebrew használatával.Windows – telepíts egy buildet, például a Win32/Win64 OpenSSL csomagot, használj csomagkezelőt (
winget install ShiningLight.OpenSSL.Lightvagychoco install openssl), vagy használd a Git for Windows programmal érkezőopenssleszközt (futtasd a Git Bash-ből).
14.4.2.2. Az óra beállítása¶
Az ssl.CERT_REQUIRED minden tanúsítvány érvényességi időszakát ellenőrzi, ezért a kamera órájának helyesnek kell lennie, különben az ellenőrzés sikertelen lesz (egy frissen bekapcsolt kamera nem tudja, hány óra van). Működő hálózati kapcsolat esetén az ntptime modul NTP-n keresztül lekéri az időt, és beállítja a fedélzeti RTC-t (machine.RTC), UTC-ben:
import ntptime
ntptime.settime() # query NTP and set machine.RTC (UTC)
Ezután a time.localtime() és a machine.RTC az aktuális UTC-időt tükrözi. A hálózati interfész felhozása kártyafüggő, és itt nincs bemutatva; a következő oldalakon szereplő példák feltételezik, hogy a kamera már csatlakoztatva van.