Top.Mail.Ru

Подключение камеры к Raspberry Pi 4 B. High Quality Camera.

Всех приветствую! Сегодня вернемся к теме Raspberry Pi, а если точнее, то осуществим подключение камеры и, соответственно, получение с нее данных. Иначе зачем подключать ) Пойдем снова по привычной схеме, максимально структурированно и систематизированно - для начала разберем теоретически-физическую часть, а затем займемся программными аспектами и практическими примерами. Плюс ко всему, по взаимодействию Raspberry Pi с камерой я планирую сделать несколько статей, так что следите за обновлениями 👍

Итак, на данный момент в продаже присутствуют два типа официальных модулей камер для Raspberry:

  • Raspberry Pi Camera Module 2 на базе 8-мегапиксельного сенсора IMX219
  • Raspberry Pi High Quality Camera уже на базе Sony IMX477

Визуально все это богатство выглядит следующим образом, Camera Module 2:

Camera Module 2

HQ Camera:

HQ Camera

Давайте кратко рассмотрим некоторые сравнительные характеристики:

Camera Module v2 High Quality Camera
Video modes 1080p30, 720p60, 640x480p60/90 1080p30, 720p60, 640x480p60/90
Sensor Sony IMX219 Sony IMX477
Sensor resolution 3280x2464 pixels 4056x3040 pixels
Sensor image area 3.68x2.76 mm 6.287x4.712 mm
Focal length 3.04 mm Depends on lens
Horizontal field of view 62.2 degrees Depends on lens
Vertical field of view 48.8 degrees Depends on lens
Focal ratio (F-Stop) 2 Depends on lens

Забегая вперед, могу сказать, что с модулем HQ Camera у меня была недавно задача, где требовалось получить 1080p50 (1920*1080, fps 50), это было успешно достигнуто с сопутствующим разгоном Raspberry. Но об этом мы подробно поговорим в одной из следующих частей.

Первый из упомянутых девайсов довольно давно пришел на смену модулю на базе OmniVision OV5647, а для экспериментов будем использовать High Quality Camera, по той простой причине, что эти модули у меня сейчас есть под рукой, и можно организовать пару-тройку примеров для практической части. С точки зрения этого самого практического использования существенной и принципиальной разницы нет, поэтому если вы являетесь счастливым обладателем Camera Module 2, то это не проблема.

Из сводной таблицы чуть выше можно сделать вывод, что некоторые характеристики зависят то используемого объектива (в дальнейшем местами может быть  использован сленг «линза»), который приобретается обычно отдельно. В частности у меня сейчас есть такой вариант:

Объектив

И здесь сразу же есть один нюанс, о котором редко где можно встретить упоминание, но который периодически приводит к проблемам. К счастью, проблемы эти не является критичными.

Стандарты крепления объективов C-Mount и CS-Mount.

High Quality Camera поддерживает два стандарта крепления линз: C-Mount и CS-Mount, для этого модуль укомплектован специальным адаптером:

C-CS adapter для Raspberry Pi HQ Camera Module

Нюанс заключается в том, что эти два крепления имеют одинаковые параметры резьбы, разным же является расстояние до опорной плоскости ПЗС-матрицы. Разница эта составляет 5 мм, что и нивелируется адаптером:

Адаптер

Что мы имеем в сухом остатке? А то, что из-за одинаковой резьбы ничто не мешает прикрутить CS-Mount объектив через адаптер для C-Mount (либо наоборот, C-Mount линзу без адаптера), в результате чего настроить фокус становится невозможно. И по наблюдениям во многих случаях ответ на вопрос “почему не фокусируется камера на Raspberry Pi” кроется в том, что установлено переходное кольцо, которое в данном случае не требуется (либо не установлено, хотя необходимо). И, что бесспорно хорошо, проблема данная решается довольно просто и быстро.

