13.5. Nástroje MicroPython¶
Projekt MicroPython dodává spolu se samotným jazykem také sadu nástrojů pro hostitelskou stranu. Dva z těchto nástrojů jsou užitečné pro jakýkoli pracovní postup s OpenMV cam, který probíhá mimo IDE; oba se instalují z PyPI jediným příkazem a oba pracují přes stejné rozhraní USB serial / souborového systému, které kamera již vystavuje.
13.5.1. mpremote¶
mpremote je CLI alternativa k OpenMV IDE. Jediný příkaz pokrývá to, co IDE dělá prostřednictvím svého prohlížeče souborů, terminálu a tlačítka pro spuštění skriptu: připojení ke kameře přes USB serial, ovládání REPL, kopírování souborů do a ze souborového systému kamery, spuštění hostitelského skriptu vůči kameře bez jeho nahrání a instalaci balíčků třetích stran pomocí mip
$ pip install --user mpremote
$ mpremote # interactive REPL
$ mpremote cp main.py : # upload to cam
$ mpremote run local_script.py # run host script on cam
$ mpremote ls # list cam filesystem
$ mpremote mip install aioble # install package on cam
Toto je správný nástroj pro automatizované testovací sestavy, bezhlavá nasazení, CI skripty, které nahrají čerstvý obraz a spustí rychlý test, a pro jakýkoli pracovní postup, kde je spouštění GUI zbytečné. Referenční příručka mpremote dokumentuje každý příkaz a možnost.
13.5.2. mpy-cross¶
mpy-cross je křížový kompilátor, který převádí zdrojový soubor .py na binární kontejner .mpy připravený k importu na kameře. Předběžná kompilace ušetří kameře parsování zdrojového kódu při importu, poskytuje menší stopu na disku a je jedinou cestou pro funkce dekorované @native a @viper, které potřebují sestavení odpovídající architektuře MCU kamery:
$ pip install --user mpy-cross
$ mpy-cross foo.py
$ mpremote cp foo.mpy :
Pro zamrzlé moduly zapečené do obrazu firmwaru a pro ROMFS oddíly dodávané spolu s ním se stejný nástroj spouští automaticky jako součást sestavení firmwaru – sestavovací systém vyvolá mpy-cross nad každým souborem .py v scripts/ na cestě k vytvoření souboru .bin. Přímé vyvolání je to, po čem aplikace sáhne, když chce dodat .mpy odděleně od firmwaru nebo řídit kompilátor ze sestavovacího skriptu.
Sekce mpy-cross referenční příručky souborů .mpy popisuje příznaky příkazové řádky, úrovně optimalizace, matici -march a vstupní body Python modulů.