Режим внешнего запуска
Введение
У камер с глобальным затвором есть функция внешнего запуска (trigger): по внешнему сигналу камера делает снимок, а при подключении двух и более камер их потоки можно синхронизировать. На производстве (например, на сборочной линии) в режиме внешнего запуска камеру легко синхронизировать с другим оборудованием. Кроме того, сенсор поддерживает спящий режим, который заметно снижает энергопотребление.
Поддерживаемые камеры
| Артикул | Сенсор | Разрешение | Разъём (контакты, сторона) | Цветной фильтр | Особенности | Объектив | Угол обзора (Г × В) | Фокусировка | Чувствительность к ИК |
|---|---|---|---|---|---|---|---|---|---|
| B0348 | OG02B10 | 2 Мп | 22, сверху | Цветной | Pivariety | M12 | 85° × 69° | Ручная | ИК-фильтр 650 нм |
| B0353 | AR0234 | 2 Мп | 22, сверху | Цветной | Pivariety | M12 | 90° × 56° | Ручная | Без ИК-фильтра |
| B0381 | OV2311 | 2 Мп | 22, сверху | Монохромный | Pivariety | M12 | 83° × 67,5° | Ручная | Без ИК-фильтра |
| B0526 | Mira 220 | 2,2 Мп | 15, снизу | Монохромный | Pivariety | M12 | 68° × 53° | Ручная | Без ИК-фильтра |
Аппаратная часть
Сначала припаяйте штыревые контакты к выводам TRIGGER/XVS/FSIN и GND. TRIGGER/XVS/FSIN подключается к внешнему сигналу запуска, GND — к земле.
Вывод XVS
Для ряда камер — например, новых версий OV9281/OG02B10/OV2311 — Arducam адаптировала новую плату (UC-788).

Вывод FSIN
В некоторых камерах Arducam внешний запуск подаётся на вывод FSIN.
Вывод Trigger
Например, у камеры B0526 внешний запуск подаётся на вывод Trigger.

Настройка ПО
Шаг 1. Подключите вывод внешнего запуска
Соедините выводы GPIO Raspberry Pi с выводами XVS и GND камеры проводами Dupont, как показано на схеме подключения.

Шаг 2. Увеличьте тайм-аут
Если камеры не запустятся в течение секунды, rpicam-apps может завершиться по тайм-ауту. Чтобы этого не произошло, увеличьте тайм-аут в файле конфигурации. Сначала создайте копию стандартного файла конфигурации — команда зависит от модели Raspberry Pi.
На Raspberry Pi 5 или CM5:
cd /usr/share/libcamera/pipeline/rpi/pisp
sudo cp example.yaml timeout.yaml
На других моделях Raspberry Pi:
cd /usr/share/libcamera/pipeline/rpi/vc4
sudo cp rpi_apps.yaml timeout.yaml
Затем откройте новый файл timeout.yaml. Найдите строку "camera_timeout_value_ms":, раскомментируйте её — удалите # в начале — и задайте значение 100000 (100 секунд).
sudo nano timeout.yaml
Шаг 3. Запустите камеру
Выполните команды, чтобы запустить поток с камеры.
На Raspberry Pi 5 или CM5:
export LIBCAMERA_RPI_CONFIG_FILE=/usr/share/libcamera/pipeline/rpi/pisp/timeout.yaml
rpicam-still -t 0 --shutter 1000
На других моделях Raspberry Pi:
export LIBCAMERA_RPI_CONFIG_FILE=timeout.yaml
rpicam-still -t 0 --shutter 1000
Шаг 4. Включите режим внешнего запуска
Откройте новое окно терминала и выполните команду ниже. Камера перейдёт в режим внешнего запуска, окно предпросмотра замрёт в ожидании внешнего сигнала.
v4l2-ctl -d /dev/v4l-subdev0 -c trigger_mode=1
/dev/v4l-subdev2, на других моделях Raspberry Pi — /dev/v4l-subdev0.Шаг 5. Скачайте и запустите скрипт сигнала запуска
Скачайте скрипт на Python и запустите его командами ниже. После запуска скрипта частота кадров камеры будет меняться вслед за внешним сигналом запуска: её задаёт частота этого сигнала.
wget -O trigger.py.zip https://cdn.arducam.com/downloads/trigger.py.zip
unzip trigger.py.zip
python3 trigger.py
Шаг 6. Выключите режим внешнего запуска
Выключите режим внешнего запуска, чтобы вернуть камеру в исходное состояние.
v4l2-ctl -d /dev/v4l-subdev0 -c trigger_mode=0