14.5. Shrnutí¶
Prošli jste životním cyklem kamery od funkčního skriptu na pracovním stole až po dodaný produkt:
Vlastní buildy firmwaru – vývojové prostředí, sestavení firmwarového obrazu ze zdrojového kódu, jeho nahrání do kamery a ladicí cesta od VS Code Cortex-Debug k příkazové řádce
gdbrunner, když je něco v nepořádku na straně firmwaru.Dodání aplikace – zapečení aplikačního kódu do firmwaru pomocí frozen modulů, zapečení zdrojů do obrazu ROMFS a pořadí vyhledávání, které určuje, kterou kopii souboru runtime při startu skutečně načte. Výsledné rozdělení:
boot.pypro nastavení prostředí před REPL,main.pyjako vstupní bod aplikace, frozenmain.pypro vstup a ROMFS pro vše ostatní.Zpevnění pro produkci – knihovna
loggingzapisující na známou cestu,machine.WDTnapájený jednou za každou iteraci hlavní smyčky,try/exceptna nejvyšší úrovni, který mění pády na zalogované události namísto resetů, hygiena souborového systému udržující operace se soubory rychlé, jak aplikace v terénu po měsíce hromadí záznamy, a – když to produkt vyžaduje – ochrana proti čtení flash paměti.Pokročilý materiál – TLS certifikáty pro kamery, které se musí autentizovat vůči síťovým službám a šifrovat s nimi provoz.
Dodaná kamera má toto vše na svém místě: její aplikační kód běží z firmwarového obrazu, její watchdog je napájen jednou za každou iteraci hlavní smyčky, její log přistává v datovaném adresáři na SD kartě a – když to produkt vyžaduje – její flash paměť byla uzamčena proti čtení.
14.5.1. Kam dál¶
Produkce je poslední kapitolou tutoriálu. Odtud se dokumentace dělí na referenční materiál:
Referenční příručka knihoven je abecední pohled „jaký je přesný název tohoto volání“ na každý modul, který kamera nabízí –
machine,logging,os,csi,image,mla další.Stránky rychlého přehledu pro jednotlivé desky pokrývají specifika každé kamery v produktové řadě OpenMV – rozložení pinů, připojitelné sběrnice, ID desek, dostupnost periferií a drobné rozdíly, na kterých záleží, když aplikace musí běžet na konkrétní součástce.
Referenční stránky senzorů a referenční stránky shieldů pokrývají jednotlivé obrazové senzory a přídavné shieldy, které kamera může nést – specifikace jednotlivých součástek, rozložení pinů a poznámky, které aplikace potřebuje při výběru senzorů a shieldů pro daný build.
Jazyková referenční příručka MicroPython pokrývá samotný jazyk – rozdíly v syntaxi oproti CPython, specifika implementace, na kterých záleží, když se skript pohybuje mezi oběma, a referenci inline assembleru pro vzácné případy, kdy je Python příliš pomalý.
Tutoriál je cesta od „mám novou kameru v ruce“ k „dodal jsem produkt“. Odtud je kamera jednou součástí většího systému, za který je zodpovědná aplikace, a samotná práce je věcí aplikace.