Начало работы с камерой e-CAM20_CURB для Raspberry Pi 4

e-con Systems e-CAM20_CURB — это 2,3-мегапиксельная цветная камера с глобальным затвором и фиксированным фокусом, разработанная для Raspberry Pi 4, и компания прислала нам образец для оценки и обзора. Мы начнем с предоставления спецификаций, прежде чем проверять содержимое упаковки, подключать камеру к Raspberry Pi 4 с помощью крепления LEGO DIY, показывать, как получить доступ к ресурсам для камеры, и пробовать инструменты, предоставляемые в ОС Raspberry Pi или Yocto Linux.

Технические характеристики e-CAM20_CURB

Камера состоит из двух плат со следующими характеристиками:

  • eCAM217_CUMI0234_MOD цветная камера Full HD с 4-полосным интерфейсом MIPI CSI-2
    • ON Semiconductor AR0234CS CMOS с оптическим форм-фактором 1/2,6″
    • Глобальный затвор
    • Встроенный датчик ISPimage от ON Semiconductor
    • Потоковая передача UYVY без сжатия
      • HD (1280 x 720) до 120 кадров в секунду
      • Full HD (1920 x 1080) до 65 кадров в секунду
      • 2,3 МП (1920 x 1200) до 60 кадров в секунду
    • Вход внешнего аппаратного триггера
  • Плата адаптера ACC-XVRNX-MIPICAMERA с 15-контактным разъемом FFC для подключения к Raspberry Pi
  • Размеры — 30 х 30 мм (высота зависит от объектива и регулировки фокусного расстояния)
  • Температурный диапазон – от -30°C до 70°C
  • Соответствие — FCC и RoHS

Компания предоставляет 32-битные образы Yocto и Raspbian/Raspberry Pi OS с драйвером камеры V4L2 Linux и инструментами Gstreamer.

Распаковка камеры e-CAM20_CURB

Сначала мы подумали, что получили не ту посылку, поскольку вместо нее нам прислали камеру See3CAM USB 3.0.

Но не беспокойтесь, e-con Systems просто использовала стандартную упаковку с наклейкой «e-CAM20_CURB_H01R1», подтверждающую, что нам прислали правильную модель камеры.

Мы найдем камеру в антистатическом пакете и 15-сантиметровый кабель FPC для подключения к Raspberry Pi. Мы также найдем красную бумагу, прикрепленную к верхней части, с номером SO (заказ на продажу), который нам понадобится для доступа к документации и образам ОС.

Объектив защищен крышкой, которую мы сняли для того, чтобы сделать фотографию, представленную ниже.

Подключение Raspberry Pi и крепление LEGO своими руками

Подключение очень простое, и единственное, с чем вам нужно быть осторожным, — это ориентация кабеля FPC. Осторожно вытащив черный пластиковый зажим из разъемов на Raspberry Pi и камере e-CAM20_CURB, вам нужно будет вставить кабель таким образом, чтобы синяя сторона кабеля была обращена к черному пластиковому зажиму. Когда закончите, верните пластиковый зажим на место.

Другими словами, синяя (непроводящая) сторона кабеля будет обращена к порту Ethernet платы Raspberry Pi, а проводящая сторона (с текстом) будет обращена к порту HDMI.

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

Мы также должны были найти несколько красочных предметов с большим количеством LEGO и мусоровозом…

Доступ к документации e-CAM20_CURB, ОС Raspberry Pi и изображениям Yocto.

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

На этом этапе нам нужно будет ввести ваш SO#, найденный внутри пакета, как указано в части распаковки,

и продукт будет официально зарегистрирован на веб-сайте e-Con Systems.

Нам будет предоставлена ​​FTP-ссылка с учетными данными (имя пользователя и пароль). Сначала мы попытались перейти на FTP-сервер непосредственно в Firefox, но нас не попросили ввести учетные данные, и все, что мы получили, было пустой страницей, поэтому вместо этого мы использовали Filezilla для загрузки файлов.

Нам сообщили о некоторых проблемах с SSL-сертификатом, но без проблем мы смогли скачать все файлы для камеры:

Компания предоставила предварительно созданные двоичные файлы с изображениями Yocto и Raspbian, наборы исправлений и мета-уровень на случай, если вы захотите создать изображения самостоятельно, а также документацию, включающую таблицы данных для камеры и основных компонентов, руководство по началу работы и руководство разработчика, объясняющее, как собрать код из исходного кода и настроить изображения.

