14.5. Összegzés¶
Végigjártad egy kamera életciklusát a működő, asztali szkripttől a kiszállított termékig:
Egyedi firmware-buildek – a fejlesztői környezet, a firmware-kép forrásból való felépítése, annak egy kamerára flashelése, valamint a hibakeresési útvonal a VS Code Cortex-Debugtól a parancssori
gdbrunnereszközig, amikor valami nincs rendben a firmware oldalán.Az alkalmazás kiszállítása – az alkalmazáskód firmware-be sütése befagyasztott modulok révén, az eszközök ROMFS-képbe sütése, valamint a kikeresési sorrend, amely meghatározza, hogy a futtatókörnyezet egy fájl melyik példányát tölti be ténylegesen indításkor. Az ebből adódó felosztás:
boot.pya REPL előtti környezet beállításához,main.pyaz alkalmazás belépési pontjaként, befagyasztottmain.pya belépéshez és ROMFS minden máshoz.Megerősítés gyártáshoz – egy ismert útvonalra író
loggingkönyvtár, egy fő-ciklus iterációnként egyszer etetettmachine.WDT, egy legfelső szintűtry/except, amely az összeomlásokat naplózott eseményekké alakítja az újraindítások helyett, fájlrendszer-higiénia, amely gyorsan tartja a fájlműveleteket, ahogy az alkalmazás hónapok alatt a terepen rekordokat halmoz fel, és – ha a termék megköveteli – flash-kiolvasás-védelem.Haladó anyag – TLS-tanúsítványok azokhoz a kamerákhoz, amelyeknek hálózati szolgáltatások felé kell hitelesíteniük magukat és titkosítaniuk a forgalmat.
Egy kiszállított kamerán mindez a helyén van: az alkalmazáskódja a firmware-képből fut, a watchdogja fő-ciklus iterációnként egyszer kap etetést, a naplója egy dátumozott könyvtárba kerül az SD-kártyán, és – ha a termék megköveteli – a flashe le van zárva a kiolvasás ellen.
14.5.1. Hogyan tovább¶
A gyártás a tananyag utolsó fejezete. Innentől a dokumentáció referenciaanyagokra oszlik:
A könyvtári referencia az „mi ennek a hívásnak a pontos neve” betűrendes nézete a kamera által elérhetővé tett minden modulhoz –
machine,logging,os,csi,image,mlés a többi.A kártyánkénti gyors referencia oldalak az OpenMV termékvonal minden kamerájának sajátosságait fedik le – lábkiosztások, felcsatolható buszok, kártyaazonosítók, perifériák elérhetősége, és azok az apró eltérések, amelyek számítanak, amikor az alkalmazásnak egy adott alkatrészre kell kerülnie.
Az érzékelő referencia oldalak és a bővítőkártya referencia oldalak az egyes képérzékelőket és kiegészítő bővítőkártyákat fedik le, amelyeket egy kamera hordozhat – az alkatrészenkénti specifikációkat, lábkiosztásokat és megjegyzéseket, amelyekre az alkalmazásnak szüksége van az érzékelők és bővítőkártyák kiválasztásakor egy buildhez.
A MicroPython nyelvi referencia magát a nyelvet fedi le – a CPythontól való szintaktikai eltéréseket, az implementációs sajátosságokat, amelyek számítanak, amikor egy szkript a kettő határán mozog, valamint a soron belüli assembler referenciát arra a ritka esetre, amikor a Python túl lassú.
A tananyag az út az „új kamera van a kezemben” állapottól a „kiszállítottam egy terméket” állapotig. Innentől a kamera egy nagyobb rendszer egyik darabja, amelyért az alkalmazás felel, és a munka már magának az alkalmazásnak a dolga.