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