Быстрый старт с камерами Jetvariety на NVIDIA Jetson
Подключение
Камера для NVIDIA Jetson Nano/Xavier NX
- Найдите разъём камеры (CSI) — он на краю несущей платы, напротив контактов GPIO.
- Осторожно потяните вверх пластиковые края фиксатора разъёма — так, чтобы не оторвать его.
- Вставьте шлейф камеры контактами к радиатору. Не перегибайте шлейф и вставьте его до упора в разъём.
- Удерживая шлейф, опустите пластиковый фиксатор на место.
Камера для NVIDIA Orin Nano/Orin NX
- Найдите разъём камеры (CSI) — он на краю несущей платы, напротив контактов GPIO.
- Осторожно потяните вверх пластиковые края фиксатора разъёма — так, чтобы не оторвать его.
- Вставьте шлейф камеры контактами к радиатору. Не перегибайте шлейф и вставьте его до упора в разъём.
- Удерживая шлейф, опустите пластиковый фиксатор на место.
Схема для NVIDIA Jetson Orin Nano
Шлейф FPC 15–22 контакта

Шлейф FFC 22–22 контакта

Схема для NVIDIA Jetson Orin NX
Шлейф FPC 15–22 контакта

Шлейф FFC 22–22 контакта

Программное обеспечение
Поддерживаемые платформы и версии JetPack/L4T
Какие платформы и версии JetPack поддерживаются на разных NVIDIA Jetson, смотрите на странице:
Поддерживаемые платформы и версии JetPack — камеры Arducam для NVIDIA Jetson
Установка драйвера
Для камер Arducam Jetvariety выполните следующие шаги.
Платы камер Jetvariety:
Шаг 1. Скачайте скрипт установки
cd ~
wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh
Шаг 2. Установите драйвер
chmod +x install_full.sh
./install_full.sh -m arducam
Работа с камерой в программе arducam_displayer
1. Проверка подключения камеры
Прежде чем продолжить, убедитесь, что драйвер камеры установлен.
Проверьте, определилась ли камера
ls /dev/video*
В списке должны быть новые видеоустройства /dev/videoX (X — от 0 до N).
Проверьте поддерживаемые форматы видео
Установите пакет v4l-utils:
sudo apt-get install v4l-utils
Посмотрите, какие форматы и разрешения поддерживает камера:
v4l2-ctl --list-formats-ext

2. Запуск камеры
Некоторые программы просмотра видео, например VLC, поддерживают только форматы вроде GRAY и YUV и могут не поддерживать формат Bayer. Для таких случаев Arducam предлагает демо-скрипт на Python: он показывает, как открыть камеру и вывести изображение через OpenCV. В демо-коде важно соблюсти три шага.
- Задайте параметр
apiPreferenceвVideoCaptureкакCAP_V4L2. - Отключите преобразование в RGB.
- Сдвиньте биты данных под реальную разрядность выхода камеры и при необходимости преобразуйте цвета.
Установите модуль v4l2 для Python
Для Python 3.x:
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
sudo pip3 install v4l2-fix
Для Python 2.7:
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo pip install v4l2
pip и для Python 3.x, и для Python 2.7, сначала установите pip для Python 3, затем для Python 2.7 — иначе команду pip перезапишет pip3. Проверить, что версии pip верные, можно командами pip --version и pip3 --version.Скачайте демо-код
git clone https://github.com/ArduCAM/MIPI_Camera.git
cd MIPI_Camera/Jetson/Jetvariety/example
Посмотрите справку по параметрам
arducam_displayer.py установите зависимости:sudo python3 -m pip install --break-system-packages jetson-stats v4l2-fix
python arducam_displayer.py -d 0

Запустите демо-программу
python arducam_displayer.py
3. Чтение регистров сенсора
Драйвер Arducam MIPI Camera для Jetson Nano позволяет обращаться к регистрам сенсора камеры и платы драйвера через ioctl. Пример использования — в файлах rw_sensor.c и rw_sensor.py.
Справка rw_sensor.py

Примеры rw_sensor.py
Чтение одного регистра:
python rw_sensor.py -d 0 -r 0x3500
Чтение нескольких регистров:
python rw_sensor.py -d 0 -r 0x3500 0x3501 0x3502
Запись одного регистра:
python rw_sensor.py -d 0 -r 0x3500 -v 0x01
Запись нескольких регистров:
python rw_sensor.py -d 0 -r 0x3500 0x3501 -v 0x01 0x02
Работа с камерой через GStreamer
Через GStreamer можно работать с модулями камер из списка ниже.
1. Формат пикселей
v4l2-ctl --list-formats-ext

