Подключение модуля камеры к Raspberry Pi



Как подключить модуль камеры к Raspberry Pi, видно в этом видео:

— шлейф от камеры, аккуратно вставляется в разъём, находящийся за Ethernet-разъёмом.

Для этого нужно:
0. Выключить Raspberry Pi.
1. аккуратно поднять (на 1-2мм) пластиковую защёлку на разъёме.
2. аккуратно вставить шлейф от камеры в разъём, таким образом, чтобы контактные площадки шлейфа смотрели в сторону от Ethernet-разъёма.
3. защёлкнуть пластиковую защёлку на разъёме.
Теперь шлейф должен быть зажат в разъёме и можно включать Raspberry Pi.

После загрузки ОС, запускаем настройку
sudo raspi-config
raspi-config
Выбираем пункт Enable camera, жмём Enter, а затем Finish.
После этого вам предложат перезагрузиться (reboot).

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

Выполнив команду
raspistill -o cam.jpg
вы получите в текущей директории, файл cam.jpg с выполненным камерой снимком.

По-умолчанию, снимок будет 2592 x 1944 (5,038,848 пикселей — камера ведь 5 Мп!)

Для доступа к камере можно использовать MMAL и V4L API.
MMAL (через OpenMAX) — Broadcom specific API used only on Videocore 4 systems.
raspistill для захватывания картинки использует /dev/vchiq.

Научившись получать снимки при помощи камеры, мы можем написать простенький скрипт:

camera.sh

#!/bin/bash

DATE=$(date +"%Y-%m-%d_%H%M")

#raspistill -vf -hf -o /home/pi/camera/$DATE.jpg

# No vertical and horazontal flip
echo -n $DATE
raspistill -o /home/pi/camera/$DATE.jpg
echo " - ok"

Создаём в домашнем каталоге дефолтного пользователя pi, директорию camera для хранения снимков.
А теперь, запускаем скрипт camera.sh на выполнение съёмки каждую минуту:

while :; do ./camera.sh; sleep 1m; done

Вуаля! Вот так просто получили из Raspberry Pi и модуля камеры — time-lapse камеру 🙂

Для удобства крепления и использования модуля камеры, можно распечатать на 3D-принтере корпус:

Raspberry Pi Camera for 3D Printer

Корпус для Raspberry Pi Camera распечатанный на 3D-принтере

V4L

Чтобы появилось стандартное V4L устройство /dev/video0, нужно всего-лишь выполнить:

sudo modprobe bcm2835-v4l2

Раз уж есть камера и V4L, то можем быстренько установить OpenCV:

sudo apt-get install libopencv-dev

Библиотека компьютерного зрения OpenCV, установится в /usr/lib и теперь можно задействовать в своих робототехнических проектах всю мощь компьютерного зрения на Raspberry Pi!

Продолжение следует…

Ссылки
Camera Module SETUP
Camera Module README
RASPISTILL
The Raspberry Pi Camera Module
Install OpenCV and Python on your Raspberry Pi 2 and B+

Корпус для камеры для печати на 3D-принтере
Raspberry Pi Camera Stand
Raspberry Pi Camera for 3D Printer

По теме
Питание для Raspberry Pi
Установка операционной системы для Raspberry Pi
Программирование Arduino при помощи Raspberry Pi
Подключение Raspberry Pi к Wi-Fi


0 комментариев на «“Подключение модуля камеры к Raspberry Pi”»

  1. Хорошее начало!
    Для продолжения было бы здорово описать способ передачи видео FullHD в кодеке H.264 чтобы в браузере можно было смотреть. Я как не бился — ничего не получается. Если у кого-то это получилось — прошу описать или кинуть ссылки (думаю многим это интересно).

    • Я написал статью на raspberry.ru об этом. Я использовал mjpeg-streamer, который работает с H.264, соответственно не грузит процессор «малины».

    • Свежая статья, спасибо. Когда я искал, этого ещё не было. 🙂 Буду читать.

  2. Добрый день!
    Спасибо большое за вашу статью. Очень жду продолжения. Потому что у меня не получилось заставить по человечески работать камеру в питоне с OpenCV. если разрешение ставишь больше 64 на 64 то страшные лаги начинались. Пользовался подсказками из книги «Заводим Raspberry Pi» и гуглом, но все что получилось это выводить изображение 640х480 по кадру в 10 секунд…

    • Вопросы напрямую не относящиеся к статьям лучше задавать на форуме — там ответим 🙂

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение