К содержимому
  1. Главная
  2. Блог
  3. Восемь камер одновременно на Raspberry Pi Compute Module 4

Восемь камер одновременно на Raspberry Pi Compute Module 4

28 ноября 2022 · По материалам Arducam

Восемь камер, подключённых к Raspberry Pi CM4

Предыстория

Зачем это нужно

Сложно ли запустить восемь камер одновременно на одном Raspberry Pi CM4?

Нет, если у вас есть синхронизированная плата Arducam Camarray HAT на четыре камеры. Понадобятся всего две такие платы по четыре камеры на каждой. Arducam уже собрала всё нужное в готовый комплект.

Изображения с восьми камер на экране CM4
Восемь камер снимают восемь объектов.

Поводом для этого руководства стал опыт одного из пользователей, который недавно поделился с Arducam своей сборкой. Но и в целом спрос на системы с несколькими камерами есть всегда: 3D-сканеры, камеры на дронах, камеры IoT, стереозрение роботов, фотоловушки для съёмки дикой природы, круговое видеонаблюдение на 360°, распознавание лиц и объектов, прямые трансляции и т. д.

По данным Arducam, если говорить о нескольких камерах, которые работают буквально «одновременно»* на одном Raspberry Pi, оборудование Arducam пока остаётся единственным решением, которое это умеет. К этому результату Arducam пришла за несколько лет через три крупных шага: плата-адаптер для нескольких камер, синхронизированная стереокамера HAT и Camarray.

\* Что значит «одновременно»:

  • На одной плате HAT камеры CAM0 и CAM1 полностью синхронны, CAM2 и CAM3 — тоже; между парами CAM0/1 и CAM2/3 есть задержка в один кадр.
  • В схеме с восемью камерами из этого руководства две платы HAT между собой полностью НЕ синхронизированы: задержка зависит от многих факторов конкретной системы.

Как развивались решения Arducam для нескольких камер

Этапы развития решений Arducam для нескольких камер
Этапы развития решений Arducam для нескольких камер.

Этап 1

Плата-адаптер Arducam для нескольких камер решила базовую задачу — съёмку несколькими камерами с разных ракурсов: к одной плате Pi можно подключить до четырёх камер.

Но адаптер включает только одну камеру за раз, между камерами приходится переключаться. Опытным пользователям Raspberry Pi нужна одновременная работа — настоящая стереокамера для Raspberry Pi 3, 4 и других стандартных плат Pi. Решить это мешала аппаратная конструкция: у стандартных моделей Raspberry Pi только один порт камеры. Можно синхронизировать камеры по сети, но тогда на каждую камеру нужен свой Raspberry Pi, а снимки всё равно делаются не строго в один момент — между кадрами возникают сдвиги движения и артефакты.

Этап 2

Затем Arducam выпустила плату-стереокамеру HAT для Raspberry Pi. К одной стандартной плате Pi через неё подключаются две камеры OV5647 на 5 Мп или две камеры IMX219 на 8 Мп и снимают фото или видео одновременно. Главное — в этой бинокулярной схеме обе камеры полностью синхронизированы.

Этап 3

Следующим шагом стала Camarray — линейка Arducam для работы с несколькими камерами на Raspberry Pi, Jetson Nano, Xavier NX и других платформах, в которую входят и аппаратная, и программная части. Аппаратная часть снимает ограничение по числу физических разъёмов камер: к одному разъёму подключается до четырёх одинаковых камер MIPI. Программная часть позволяет выводить на экран и захватывать видео со всех подключённых камер и даже работать с сенсорами, которые официальные драйверы не поддерживают.

Герой этой статьи — комплект Arducam из четырёх камер — представляет самую свежую версию Camarray. Он ещё дальше расширяет возможности работы с несколькими камерами и вдвое увеличивает число подключаемых модулей: четыре синхронизированных модуля камер MIPI работают через один разъём MIPI CSI-2.

Приступаем

Теперь за дело — это проще, чем пожарить яичницу.

Восемь камер на CM4: проще, чем пожарить яичницу

Что понадобится

Всё, что нужно для сборки.

Оборудование

  • 1 × плата Arducam Camarray HAT
  • 4 × камера IMX219 на 8 Мп
  • 4 × шлейф FPC с 15 на 22 контакта, 15 см
  • 1 × шлейф FPC с 15 на 22 контакта, 30 см
  • 1 × шлейф FPC с 15 на 22 контакта, 7 см
  • 1 × набор винтов

Программная среда

  • ARM (Raspberry Pi CM4)
  • ОС: Raspberry Pi OS Bullseye

Порядок действий

Переходим к «приготовлению».

Подключение и питание

  • Подключите выход MIPI TX каждой платы Camarray HAT к плате ввода-вывода: одну — к CAM0, другую — к CAM1.
  • Подключите плату ввода-вывода Raspberry Pi CM4 к монитору.
  • Подайте питание на обе платы Arducam Camarray HAT.

Питание на платы HAT можно подать двумя способами:

  • через кабель USB Type-C;
  • от Raspberry Pi — установив плату прямо на GPIO (5 В и GND) или через двухконтактный кабель питания.

Затем включите питание платы ввода-вывода Raspberry Pi CM4.

Восемь камер, подключённых к плате ввода-вывода CM4

Настройка

sudo vi /boot/config.txt

Добавьте в файл конфигурации строки:

dtoverlay=imx219
dtoverlay=imx219,cam0
Строки dtoverlay в файле config.txt
Затем сохраните файл и перезагрузите систему.

Запуск нескольких камер

Откройте два терминала.

В первом терминале:

libcamera-still -t 0 --camera 0

Во втором терминале:

libcamera-still -t 0 --camera 1
Изображение с восьми камер на экране

Полная демонстрация — в видео на YouTube.

Ещё по теме

Запросить цену

Укажите количество — пришлём коммерческое предложение.