13.5. Інструменти MicroPython

Проект MicroPython постачає клієнтський набір інструментів разом із самою мовою. Два з цих інструментів корисні для будь-якого робочого процесу з OpenMV cam поза межами IDE; обидва встановлюються з PyPI однією командою і обидва працюють із тим самим USB-серійним / файловим інтерфейсом, який камера вже надає.

13.5.1. mpremote

mpremote — це CLI-альтернатива OpenMV IDE. Одна команда охоплює те, що IDE робить через свій браузер файлів, термінал і кнопку запуску скрипта: підключення до камери через USB-серійний порт, керування REPL, копіювання файлів у файлову систему камери та з неї, запуск скрипта на стороні хоста проти камери без його завантаження, а також встановлення сторонніх пакетів за допомогою 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

Це правильний інструмент для автоматизованих тестових стендів, автономних розгортань, CI-скриптів, що прошивають новий образ і запускають димовий тест, і будь-якого робочого процесу, де запуск GUI є надлишковим. Документацію щодо кожної команди та параметра наведено в довіднику mpremote.

13.5.2. mpy-cross

mpy-cross — це крос-компілятор, що перетворює вихідний файл .py на двійковий контейнер .mpy, готовий до імпорту на камері. Попередня компіляція звільняє камеру від розбору вихідного коду під час імпорту, зменшує розмір на диску і є єдиним способом для функцій, декорованих @native і @viper, що потребують збірки, відповідної архітектурі MCU камери:

$ pip install --user mpy-cross
$ mpy-cross foo.py
$ mpremote cp foo.mpy :

Для заморожених модулів, вбудованих у образ мікропрограми, і для розділів ROMFS, що постачаються разом з нею, той самий інструмент запускається автоматично як частина збірки мікропрограми — система збірки викликає mpy-cross для кожного .py у scripts/ на шляху до створення .bin. Пряме звернення до інструменту застосовується, коли застосунок хоче постачати .mpy окремо від мікропрограми або керувати компілятором зі скрипта збірки.

Розділ mpy-cross довідника файлів .mpy охоплює прапорці командного рядка, рівні оптимізації, матрицю -march і точки входу модуля Python.