Двигаемся дальше, логичным шагом будет рассмотреть некоторые варианты объективов и их сравнительные характеристики, только сухие факты:

16 mm Telephoto Lens 25 mm Telephoto Lens 35 mm Telephoto Lens 8-50 mm Zoom Lens 6 mm Wide Angle Lens
Connector C-mount C-mount C-mount C-mount CS-mount
Weight, g 133.7 82 78 148 53
Size 1" 2/3" 1" 1/2.3" 1/2"
F/No F1.4-16 F1.4-16 F1.7-16 F1.4 F1.2
BFL 17.53mm 17.53mm 17.53mm 17.53mm 7.53mm
TTL 67.53mm - - - -
Dimension, mm 39.00x50.00 34.00x34.00 35.00x34.00 40.00x68.30 30.00x34.00

Собственно, теперь самое время перейти непосредственно к подключению камеры к Raspberry Pi. Да, кстати, я в повседневной жизни использую Raspberry Pi 4 Model B 8 Gb, поэтому и сегодня задействую именно ее. Но опять же, ключевых отличий это не привнесет, все остается актуальным и для других версий плат.

Подключение камеры к Raspberry Pi 4 Model B.

Подключение производится довольно просто - через шлейф, который чаще всего (по крайней мере я не сталкивался с иным) идет в комплекте с модулем камеры. Единственная сложность может заключаться в том, что на плате присутствуют два разъема – CSI (Camera Serial Interface) и DSI (Display Serial Interface). Очевидно, что в контексте подключения камеры к Raspberry Pi, нас  интересует первый вариант, поэтому будьте внимательны, не перепутайте, хорошего это не сулит. По итогу имеем следующее:

Подключение камеры к Raspberry Pi 4 Model B

Но (!) и здесь не без некоторых дополнительных нюансов. Стандартный шлейф не подходит для Raspberry Pi Zero, поэтому в случае использования этой модели, придется озадачиться покупкой нужного, выглядит он так:

Шлейф

Давайте рассмотрим принципиальную схему, в частности часть, относящуюся к разъему CSI. Для модуля камеры:

Схема модуля HQ Camera

И для самой платы, в моем случае это Raspberry Pi 4 B:

Схема подключения камеры к Raspberry Pi 4

Здесь налицо один неутешительный вывод. Как видите, используются только 2 пары линий CSI, что ограничивает пропускную способность интерфейса. Таким образом, насколько бы качественное изображение не мог выдавать сенсор, есть все шансы упереться банально в ограничение канала для передачи этих данных. К счастью, есть вариант приобрести модифицированный модуль камеры, в котором подключение осуществлено иначе. В этом случае, найдя еще и подходящую плату, можно раскрыть возможности сенсора в полной мере. Но не буду сейчас в это углубляться, иначе статья получится чрезмерно раздутой, если есть вопросы – добро пожаловать в комментарии )

Все, теперь можно спокойно перейти к следующему разделу, а именно к физической части настройки камеры.

Настройка модуля камеры High Quality Camera.

Эта самая настройка может быть разбита на вполне конкретные этапы, которые будут схожи для разных типов креплений объективов. Тем не менее рассмотрим подробно оба варианта, и начнем с CS-mount.

  • Адаптер в данном случае нам не нужен, поэтому коммутацию частей выполняем следующим образом:
Установка объектива, CS-mount
  • Заднее кольцо регулировки фокуса должно быть закручено полностью и до упора (за редкими исключениями, которыми можно пренебречь). Для дополнительной фиксации затягиваем винт, чтобы при дальнейшей настройке эта часть уже не смещалась:
Регулировка фокуса
  • Настройка диафрагмы заключается в повороте отмеченного на схеме кольца при статичных остальных частях. Крутим по часовой стрелке - закрываем диафрагму - уменьшается яркость. Крутим по часовой - открываем диафрагму - увеличиваем яркость. Соответственно, направляем камеру на интересующий объект, смотрим полученное с камеры изображение, регулируем положение кольца в случае необходимости:
