13.1.2. Скрипты, примеры и папка документов

13.1.2.1. Новые файлы

Создайте новый файл, и IDE откроет буфер untitled_N.py с заранее загруженным минимальным циклом захвата – сброс датчика, настройка формата пикселей и размера кадра, затем снимок и бесконечный вывод частоты кадров. Стартовый скрипт адаптируется под подключённую плату, поэтому работает сразу после создания. Буфер существует только в памяти: вы можете многократно редактировать и запускать его, ни разу не сохраняя, что делает новые файлы самым дешёвым способом проверить идею. Сохраните его на диск – и он станет обычным скриптом.

13.1.2.2. Меню примеров

File → Examples содержит классифицированную по категориям библиотеку примеров скриптов, охватывающих практически все возможности камеры – по одной папке на тему, от базовых снимков до отслеживания цвета, машинного обучения и периферии платы. Открытие примера загружает его в буфер памяти, как новый файл, поэтому вы можете свободно изменять и запускать его, не трогая установленную копию.

По умолчанию меню отфильтровано под подключённую плату и её датчик: примеры, требующие оборудования, которого у вашей камеры нет, скрыты, и меню запрашивает подключение, прежде чем вообще что-либо показать. Tools → Filter examples by board and sensor type отключает фильтр, когда вы хотите просмотреть весь набор.

Примеры также адаптируются при открытии. Скрипты написаны под типичный цветной датчик, поэтому, когда подключённая камера отличается – тепловой или событийный датчик, плата с другим собственным разрешением – IDE при загрузке подгоняет строки формата пикселей и размера кадра под значения, поддерживаемые вашим оборудованием, и пример запускается в том виде, как открыт.

Проработка меню примеров – самый быстрый способ узнать, на что способна камера; большинство приложений начинаются как разросшийся пример.

13.1.2.3. Папка документов

Для ваших собственных скриптов IDE следит за каталогом OpenMV внутри вашей папки документов (Documents/OpenMV). Всё, что вы там храните, появляется в File → Documents Folder, включая подкаталоги, поэтому ваша коллекция скриптов находится в одном меню. Меню читает каталог в реальном времени – файлы, добавленные вне IDE, появляются при следующем открытии меню.

IDE работает в единственном экземпляре: откройте файл .py из файлового менеджера или перетащите его в окно IDE, и он откроется в уже запущенном окне, а не запустит вторую копию.

13.1.2.4. Кросс-компиляция скрипта

Tools → MicroPython Tools → Copy/Convert Python File копирует файл .py в место назначения – на диск камеры, когда она подключена – и позволяет выбрать, что произойдёт по пути: скопировать его без изменений, удалить пробелы и/или комментарии для уменьшения, либо скомпилировать его в файл байт-кода .mpy с помощью компилятора mpy-cross, подобранного под целевую плату. Файл .mpy импортируется ровно так же, как .py, из которого он получен, загружается быстрее и не содержит своего исходного кода – именно эту форму следует использовать при распространении библиотечного модуля в файловую систему камеры. При подключённой камере IDE выбирает целевую плату автоматически; в противном случае диалог спрашивает, под какую плату компилировать. Выбор платы важен, потому что он задаёт архитектуру процессора, под которую нацеливается компилятор: файл .mpy привязан к камере, на которой он будет работать, и файл, скомпилированный под другое семейство плат, не гарантированно загрузится.

См. также

Инструменты MicroPython – о mpy-cross и mpremote как самостоятельных инструментах командной строки, и Файлы .mpy в MicroPython – о самом формате файлов .mpy.