13.1.4. Запуск скриптів¶
Кнопка запуску – зелена стрілка під кнопкою підключення або Ctrl+R – надсилає скрипт з поточної вкладки редактора на підключену камеру і виконує його. Поки скрипт працює, кнопка запуску перетворюється на кнопку зупинки, яка перериває виконання. Ці дві кнопки – основний цикл розробки на камері: редагуй, запускай, спостерігай, зупиняй, редагуй знову.
У цьому циклі є два важливі нюанси. По-перше, скрипт надсилається в оперативну пам’ять камери і виконується там – запуск скрипта нічого не записує у сховище камери, і після скидання скрипт зникає. По-друге, виконується вміст поточної вкладки редактора – саме так, як він відображається, збережений чи ні. Немає окремого кроку завантаження і немає застарілої копії на камері, яка могла б розійтися з вмістом редактора.
Поки скрипт виконується, його вивід print() передається до послідовного термінала, а кожен знятий кадр з’являється у переглядачі кадрового буфера. Якщо скрипт викидає необроблений виняток, трасування стека виводиться у послідовний термінал, і IDE переводить редактор на рядок, що спричинив помилку – для багатофайлового застосунку спочатку відкривається відповідний файл з накопичувача камери.
13.1.4.1. Збереження скрипта в постійну пам’ять¶
Щоб камера виконувала скрипт без IDE – при увімкненні, автономно, в польових умовах – збережіть скрипт на камері під назвою main.py. Tools → Save open script to OpenMV Cam (as main.py) записує вміст поточної вкладки редактора на накопичувач камери під цим ім’ям; при цьому пропонується видалити коментарі та стиснути пробільні символи – що зменшить розмір файлу, але зробить копію нечитабельною – а Tools → Reset OpenMV Cam перезапускає камеру, щоб вона завантажилася зі збереженого скрипта. Разом вони утворюють крок розгортання: відтоді камера виконуватиме ваш скрипт щоразу, коли увімкнена, незалежно від наявності IDE.
Поки скинута камера виконує збережений main.py, IDE все одно може підключитися до неї – якщо увімкнено Stop Script on Connect/Disconnect (типово), підключення зупиняє збережений скрипт і повертає керування редактору.
Дивись також
Вбудовування скриптів у мікропрограму – про роль main.py у послідовності завантаження камери та про перенесення готового застосунку з редагованого сховища повністю.
13.1.4.2. Накопичувач камери¶
Флеш-файлова система камери (і SD-картка, якщо вона вставлена) монтується на хості як USB-флеш-накопичувач. Tools → Open OpenMV Cam Drive folder відкриває її у файловому менеджері. Сюди копіюють бібліотечні модулі, файли моделей і ресурси, які скрипт імпортує або завантажує, а також звідси отримують збережені зображення та журнали. Шлях до накопичувача також відображається у рядку стану.
Файли, створені скриптом, не з’являються на хості одразу: хост кешує файлову систему з моменту монтування накопичувача, тому знімок, збережений запущеним скриптом, залишається невидимим до повторного монтування. Tools → Reset OpenMV Cam виконує повторне монтування – швидкий спосіб отримати доступ до щойно записаних скриптом файлів.
Одне застереження: камера і хост спільно використовують цю файлову систему, і одночасний запис з обох сторін може призвести до її пошкодження. Копіюйте файли, поки жоден скрипт не веде запис у сховище, і коректно від’єднуйте носій перед вийманням картки.