13.1.3. Подключение камеры

Каждый сеанс начинается с кнопки подключения – значка вилки в нижней части левой панели инструментов, или Ctrl+E. Нажмите её, и IDE просканирует USB-порты последовательной связи в поисках камер и подключится к найденной. При нескольких подключённых камерах диалоговое окно спросит, какой последовательный порт использовать, предварительно выбрав ваш предыдущий выбор; при отсутствии камер IDE сообщит об этом и предложит путь восстановления для камеры, которая больше не определяется (см. Обновление и восстановление прошивки).

13.1.3.1. Что происходит при подключении

Подключение – это больше, чем открытие последовательного порта. IDE идентифицирует плату, считывает версию её прошивки и сравнивает её с релизом, входящим в комплект IDE. Если прошивка камеры устарела, появляется запрос с предложением обновить её – именно через этот запрос камеры обычно получают обновления прошивки. Диалог обновления имеет флажки, позволяющие также стереть внутреннюю флеш-файловую систему и сбросить файловую систему ROM; оба по умолчанию выключены и запоминают ваш последний выбор, и ни один из них обычно не требуется для обновления. После первого успешного подключения IDE также показывает одноразовое диалоговое окно, объясняющее, что означают цвета мигания светодиода камеры.

Камера, подключённая в режиме загрузчика (DFU), а не как обычное последовательное устройство, получает при подключении собственное диалоговое окно с возможностями установить последнюю релизную прошивку, загрузить конкретный файл прошивки, стереть внутреннюю флеш-файловую систему или отредактировать либо сбросить файловую систему ROM.

IDE сообщает и о платформенных особенностях. В Windows она проверяет системный список устройств во время подключения и сообщает обо всех обнаруженных проблемах с USB-драйверами, называя задействованные устройства. В Linux ошибка прав доступа при открытии последовательного порта почти всегда означает, что ваш пользователь не входит в группу dialout – диалоговое окно ошибки показывает точную команду adduser, которая это исправляет.

13.1.3.2. Строка состояния

После подключения строка состояния в нижнем правом углу окна становится панелью управления камерой:

  • Board – тип платы, сообщаемый камерой.

  • Sensor – подключённый модуль датчика камеры.

  • Firmware Version – работающая версия прошивки. Нажмите на неё, чтобы повторно сверить версию с входящим в комплект релизом и обновить, если доступна более новая.

  • Serial Port – порт, используемый соединением.

  • Drive – точка монтирования флеш-накопителя, связанного с камерой. Нажмите на неё, чтобы открыть накопитель в файловом менеджере; когда подключено несколько подходящих накопителей, IDE спрашивает, какой из них принадлежит камере, и запоминает ответ для каждого последовательного порта. Камера подключается и запускает скрипты нормально и без привязки накопителя – только зависящие от накопителя действия, такие как открытие папки накопителя и сохранение скрипта как main.py, остаются недоступными, пока он не задан.

  • FPS – частота, с которой кадры поступают в IDE. Это частота предпросмотра, не обязательно частота захвата камеры – скрипт может работать быстрее, чем USB-канал способен передавать его кадры.

Отключение прощает ошибки. Нажатие кнопки отключения – это аккуратный способ завершить работу, но отсоединение кабеля тоже работает – IDE замечает, что камера исчезла (или перестала отвечать), и отключается самостоятельно.

13.1.3.3. Автоматическое переподключение

Tools → Auto Reconnect to OpenMV Cam делает подключение полностью автоматическим: всякий раз, когда камера появляется на USB, IDE подключается к ней, а кнопки ручного подключения и отключения отключены, пока этот параметр включён. С одной камерой и одной IDE это удобный режим – подключите камеру, и она подключена. Отключайте его, когда жонглируете несколькими камерами или делите порт с другой программой.

Связанный параметр Tools → Stop Script on Connect/Disconnect (включён по умолчанию) останавливает любой работающий скрипт, когда IDE подключается или отключается, так что только что подключённая камера всегда находится в известном состоянии простоя. Отключите его, чтобы камера продолжала выполнять свой хранящийся скрипт, пока IDE подключается для наблюдения за ним.