Диафрагма
  • Финальный этап - настройка фокуса. Фиксируем отмеченную часть, крутим два внешних кольца, регулируем фокусировку:
Финальная настройка фокуса HQ Camera Module

На этом физический процесс настройки камеры для Raspberry Pi завершен, пробежимся по этим же этапам, но для C-mount линзы.

  • Устанавливаем адаптер:
Установка адаптера
  • Устанавливаем объектив:
Установка объектива, C-mount
  • Фиксируем:
Фиксация
  • Настройка диафрагмы:
Настройка диафрагмы
  • Настройка фокуса:
Настройка фокуса
  • Успех 👍

Как вы уже заметили, для осуществления описанных процессов, необходимо видеть изображение с камеры, к этому этапу, наконец, и переходим. Причем сегодняшнюю статью я решил сконцентрировать на процессах подключения и настройки, поэтому в завершение рассмотрим, как обеспечить включение поддержки камеры в операционной системе. А уже именно получению от камеры результата в виде изображения/видео будет целиком и полностью посвящена вторая часть цикла статей. Итак, переходим к завершению сегодняшней статьи…

Активация/включение камеры на Raspberry Pi 4 B.

В общем-то это будет краткое описание, поскольку в актуальных на текущий момент официальных образах Raspberry Pi OS поддержка камеры уже включена по умолчанию. То есть установив голую систему с официального сайта, можно сразу же проверить работоспособность камеры командой:

libcamera-hello

В результате в течение 5-ти секунд будет отображаться превьюшка с изображением с камеры:

Raspberry Pi 4 Model B HQ Camera

Различным командам, как я уже упомянул, будет посвящена вторая часть, поэтому здесь ограничимся только libcamera-hello для диагностики успешного подключения. Хотя для настройки фокуса и диафрагмы 5-ти секунд будет явно мало, поэтому добавим:

libcamera-hello -t 0

Окно preview теперь не будет закрыто по истечению временного интервала, так что можно спокойно настроить параметры изображения. В более старых версиях Raspberry Pi OS активация камеры производилась, как и многое другое, при помощи raspi-config:

sudo raspi-config

Далее в разделе “Interface options” можно было найти интересующий нас пункт. Сейчас же здесь можно перейти на старый стек:

raspi-config

Это тоже в деталях обсудим в следующей части. Кроме того, аналогичные конфигурационные махинации можно произвести и при помощи Raspberry Pi Configuration. Там также все визуально понятно и наглядно, поэтому разбирать отдельно не будем, в случае возникновения трудностей пишите в комментарии, либо на форум, либо в нашу группу.

Но и на этом еще не все, я, например, зачастую использую не Raspberry Pi OS, а Ubuntu. В данном случае для включения камеры редактируем файл /boot/config.txt любым удобным способом, как вариант через gedit:

sudo gedit /boot/config.txt

В конце файла добавляем:

start_x=1

Сохраняем изменения и перезапускаем систему. Результатом будет активация камеры, которая теперь доступна для любых манипуляций и действий. Вот на этом на сегодня и заканчиваем, не пропустите последующие части, которых как я предполагаю будет три или четыре, там посмотрим. Всех благодарю за внимание!

Подписаться
Уведомить о
guest

8 комментариев
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии
Тарас
Тарас
11 месяцев назад

Добрый день! А подойдёт ли эта камера для raspberry pi 5й версии?

Тарас
Тарас
Ответ на комментарий  Aveal
11 месяцев назад

Спасибо!

Тарас
Тарас
Ответ на комментарий  Aveal
11 месяцев назад

А планируете брать? Я не специалист, с одноплатниками не работал, хотел брать 4ю, но вот смотрю на 5ю пристально.

Тарас
Тарас
Ответ на комментарий  Aveal
11 месяцев назад

Понял, спасибо!

8
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x