Режим внешнего запуска для нескольких камер
Введение
Комплекты камер с глобальным затвором позволяют делать снимки и синхронизировать потоки с двух и более камер. На производстве (например, на сборочной линии) в режиме внешнего запуска камеры легко синхронизировать с другим оборудованием.
Поддерживаемые камеры
| Артикул | Сенсор | Разрешение | Разъём (контакты, сторона) | Особенности | Объектив | Угол обзора (Г × В) | Фокусировка | Чувствительность к ИК |
|---|---|---|---|---|---|---|---|---|
| B0492R | AR0234 | 2 Мп | 22, снизу | Цветная, глобальный затвор | M12 | 90° × 75° (по диагонали 120°) | Ручная | Встроенный ИК-фильтр |
| B0331 | OV9782 | 1 Мп | 15, снизу | Цветная, глобальный затвор, 4 камеры | M12 | 75° × 46,8° | Ручная | Без ИК-фильтра |
| B0266 | OV9281 | 1 Мп | 15, снизу | Монохромная стереокамера с глобальным затвором | M12 | 70° × 43,75° | Ручная | Без ИК-фильтра |
| B0267 | OV9281 | 1 Мп | 15, снизу | Монохромная стереокамера с глобальным затвором | M12 | 75° × 46,8° | Ручная | Без ИК-фильтра |
Аппаратная часть
Сначала припаяйте штыревые контакты к выводам XVS/F и GND, затем проводами Dupont через макетную плату соедините выводы XVS и GND всех двух или четырёх камер с выводами GPIO Raspberry Pi.
Вывод XVS

Распиновку вывода XVS см. на схеме.
ПО
Шаг 1. Подключите вывод внешнего запуска
Соедините GPIO 17 и GND Raspberry Pi с выводами XVS и GND камер проводами Dupont.
| Raspberry Pi | Камера |
|---|---|
| GPIO 17 | XVS |
| GND | GND |
Шаг 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
libcamera-still -t 0 --shutter 1000
На других моделях Raspberry Pi:
export LIBCAMERA_RPI_CONFIG_FILE=timeout.yaml
libcamera-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_multi_cam.zip https://cdn.arducam.com/downloads/trigger_multi_cam.zip
unzip trigger_multi_cam.zip
python3 trigger_multi_cam.py
Шаг 6. Выключите режим внешнего запуска
Выключите режим внешнего запуска, чтобы вернуть камеру в исходное состояние.
v4l2-ctl -d /dev/v4l-subdev0 -c trigger_mode=0