Настройка и примеры работы MIPI CSI-камер для Raspberry Pi
Модули камер подключаются напрямую к видеочипу VideoCore одноплатных компьютеров Raspberry Pi и экономят системные ресурсы малинки, при этом USB-порты остаются свободными для другой периферии.
Модели камер для Raspberry Pi
Подключение камеры
Камеры чувствительны к статическому электричеству. Перед работой с модулем, устраните свой заряд — например прикоснитесь к домашней водопроводной трубе.
Для работы с камерой используйте подключение по HDMI. При работе через виртуальный рабочий стол (VNC) окно с захватом данных с камеры не отобразится.
- Подключите камеру через FFC/FPC шлейф к Raspberry Pi в разъём :
- , а затем переключите состояние пункта из положения в . Сохраните изменения и перезагрузите Raspberry Pi.
На этом настройка камеры закончена и можно смело переходить к примерам работы.
Примеры работы через встроенные утилиты
Камера подключена и настроена — проверим её возможности. Для испытания воспользуемся встроенными утилитами raspistill и raspivid, которые служат для захвата фото и видео соответственно.
Все команды выполняйте во встроенном терминале.
Тест камеры
Исполните инструкцию захвата изображения.
raspistill -t 10000
На десять секунд на экране появится трансляция с камеры. Это значит, что камерный модуль исправен и готов к работе.
Снимок фото
Попробуйте сделать снимок камеры и сохранить полученную фотографию.
Не уменьшайте время включения модуля менее двух секунд — камере необходима пауза между включением и выполнением снимка. За это время модуль автоматически скорректирует баланс белого и экспозицию.
Выполните команду захвата изображения и сохранения в файл на рабочем столе с именем
.raspistill -t 2000 -o /home/pi/Desktop/image-example.png
В результате на рабочем столе появится файл фотографии с камеры.
Запись видео
Используйте модуль в режиме видеокамеры — снимите минутный ролик и сохраните его с именем
.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()
После минутного ожидания, на рабочем столе появится видеофайл с камеры. Для просмотра ролика используйте встроенный плеер.