2. Просмотр изображения
Если вы подключаетесь по SSH, выполните export DISPLAY=:0.
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=GAY8, width=2560, height=800 ! videoconvert ! xvimagesink
format— формат пикселей (Pixel formatв выводеv4l2-ctl --list-formats-ext); в команде выше он записан какGAY8, правильно —GRAY8.width,height— разрешение (Sizeв выводеv4l2-ctl --list-formats-ext).ximagesink— вывод изображения на экран; если не работает, попробуйтеximagesink(xvimagesink),glimagesink,d3dvideosink(Windows).
3. Запись видео
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=(string)GRAY8,width=(int)2560,height=(int)800' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420' ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! qtmux ! filesink location=test.mp4 -e
format— формат пикселей (Pixel formatв выводеv4l2-ctl --list-formats-ext).width,height— разрешение (Sizeв выводеv4l2-ctl --list-formats-ext).
4. Трансляция
4.1. Сервер трансляции
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=GRAY8,width=2560,height=800 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420' ! omxh264enc profile=high cabac-entropy-coding=true insert-sps-pps=true iframeinterval=60 ! 'video/x-h264, level=(string)4.2, stream-format=(string)byte-stream' ! tcpserversink host=0.0.0.0 port=5001 -v
4.2. Клиент трансляции
Выйдите из виртуального окружения, созданного в Anaconda, или установите пакет командой conda install gst-libav -c conda-forge.
gst-launch-1.0 -v tcpclientsrc host=0.0.0.0 port=5001 ! decodebin ! fpsdisplaysink sync=false text-overlay=false
или
gst-launch-1.0 -ve tcpclientsrc host=0.0.0.0 port=5001 ! decodebin ! autovideosink
autovideosink — вывод изображения на экран. Если не работает, попробуйте ximagesink (xvimagesink), glimagesink, d3dvideosink (Windows).
Просмотр в VLC
Подготовка
Сначала проверьте, поддерживает ли VLC форматы вашей камеры.
# input the command to check the camera formats
sudo apt-get install -y v4l-utils
v4l2-ctl --list-formats-ext
Запуск VLC
Откройте медиаплеер VLC.

Вывод изображения
Нажмите Ctrl+C.

В поле «Video device name» выберите «/dev/video0» и нажмите «Play».

Настройка экспозиции, усиления и частоты кадров
Нажмите Ctrl+E и на вкладке «v4l2 control» настройте ползунки «Exposure», «Gain» и «Frame_rate».

Руководство для Arducam ISX031
Для модуля камеры Arducam ISX031 MIPI порядок работы немного отличается — см. ниже.
Камера
| Артикул | Разъём | Особенности | Объектив | Угол обзора (Д × Г × В) | Фокусировка | Чувствительность к ИК |
|---|---|---|---|---|---|---|
| B0623 | 22 контакта, сверху | HDR, встроенный ISP | M12 | 127° × 97° × 76° | Фиксированный фокус | ИК-фильтр 650 нм |
Установка драйвера
(Поддерживаются только JetPack 6.2 / L4T 36.4.3 и более новые версии.)
Шаг 1. Скачайте скрипт установки
cd ~ && wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh
Шаг 2. Установите драйвер
chmod +x install_full.sh
./install_full.sh -m arducam_4lane
Когда появится запрос, как на рисунке ниже, нажмите y и Enter, чтобы перезагрузить устройство.

Шаг 3. Установите v4l2
sudo apt-get install v4l-utils
Шаг 4. Установите OpenCV
sudo apt install nvidia-opencv-dev
Шаг 5. Проверьте разрешения
v4l2-ctl --list-formats-ext

Скачайте демо-программу
git clone https://github.com/ArduCAM/ArducamUVCPythonDemo.git
Запустите демо-программу
1920 × 1536 при 60 к/с:
cd ~/ArducamUVCPythonDemo
python3 arducam_demo.py -W 1920 -H 1536 -v 3

Переключите разрешение на 1920 × 1080
1920 × 1080 при 60 к/с:
cd ~/ArducamUVCPythonDemo
python3 arducam_demo.py -W 1920 -H 1080 -v 3

Сохраните снимок
В окне просмотра нажмите s, чтобы сохранить снимок, и q, чтобы закрыть окно.
Руководство для новой серии Arducam AR0234
Для новой серии Arducam AR0234 порядок работы немного отличается — см. ниже.
Камеры
| Артикул | Разъём | Особенности | Объектив | Угол обзора | Фокусировка | Чувствительность к ИК |
|---|---|---|---|---|---|---|
| B0577 | 22 контакта, сверху | Цветная, глобальный затвор | M12 | 100° (Г) × 75° (В) | Фиксированный фокус | ИК-фильтр 650 нм |
| B0579 | 22 контакта, сверху | Цветная, глобальный затвор | M12 | 100° (Г) × 75° (В) | Фиксированный фокус | ИК-фильтр 650 нм |
Установка драйвера
(Поддерживаются только JetPack 6.2 / L4T 36.4.3 и более новые версии.)
Шаг 1. Скачайте скрипт установки
cd ~ && wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh
Шаг 2. Установите драйвер
chmod +x install_full.sh
./install_full.sh -m arducam_4lane
Когда появится запрос, как на рисунке ниже, нажмите y и Enter, чтобы перезагрузить устройство.

Шаг 3. Установите v4l2
sudo apt-get install v4l-utils
Шаг 4. Установите OpenCV
sudo apt install nvidia-opencv-dev
Шаг 5. Проверьте разрешения
v4l2-ctl --list-formats-ext
Два модуля камер AR0234:

Один модуль камеры AR0234:

Две камеры AR0234 — демонстрация
| Артикул | Разъём | Особенности | Объектив | Угол обзора | Фокусировка | Чувствительность к ИК |
|---|---|---|---|---|---|---|
| B0577 | 22 контакта, сверху | Цветная, глобальный затвор | M12 | 100° (Г) × 75° (В) | Фиксированный фокус | ИК-фильтр 650 нм |
Скачайте демо-программу
git clone https://github.com/ArduCAM/ArducamUVCPythonDemo.git
Запустите демо-программу
Разрешение по умолчанию — 3840 × 1200.
cd ~/ArducamUVCPythonDemo && python3 arducam_demo.py -v 3

Переключите разрешение на 2560 × 720
python3 arducam_demo.py -W 2560 -H 720 -v 3

Переключите разрешение на 1280 × 480
python3 arducam_demo.py -W 1280 -H 480 -v 3

Сохраните снимок
В окне просмотра нажмите s, чтобы сохранить снимок, и q, чтобы закрыть окно.
Одна камера AR0234 — демонстрация
| Артикул | Разъём | Особенности | Объектив | Угол обзора | Фокусировка | Чувствительность к ИК |
|---|---|---|---|---|---|---|
| B0579 | 22 контакта, сверху | Цветная, глобальный затвор | M12 | 100° (Г) × 75° (В) | Фиксированный фокус | ИК-фильтр 650 нм |
Скачайте демо-программу
git clone https://github.com/ArduCAM/ArducamUVCPythonDemo.git
Запустите демо-программу
Разрешение по умолчанию — 640 × 480.
cd ~/ArducamUVCPythonDemo && python3 arducam_demo.py -v 3

Переключите разрешение на 1280 × 720
python3 arducam_demo.py -W 1280 -H 720 -v 3

Переключите разрешение на 1920 × 1200
python3 arducam_demo.py -W 1920 -H 1200 -v 3

Сохраните снимок
В окне просмотра нажмите s, чтобы сохранить снимок, и q, чтобы закрыть окно.
Руководство для Arducam AR0822
Для серии Arducam AR0822 порядок работы немного отличается — см. ниже.
Камера
| Артикул | Разъём | Особенности | Объектив | Угол обзора (Д × Г × В) | Фокусировка | Чувствительность к ИК |
|---|---|---|---|---|---|---|
| B0586 | 22 контакта, сверху | 4K HDR | M12 | 145° × 120° × 65° | Фиксированный фокус | ИК-фильтр 650 нм |
Установка драйвера
(Поддерживаются только JetPack 6.2 / L4T 36.4.3 и более новые версии.)
Шаг 1. Скачайте скрипт установки
cd ~ && wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh
Шаг 2. Установите драйвер
chmod +x install_full.sh
./install_full.sh -m arducam_4lane
Когда появится запрос, как на рисунке ниже, нажмите y и Enter, чтобы перезагрузить устройство.

Шаг 3. Установите v4l2
sudo apt-get install v4l-utils
Шаг 4. Установите OpenCV
sudo apt install nvidia-opencv-dev
Шаг 5. Проверьте разрешения
v4l2-ctl --list-formats-ext

Скачайте демо-программу
git clone https://github.com/ArduCAM/ArducamUVCPythonDemo.git
Запустите демо-программу
3840 × 2160 при 15 к/с:
cd ~/ArducamUVCPythonDemo
python3 arducam_demo.py -W 3840 -H 2160 -v 3

Переключите разрешение на 1920 × 1080
1920 × 1080 при 60 к/с:
cd ~/ArducamUVCPythonDemo
python3 arducam_demo.py -W 1920 -H 1080 -v 3

Переключите разрешение на 1280 × 720
1280 × 720 при 60 к/с:
cd ~/ArducamUVCPythonDemo
python3 arducam_demo.py -W 1280 -H 720 -v 3

Переключите разрешение на 640 × 480
640 × 480 при 60 к/с:
cd ~/ArducamUVCPythonDemo
python3 arducam_demo.py -W 640 -H 480 -v 3

Сохраните снимок
В окне просмотра нажмите s, чтобы сохранить снимок, и q, чтобы закрыть окно.