Настройка и примеры работы MIPI CSI-камер для Raspberry Pi

Модули камер подключаются напрямую к видеочипу VideoCore одноплатных компьютеров Raspberry Pi и экономят системные ресурсы малинки, при этом USB-порты остаются свободными для другой периферии.

Модели камер для Raspberry Pi

Подключение камеры

Камеры чувствительны к статическому электричеству. Перед работой с модулем, устраните свой заряд — например прикоснитесь к домашней водопроводной трубе.

Для работы с камерой используйте подключение по HDMI. При работе через виртуальный рабочий стол (VNC) окно с захватом данных с камеры не отобразится.

  1. Подключите камеру через FFC/FPC шлейф к Raspberry Pi в разъём CSI-2:
  2. Зайдите в меню конфигурации параметров Raspberry Pi:
    Menu Preferences Raspberry Pi Configuration
  3. Перейдите на вкладку Interfaces, а затем переключите состояние пункта Camera из положения Disable в Enable. Сохраните изменения и перезагрузите Raspberry Pi.

На этом настройка камеры закончена и можно смело переходить к примерам работы.

Примеры работы через встроенные утилиты

Камера подключена и настроена — проверим её возможности. Для испытания воспользуемся встроенными утилитами raspistill и raspivid, которые служат для захвата фото и видео соответственно.

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

Тест камеры

Исполните инструкцию захвата изображения.

raspistill -t 10000

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

Снимок фото

Попробуйте сделать снимок камеры и сохранить полученную фотографию.

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

Выполните команду захвата изображения и сохранения в файл на рабочем столе с именем image-example.jpg.

raspistill -t 2000 -o /home/pi/Desktop/image-example.png

В результате на рабочем столе появится файл фотографии с камеры.

Запись видео

Используйте модуль в режиме видеокамеры — снимите минутный ролик и сохраните его с именем video-example.h264.

raspivid -t 60000 -o /home/pi/Desktop/video-example.h264

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

Более подробно про встроенные утилиты для работы с камерой читайте в документации от производителя.

Примеры работы через Python

Проведите эксперименты с камерой через интегрированную среду разработки Python3. Вы можете запускать примеры через встроенный терминал или графическую оболочку Python IDLE.

Тест камеры

Для начала протестируйте видоискатель камеры.

camera-simple-test.py
# Подключаем необходимые библиотеки
from picamera import PiCamera
from time import sleep
 
# Создаём объект для работы с камерой
camera = PiCamera()
 
# Запускаем предпросмотр сигнала с камеры на экране поверх всех окон
camera.start_preview()
 
# Пауза программы на 10 секунд
sleep(10)
 
# Выключаем предпросмотр
camera.stop_preview()

На десять секунд на экране появится изображение с камеры.

Это значит, что камерный модуль исправен и готов к работе.

Снимок фото

Попробуйте сделать снимок камеры и сохранить полученную фотографию.

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

camera-save-image.py
# Подключаем необходимые библиотеки
from picamera import PiCamera
from time import sleep
 
# Создаём объект для работы с камерой
camera = PiCamera()
 
# Запускаем предпросмотр сигнала с камеры на экране поверх всех окон
camera.start_preview()
 
# Пауза программы на 10 секунд
# Даём камере три секунды на автофокусировку и установку баланса белого
sleep(3)
 
# Делаем снимок и сохраняем его на рабочий стол с именем image.jpg
camera.capture('/home/pi/Desktop/image-example.jpg')
 
# Выключаем режим предпросмотра
camera.stop_preview()

В результате на рабочем столе появится файл фотографии с камеры.

Запись видео

Используйте модуль в режиме видеокамеры — снимите минутный ролик и сохраните его на рабочий стол.

camera-save-video.py
# Подключаем необходимые библиотеки
from picamera import PiCamera
from time import sleep
 
camera = PiCamera()
 
# Запускаем предпросмотр сигнала с камеры на экране поверх всех окон
camera.start_preview()
 
# Начинаем запись видеофайла
camera.start_recording('/home/pi/Desktop/video-example.h264')
 
# Минуту пишем потоковое видео
camera.wait_recording(60)
 
# Останавливаем запись
camera.stop_recording()
 
# Выключаем предпросмотр
camera.stop_preview()

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

Ресурсы