13.5. MicroPython eszközök¶
A MicroPython projekt magával a nyelvvel együtt egy host oldali eszközláncot is szállít. Ezek közül kettő bármely OpenMV cam munkafolyamathoz hasznos, amely az IDE-n kívül zajlik; mindkettő egyetlen paranccsal telepíthető a PyPI-ről, és mindkettő ugyanazon a USB soros / fájlrendszer felületen működik, amelyet a cam már elérhetővé tesz.
13.5.1. mpremote¶
Az mpremote egy parancssori (CLI) alternatíva az OpenMV IDE helyett. Egyetlen parancs lefedi mindazt, amit az IDE a fájlböngészőjén, terminálján és szkriptfuttató gombján keresztül végez: csatlakozás egy camhez USB soros kapcsolaton, a REPL vezérlése, fájlok be- és kimásolása a cam fájlrendszeréből, host oldali szkript futtatása a camen feltöltés nélkül, valamint harmadik féltől származó csomagok telepítése a mip segítségével:
$ 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
Ez a megfelelő eszköz automatizált tesztpadokhoz, fej nélküli (headless) telepítésekhez, olyan CI szkriptekhez, amelyek friss image-et flashelnek és füstpróbát futtatnak, valamint bármely munkafolyamathoz, ahol a grafikus felület futtatása túlzás lenne. Az mpremote hivatkozás minden parancsot és opciót dokumentál.
13.5.2. mpy-cross¶
Az mpy-cross az a keresztfordító, amely egy .py forrásfájlt egy .mpy bináris konténerré alakít, amely készen áll a camre történő importálásra. Az előzetes fordítás megkíméli a camet a forrás importáláskori elemzésétől, kisebb lemezterületet igényel, és ez az egyetlen út a @native és @viper dekorátorral ellátott függvényekhez, amelyekhez a cam MCU architektúrájához illesztett build szükséges:
$ pip install --user mpy-cross
$ mpy-cross foo.py
$ mpremote cp foo.mpy :
A firmware image-be beépített befagyasztott (frozen) modulok és a mellette szállított ROMFS partíciók esetében ugyanez az eszköz automatikusan fut a firmware build részeként – a build rendszer minden, a scripts/ alatt található .py fájlon meghívja az mpy-cross-t, miközben előállítja a .bin fájlt. A közvetlen meghívásra akkor van szükség, amikor egy alkalmazás egy .mpy fájlt a firmware-től külön kíván szállítani, vagy egy build szkriptből szeretné vezérelni a fordítót.
Az .mpy fájlok hivatkozásának mpy-cross szakasza a parancssori kapcsolókat, az optimalizálási szinteket, a -march mátrixot és a Python modul belépési pontjait ismerteti.