Тестирование камеры e-CAM20_CURB на Raspberry Pi 4 с Yocto

В дальнейшем мы будем в основном использовать информацию из Руководства по началу работы. Мы изначально решили использовать образ «Raspbian» и сохранили его с помощью USBImager. Но загрузка сработала не совсем так, как ожидалось, из-за паники ядра.

Пробовал еще раз прошить образ ОС, но во второй раз получили только черный экран. Компания не предоставляет контрольные суммы MD5 для изображений, поэтому мы не могли легко проверить, была ли проблема во время загрузки или это проблемы с нашей картой microSD (опять же). Поэтому вместо этого мы выбрали меньший образ Yocto, который отлично работает и поставляется со всеми теми же инструментами, что и образ Raspbian.

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

Верхний правый значок позволяет вам получить доступ к окну настроек, которое в основном полезно для настройки WiFi, если вы не используете Ethernet с DHCP.
Небольшой совет: вы можете делать скриншоты, как показано выше, на Yocto следующим образом:

В корневом каталоге вы найдете два скрипта:

  • gst_1080_stream.sh используется для отображения вывода камеры с разрешением 1920×1080 на дисплей, подключенный к Raspberry Pi.
  • gst_1080_record.sh используется для записи видео в формате Full HD на карту microSD.

Для обоих используется команда Gstreamers. Содержимое gst_1080_stream.sh :

и gst_1080_record.sh :

Сначала запустим gst_1080_stream.sh.

Выход камеры почти сразу же появился на нашем дисплее HDMI. Нам просто пришлось вручную настроить фокус, чтобы получить более четкое изображение.

Обратите внимание, что в документации указано:

Вышеупомянутое выполнение конвейера GStreamer должно выполняться с терминала в графическом интерфейсе Raspberry pi, а не с терминала UART (picocom или minicom) хост-компьютера.

Поэтому мы сделали большую часть обзора с терминала на дисплее, подключенном к Raspberry Pi, но в конце концов поняли, что можно запускать все программы с терминала SSH, просто сначала экспортировав дисплей:

Вывод из скрипта для справки:

Мы можем просто нажать Control+C, чтобы остановить приложение в терминале. Проделаем то же самое со скриптом «запись». На этот раз вывод камеры не отображается на дисплее, и все, что мы получаем, это информация в терминале:

Мы нажали Control + C, чтобы остановить запись, и получили файл 1080p_recording.h264, который мы передали на наш компьютер через SSH, чтобы подтвердить, что это файл AVI с видео 1920 × 1080 @ 30 кадров в секунду, закодированным с помощью H.264:

Мы загрузили образец на YouTube для справки:

Видео плавное, но зернистое, потому что оно было снято ночью.

Делать это в дневное время намного лучше, но освещение на видео выше не идеальное, поэтому мы попробовали еще раз с солнечным светом.

Инструмент gst-launch-1.0 довольно мощный и универсальный, но, если вы спросите меня, параметры командной строки не совсем интуитивно понятны, и требуется некоторое обучение, прежде чем полностью понять их все, и должен быть файл с именем «CAM20_CURB_GStreamer_Usage_Guide_<VER>». .pdf» с подробным объяснением этого, которого нет на FTP-сервере, но его можно запросить у e-Con Systems. Но, к счастью, изображения Yocto и Raspbian также поставляются с другим инструментом Gstreamer — gst-capture — который позволит вам проверить длинный список параметров камеры. Сначала нам нужно выбрать устройство video0:

После чего мы сможем переключаться между режимами фотосъемки или потоковой передачи (видео) и, что более важно, получить доступ к длинному списку функций для детального управления камерой:

Мы сами успешно пробовали некоторые из них, но изучение всего этого выходит за рамки этого обзора/руководства по началу работы, поэтому мы просто покажем, как настроить яркость в качестве примера:

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

К сожалению, мы вспомнили об этом только в конце нашего обзора. Вероятно, его следует добавить в документацию e-Con Systems…

Помимо нескольких проблем, которые у нас были в начале с изображением ОС, у нас был довольно хороший опыт работы с камерой, которая хорошо работает с высокой частотой кадров в любых условиях освещения благодаря глобальному затвору. Камера также довольно проста в использовании с приличной документацией, а исходный код доступен для тех, кто хочет настроить ОС. Нам хотелось бы поблагодарить e-Con Systems за отправку камеры с глобальным затвором e-CAM20_CURB для Raspberry Pi 4 для обзора. Если вам интересно, компания продает его за 99 долларов плюс доставка .

Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments