Камеры для raspberry pi b 3. Как установить и настроить модуль камеры Raspberry Pi

Опубліковано 03.12.2014

Матрица камеры 5 MP , камера имеет объектив с фиксированным фокусом и позволяет получать фотоснимки с разрешением 2592×1944 . Видео: 1080p, FPS: 30 кадров в секунду, 720p при 60 кадров в секунду и 640×480 до 90 кадров в секунду. Камера полностью поддерживается операционной системой Raspbian.

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

Будьте осторожны! Статическое электричество может вывести камеру со строя! Модуль камеры подключается к Raspberry Pi гибким шлейфом в разъем, который расположен между Ethernet и HDMI .

Сначала вытяните фиксатор разъема, вставьте гибкий шлейф контактами к HDMI разъему. Шлейф должен заходить без усилий. После чего зажмите шлейф фиксатором, осторожно засунув его в разъем.

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

Sudo apt-get update sudo apt-get upgrade

После чего запускаем raspi-config и включаем поддержку камеры:

Sudo raspi-config

Меняем Disable на Enable

Перезагружаем Raspberry Pi:

Съемка с Raspberry Pi с помощью модуля камеры

Существует два стандартных инструмента для работы с камерой raspivid и raspistill . Камера позволяет работать с графическими эффектами и общими параметрами камеры. Вы можете менять баланс белого, фокусировку, тип фото, экспозицию, ISO, и т.п.

Фото (raspistill)

Утилита производит захват изображения в формате JPEG. Использование параметров команды raspistill :

Usage: raspistill Image parameter commands -?, --help: This help information -w, --width: Set image width -h, --height: Set image height -q, --quality: Set jpeg quality <0 to 100> -r, --raw: Add raw bayer data to jpeg metadata -o, --output: Output filename (to write to stdout, use "-o -"). If not specified, no file is saved -l, --latest: Link latest complete image to filename -v, --verbose: Output verbose information during run -t, --timeout: Time (in ms) before takes picture and shuts down (if not specified, set to 5s) -th, --thumb: Set thumbnail parameters (x:y:quality) or none -d, --demo: Run a demo mode (cycle through range of camera options, no capture) -e, --encoding: Encoding to use for output file (jpg, bmp, gif, png) -x, --exif: EXIF tag to apply to captures (format as "key=value") or none -tl, --timelapse: Timelapse mode. Takes a picture every ms -fp, --fullpreview: Run the preview using the still capture resolution (may reduce preview fps) -k, --keypress: Wait between captures for a ENTER, X then ENTER to exit -s, --signal: Wait between captures for a SIGUSR1 from another process -g, --gl: Draw preview to texture instead of using video render component -gc, --glcapture: Capture the GL frame-buffer instead of the camera image -set, --settings: Retrieve camera settings and write to stdout -cs, --camselect: Select camera . Default 0 -bm, --burst: Enable "burst capture mode" Preview parameter commands -p, --preview: Preview window settings <"x,y,w,h">

Следующая команда записывает фото, сделанное камерой, в файл photo.jpg. Файл будет записан в текущей директории:

Raspistill -o photo.jpg

Фото будет размером 2592×1944 (5 Мп). Для изменения параметров фото используйте параметры, которые описаны выше.

Сделать фото 640×480:

Raspistill -o image.jpg -w 640 -h 480

Видео (raspivid)

Утилита производит захват видео в формате H264 . Использование параметров команды raspivid :

Usage: raspivid Image parameter commands -?, --help: This help information -w, --width: Set image width . Default 1920 -h, --height: Set image height . Default 1080 -b, --bitrate: Set bitrate. Use bits per second (e.g. 10MBits/s would be -b 10000000) -o, --output: Output filename (to write to stdout, use "-o -") -v, --verbose: Output verbose information during run -t, --timeout: Time (in ms) to capture for. If not specified, set to 5s. Zero to disable -d, --demo: Run a demo mode (cycle through range of camera options, no capture) -fps, --framerate: Specify the frames per second to record -e, --penc: Display preview image *after* encoding (shows compression artifacts) -g, --intra: Specify the intra refresh period (key frame rate/GoP size). Zero to produce an initial I-frame and then just P-frames. -pf, --profile: Specify H264 profile to use for encoding -td, --timed: Cycle between capture and pause. -cycle on,off where on is record time and off is pause time in ms -s, --signal: Cycle between capture and pause on Signal -k, --keypress: Cycle between capture and pause on ENTER -i, --initial: Initial state. Use "record" or "pause". Default "record" -qp, --qp: Quantisation parameter. Use approximately 10-40. Default 0 (off) -ih, --inline: Insert inline headers (SPS, PPS) to stream -sg, --segment: Segment output file in to multiple files at specified interval -wr, --wrap: In segment mode, wrap any numbered filename back to 1 when reach number -sn, --start: In segment mode, start with specified segment number -sp, --split: In wait mode, create new output file for each start event -c, --circular: Run encoded data through circular buffer until triggered then save -x, --vectors: Output filename for inline motion vectors -cs, --camselect: Select camera . Default 0 -set, --settings: Retrieve camera settings and write to stdout H264 Profile options: baseline,main,high Preview parameter commands -p, --preview: Preview window settings <"x,y,w,h"> -f, --fullscreen: Fullscreen preview mode -op, --opacity: Preview window opacity (0-255) -n, --nopreview: Do not display a preview window Image parameter commands -sh, --sharpness: Set image sharpness (-100 to 100) -co, --contrast: Set image contrast (-100 to 100) -br, --brightness: Set image brightness (0 to 100) -sa, --saturation: Set image saturation (-100 to 100) -ISO, --ISO: Set capture ISO -vs, --vstab: Turn on video stabilisation -ev, --ev: Set EV compensation -ex, --exposure: Set exposure mode (see Notes) -awb, --awb: Set AWB mode (see Notes) -ifx, --imxfx: Set image effect (see Notes) -cfx, --colfx: Set colour effect (U:V) -mm, --metering: Set metering mode (see Notes) -rot, --rotation: Set image rotation (0-359) -hf, --hflip: Set horizontal flip -vf, --vflip: Set vertical flip -roi, --roi: Set region of interest (x,y,w,d as normalised coordinates ) -ss, --shutter: Set shutter speed in microseconds -awbg, --awbgains: Set AWB gains - AWB mode must be off -drc, --drc: Set DRC Level

Следующая команда записывает 20 секунд видео в формате h264:

Raspivid -t 20000 -o video.h264

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

Потоковое видео

Для получения потокового видео установим на Raspberry Pi mjpg-streamer . Сначала установим необходимые для mjpg-streamer пакеты:

Apt-get install cmake apt-get install subversion apt-get install libv4l-dev apt-get install libjpeg8-dev apt-get install imagemagick

Теперь устанавливаем mjpg-streamer :

Wget github.com/jacksonliam/mjpg-streamer/archive/master.zip unzip ./master -d ./ms cd ./ms/mjpg-streamer-master/mjpg-streamer-experimental make clean all

Для настройки mjpg-streamer корректируем файл start.sh :

Nano start.sh

Все строки комментируем или удаляем и добавляем две следующие строки:

Cd /root/ms/mjpg-streamer-master/mjpg-streamer-experimental ./mjpg_streamer -o "./output_http.so -w ./www" -i "./input_raspicam.so -x 640 -y 480 -fps 10 -ex auto -awb auto -vs -ISO 100"

где:
-x 640 – размер видео по горизонтали
-y 480 – размер видео по вертикали
-fps 10 – частота кадров
-ex auto – автоматическая экспозиция
-awb auto – автоматический баланс белого
-vs – вертикальная синхронизация
-ISO 100 – параметры ISO

Запускаем mjpg-streamer :

./start.sh

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

Где 192.168.1.100 – IP адрес моего Raspberry Pi. Вам нужно изменить его на адрес своего Raspberry Pi.

Видео можно просматривать также с мобильных устройств – планшетов, смартфонов, и тому подобное. Для просмотра видео на смартфоне с операционной системой Android я использую программу IP Cam Viewer Lite .

Чтобы остановить mjpg-streamer в консоли нажмите Ctrl+c

Time lapse Video

Теперь попробуем сделать Time lapse видео . Этот прием используется для съемки очень медленных процессов. Делается серия фото с определенным интервалом, как правило, от 1 секунды и более (это зависит от скорости процесса, который Вы снимаете). Затем из набора фото создается видео с помощью любой доступной программы, которая имеет такие функции. Многие фотокамеры умеют делать снимки для Time lapse Video, но Raspberry Pi имеет некоторые преимущества. Кроме съемки, Raspberry Pi может делать другие вещи, например, включать свет на момент съемки, а затем выключать его. Это весьма уместно, когда съемка идет несколько недель с достаточно большими временными интервалами. Не нужно, чтобы свет горел все время, особенно если съемка требует мощного освещения. Raspberry Pi питается от сети, что необходимо для длительной съемки достаточно медленных процессов, таких как рост кристаллов или жизнь растений, процесс съемки которых может затянуться на несколько дней, недель или даже месяцев. Сделанные фото можно копировать на другой компьютер и обрабатывать еще в процессе съемок. При съемках, когда камера должна изменять свое положение, Raspberry Pi может помочь автоматизировать этот процесс.

Итак, самый простой путь для создания серии фото для Time lapse Video – воспользоваться ключом -tl в команде raspistill . Например:

Raspistill -t 600000 -tl 10000 -o image_num_%d_today.jpg

Эта команда будет создавать фото каждые 10 (-tl 10000) секунд в течение 10 минут (10 минут = 600000мс). Файлы будут называться image_num_1_today.jpg , image_num_2_today.jpg , image_num_3_today.jpg и так далее. Для съемки небольшого видео такой метод вполне пригоден. Но при съемках длительных процессов может возникнуть небольшая проблема. Если питание Raspberry Pi по каким-либо причинам прервется, придется снова запускать команду.

Это меня не устроило. Поэтому я написал скрипт и указал его запуск в crontab . Содержание срипта:

#!/bin/bash echo 11 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio11/direction echo 1 > /sys/class/gpio/gpio11/value DATE=$(date +"%Y-%m-%d_%H%M") raspistill -o /root/camera/$DATE.jpg echo 0 > /sys/class/gpio/gpio11/value echo 11 > /sys/class/gpio/unexport

Строка в crontab:

*/10 * * * * root /root/camera/camera.bash

Теперь скрипт запускается каждые 10 минут. Даже если Raspberry Pi перезагрузится, скрипт будет запускаться. Скрипт включает свет (к GPIO11 подключена схема, которая включает лампу освещения), делает фото и затем выключает свет.

Собрать видео из полученных фото можно воспользовавшись утилитой avconv . Устанавливается avconv следующей командой:

Apt-get install libav-tools

Фото должны иметь имена файлов в своеобразном формате. Пример скрипта, который переименовывает jpg файлы в текущей директории с учетом их даты модификации, запускает конвертацию и записывает видео в файл timelapse.avi :

#!/bin/bash i=0 for f in `ls -tr *.jpg 2>/dev/null` do newf=`printf %06d $i`.jpg echo $f "-->" $newf mv $f $newf i=$((i+1)) done avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 timelapse.avi

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

Вот что у меня получилось:

Это первое тестовое видео сделано для подбора параметров съемки.

Надписи на фото

Если надо сделать примечание на фото, чаще всего дату и время, можно воспользоваться командой convert .

Модифицируем скрипт чтобы он добавлял в левый верхний угол снятого фото дату и время:

#!/bin/bash echo 11 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio11/direction echo 1 > /sys/class/gpio/gpio11/value DATE=$(date +"%Y-%m-%d_%H%M") timeshtamp=$(date +"%Y.%m.%d %H:%M:%S") raspistill -o /root/camera/tmp.jpg convert /root/camera/tmp.jpg -fill black -draw "rectangle 0,0 420,70" -fill white -pointsize 45 -draw "text 10,50 "${timeshtamp}"" /root/camera/$DATE.jpg rm /root/camera/tmp.jpg echo 0 > /sys/class/gpio/gpio11/value echo 11 > /sys/class/gpio/unexport

Теперь на всех фото будут дата и время съемки. Сначала на фото рисуется прямоугольник черного цвета (-fill black -draw “rectangle 0,0 420,70” ), а затем белым цветом пишется время (-fill white -pointsize 45 -draw “text 10,50 ‘${timeshtamp}"” ).

Успехов .

Вы любите сидеть сложа руки и восхищаться красотой нашего мира, в то время как птицы счастливо чирикают и поют свои песни? Может быть вы помните какие захватывающие кадры природы снимают различные каналы о природе, когда камера находится в самой гуще событий. Мы сделаем скрытую камера на основе Raspberry Pi, благодаря которой вы сможете стать настоящим натуралистом и снимать животных, которые ни о чем не подозревают.

Обычно такие скрытые камеры имеют возможность обнаружения движения, которая запускает процесс съемки каждый раз, когда что-то появляется в поле зрения. В таких камерах обычно используют PIR для запуска съемки или записи видео.

PIR - это пироэлектрический инфракрасный датчик движения.

К сожалению, использование PIR может привести к тому, что камера не будет запущена или объект съемки исчезнет полностью до срабатывания камеры. С помощью камеры в проекте мы можем решить эту проблему, избавившись от PIR и вместо этого используя систему обнаружения. Мы также сможем фиксировать события, которые происходят до обнаружения движения (благодаря возможностям программного обеспечения), что увеличивает вероятность получения идеальных фото или видео.

Главное теперь взять с собой Raspberry Pi и порыться на кухне в поисках пластмассового контейнера для продуктов.

Если вы используете модуль No-IR Pi Camera (без инфракрасного фильтра) и некоторые ИК-светодиоды, вы можете сделать камеру с возможностью ночного видения.

Чтобы сделать проект проще мы используем с нашей Raspberry Pi библиотеку MotionEyeOS . Она предназначена для видеонаблюдения, но идеально подходит для нашей камеры, поскольку поддерживает неподвижные изображения, а также делает запись видео качества HD, плюс обладает возможностью обнаружения движения.

Шаг 2. Что нужно

Чтобы создать эту простую камеру, вам понадобятся следующие комплектующие:

  • Рекомендуется использовать Raspberry Pi 3 Model B +, но вы можете использовать любой Pi (включая Zero).
  • MicroSD Card - используйте Class 10 для лучшей производительности и большей емкости для большего времени записи.
  • Pi камера - рекомендуется модуль камеры Pi V2, но также будут работать USB веб-камеры.
  • Используйте инфракрасный фильтр для Pi камеры с инфракрасными светодиодами для ночного видения.
  • Портативный аккумулятор с USB-выходом. Выберите большую емкость аккумулятора для более длительного времени работы.
  • Пластиковый контейнер для пищевых продуктов. Используйте один с герметичной крышкой, способной обеспечить защиту от атмосферных воздействий.

Дополнительные детали , которые можно рассмотреть:

  • Дополнительная камера (камеры) - для многонаправленной записи.

    Обратите внимание, что Pi имеет только одно подключение к модулю Camera Module, любые дополнительные камеры должны быть подключены через USB.

  • Проволочная/тканевая сетка для покрытия дополнительного вентиляционного отверстия.
  • USB HDD - добавляет дополнительную емкость, но быстрее потребляет аккумулятор.

Вам потребуется небольшой набор инструментов:

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

Программное обеспечение:

MotionEyeOS - загрузите соответствующий файл изображения для вашей модели Pi.
- используется для записи файла образа MEYEOS на карту MicroSD.
WinSCP - не требуется, но удобен для загрузки нескольких медиафайлов из Pi за один раз.

Шаг 3. Создание бокса для Raspberry камеры

Фотографии выше демонстрируют примерный процесс.

  1. Используя маркер, нарисуйте контур объектива камеры на стене контейнера (включая ИК-светодиоды, если используете).
  2. Используя сверло с конусом, сверлите из центра контуров и вырежьте отверстия, пока вы не перестанете видеть границы маркерных отметок.
  3. Используйте инструмент для обрезки и очистки отверстий, если это необходимо.
  4. Если вы устанавливаете дополнительный навес/щит для защиты от дождя, отрежьте его по размеру и закрепите на месте горячим клеем.
  5. Прикрепите кабель от камеры к модулю камеры (следуйте инструкциям, прилагаемым к вашей камере).
  6. Используйте горячий клей для надежного крепления модуля камеры - старайтесь избегать приклеивания к компонентам модуля, это упростит удаление камеры из коробки позже.
  7. Поместите все в коробку.

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

Шаг 4. Настройка Raspberry Pi

Если вы уже знакомы с малиной Pi, этот шаг, вероятно, будет вам не интересен и вы можете его пропустить.

Установка операционных систем:

  • Windows
  • MacOS
  • Linux

Примечание. Мы используем изображение MotionEyeOS, поэтому вам не нужно скачивать Raspbian.

Чтобы настроить свою Raspberry Pi, выполните следующие действия:

  1. Вы можете загрузить последнюю версию файла изображения MotionEyeOS из своего GitHub .
  2. После того как вы загрузили изображение, вам нужно его извлечь, для этого используйте winRAR или другие программы.
  3. Вставьте карту MicroSD в компьютер и запишите файл изображения. Если у вас Windows используйте .
  4. После завершения записи изображений извлеките карту MicroSD из своего компьютера, вставьте в Raspberry Pi и затем включите ее.
  5. Как только Pi включится и загрузится (как правило, занимает около 30 секунд), к нему можно получить доступ через веб-браузер, вам просто нужно узнать имя хоста или IP-адрес, а затем ввести его в адресную строку браузера.

Примечание. Вы хотите подключить кабель Ethernet RJ45 от Pi к маршрутизатору для первоначальной настройки, в этом случае будет проще сделать сначала это, а затем настроить соединение Wi-Fi.

Легкий способ найти IP-адрес Pi - это консоль управления веб-маршрутизатором. Обычно это делается путем ввода его IP-адреса в адресной строке веб-браузера (например, http://192.168.0.1).

Шаг 5. Настройка MotionEyeOS

На данный момент вы создали свой бокс, подготовили SD-карту Pi, включили все и получили доступ к веб-консоли MotionEyeOS. Пришло время настроить MotionEyeOS в соответствии с вашими требованиями. Ссылки на библиотеку на GitHub мы приводили выше.

Когда вы сначала пытаетесь войти в систему MotionEyeOS, вам будет предложено ввести учетные данные, по умолчанию используется имя пользователя: admin и пароль по умолчанию: --blank--.

Веб-интерфейс достаточно интуитивно понятен, поэтому у вас не должно быть особых проблем:

  1. Рекомендуется установить пароль для двух учетных записей по умолчанию (Admin и User).
  2. Установите правильный часовой пояс, чтобы на мультимедийных файлах была установлена ​​правильная отметка времени.
  3. Включите Wi-Fi и введите свои учетные данные Wi-Fi, вам не нужно подключаться к кабелю Ethernet.
  4. Установите желаемую частоту кадров камеры и разрешение (например, 1-10 кадров в секунду и 1920x1080).
  5. Установите хранилище файлов - оставьте по умолчанию, если используете SD-карту, измените, если используете USB-накопитель.
  6. Вы можете выбрать, нужно ли записывать неподвижные изображения (фото) или видео или оба варианта одновременно.

Поскольку у нас будет скрытая камера для съемки животных, мы будем использовать функцию «Обнаружение движения». Это позволяет событию "движение" инициировать захват и запись изображений и/или видео. Обнаружение движения достигается путем обнаружения изменений в пикселях изображения камеры с учетом различных параметров, которые можно настроить.

Мы используем следующие настройки обнаружения движения - ниже, но предлагаем вам поиграть с опциями до тех пор, пока вы не найдете то, что работает для вас, поскольку каждый сценарий немного отличается:

  • Frame Change Threshold = 1.5%
  • Auto Noise Detection = Off
  • Noise Level = 12%
  • Light Swith Detection = 0% (disabled)
  • Despeckle Filter = Off
  • Motion Gap = 5 seconds
  • Captured Before = 5 frames
  • Captured After = 10 frames
  • Minimum Motion Frames = 5 frames

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

После того, как вы закончите вносить изменения в настройки, нажмите кнопку «Применить», для обновления потребуется около 10-20 секунд. Обратите внимание, что некоторые изменения потребуют перезагрузки Pi.

Шаг 6. Размещаем камеру

Теперь, когда вы настроили саму Raspberry Pi камеру, пришло время ее разместить. Как вы это сделаете, во многом будет зависеть от того, что вы пытаетесь снять. В нашем случае мы покрыли камеру ветками. Наш "тайник" хорошо сливается с природой и не пугает животных. Но можно использовать, например, камуфляжную упаковку.

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

Длительность работы камеры во многом будет зависеть от емкости используемой батареи и есть ли у вас какие-либо дополнительные элементы, потребляющие электроэнергию (то есть ИК-светодиоды, USB-накопитель и т.п.).

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

Краткая инструкция по подключению и использованию аппаратной камеры для Raspberry Pi Обратите внимание, что камера может быть повреждена статическим электричеством. Перед тем, как достать камеру рекомендуется дотронуться до заземлённого объекта (например до радиатора батареи отопления), чтобы снять заряд. Камера подсоединяется к плате при помощи гибкого шлейфа. Разъём для шлейфа находится между Ethernet и HDMI портами. Объектив камеры может быть закрыт прозрачной защитной плёнкой, перед использованием её нужно удалить.

Включаем поддержку камеры в Raspbian

Загрузите Raspberry Pi и осуществите вход в систему (по умолчанию имя пользователя - pi , пароль - raspberry ). В терминале выполните команды для обновления дистрибутива Raspbian до последний версии: sudo apt-get update

sudo apt-get upgrade

Программное обеспечение для работы с камерой

raspivid консольное приложение для записи видео с камеры.

raspistill приложения для получения изображений с камеры параметры -o или –output определяют имя выходного файла -t или –timeout длительность записи видео (по умолчанию 5 секунд) -d или –demo запись в режиме демонстрации возможностей. Будут использованы все возможные эффекты

Примеры: raspistill -o image.jpg - захват изображения в.jpg формате

raspivid -o video.h264 - захват 5-ти секундного видео в формате h264

raspivid -o video.h264 -t 10000 - захват 10-ти секундного видео в формате h264

raspivid -o video.h264 -t 10000 -d - захват 10-ти секундного видео в формате h264 в режиме демонстрации возможностей

Посмотреть все возможные параметры для приложений raspivid и raspistill можно следующим образом:raspivid | less, raspistill | less

Используйте курсор для перемещения по списку или введите "q" для выходаПодробное описание параметров для программного обеспечения камеры можно найти

Передача потокового видео по сети

Для передачи видео выполняем на Raspberry Pi команду

raspivid -t 999999 -o - | nc 5001

Для просмотра видео на клиенте необходимо установить mplayer и netcat и запустить их следующим образом nc -l -p 5001 | mplayer -fps 31 -cache 1024 для Linux

Среди интересных дополнений Raspberry Pi является модуль видеокамеры, предназначенный для подключения к шине CSI с помощью ленточного кабеля.

Сама плата камеры крошечная. Ее размеры лишь 25x20x9 мм, а весит всего 3 грамма и поставляется с 15 см ленточным кабелем.


Датчик камеры 5 MP, имеет объектив с фиксированным фокусом и позволяет получить фотоснимки с разрешением 2592x1944. Поддержка видео: 1080p 30 кадров в секунду (fps), 720p при 60 fps и разрешением 640x480 со скоростью до 90 fps. Полная поддержка камеры добавлена ​​к Raspbian ОС, которую нужно обновить.

Скажите «чи-и-из» для Wheezy

Прежде чем двигаться дальше, Вам необходимо подключение к Интернету. Модуль камеры требует, чтобы Raspian ОС была обновлена ​​до последней версии, потому что так можно установить необходимые драйвера и инструменты.

Если это не является проблемой, то можем выполнить установку оборудования.

Обратите внимание, что камера может быть повреждена статическим зарядом. Перед тем, как снять с камеры ее серый антистатический пакет, пожалуйста, убедитесь, что Вы устранили свой заряд, прикоснувшись к заземленному предмету (например, радиатору или водопроводной трубе).

Для камеры выделенной шиной является ленточный разъем ближе к порту Ethernet. Он имеет конструкцию нулевого усилия вставки (ZIF): надо только подтянуть два боковых зажимы, чтобы освободить скобу.

Вам нужно разместить ленту с введением от края соединения вблизи порта Ethernet и до конца разъема питания Pi. Держите квадрат ленты на месте и раздвиньте фиксаторы так, чтобы зафиксировать ленту в нужном положении. Обратите внимание на фото, что гибкий кабель вставляется серебряными контактами в сторону порта HDMI:


Подключите все к Raspberry Pi и загрузитесь с SD-карты, выбрав для установки стандартную ОС Raspbian "Wheezy", а затем перезагрузитесь. Имя пользователя и пароль по умолчанию "pi" и "raspberry", соответственно.

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

sudo apt-get update

sudo apt-get upgrade -y

Теперь нам нужно использовать инструмент настройки Raspberry Pi, чтобы проверить распределение памяти GPU, потому что нужно не менее 128 как буфер для всех видеоданных, которые вот-вот будут залиты в память. При этом фактически выполняется активация шины камеры. Введите в терминале:

sudo raspi-config

Сначала выберите "Advanced > Memory_split" (Расширенный > Распределение памяти) - он должен быть уже установлен на 128, но если нет, то внесите изменения. Система камеры, вроде, нормально работает даже при 16, но рекомендуется 128.

Наконец, есть вариант поддержки камеры Enable/Disable Camera (включение/выключение камеры), выберите Enable (включить):



Виберите Finish (готово), а дальше Reboot - для перезагрузки:


Съемка с Raspberry Pi

Есть два инструмента командной строки для доступа к модулю камеры - это raspivid и raspistill .

Камера предлагает хороший выбор графических эффектов и общих параметров камеры, которые можно применить в прямом эфире, как для фотографий так и для видео. Вы в состоянии изменить режимы баланса белого, фокусировки, тип фото, экспозицию, уровень ISO и данные EXIF.

Ниже приведены примеры команд с терминала и что они будут делать, время захвата по умолчанию 5 секунд, воспользуйтесь параметром -t , чтобы указать более длительный период в миллисекундах, так -t 20000 означает "в течение 20 секунд".

Видео

Отображение пять секунд в режиме демо: raspivid -d

Показывает 10 с видео в демо-режиме: raspivid -о video.h264 -t 10000 -d

Отображение 640х480 превью: raspivid -p 0,0,640,480

Захват 20 секунд видео в формате h264: raspivid -t 20000 -o video.h264

Использование параметров изображения в команде raspivid

Синтаксис: RaspiVid [параметры]

Помощь: Информация для помощи
. По умолчанию 1920
. По умолчанию 1080
-b , - битрейт: Указанный битрейт. Используйте биты в секунду (например, 10Mbits/s будет -b 10000000 )
-o , - выход: Выходной файл (для записи на stdout, использовать"-o - ")

-t , - время ожидания: Время (в мс) к фотографированию и отключения. Если не указано, устанавливается 5 секунд

-fps - частота кадров: Установите частоту кадров в секунду для записи
-e , - penc: Показать изображения для предварительного просмотра *после* кодирования (показать артефакты сжатия)

<"x,y,w,h">

Фото

Захват изображения в JPEG формате: raspistill -о image.jpg

Сделать фото 640x480: raspistill -o image.jpg -w 640 -h 480

Сделать JPEG пониженного качества: raspistill -o image.jpg -q 5

Использование параметров изображения в команде RaspiStill

Синтаксис: RaspiStill [параметры]

Параметры команд для изображения

Помощь: Информация для помощи
-w , - ширина: Установите ширину изображения
-h , - высота: Указанная высота изображения
-q , - качество: Установка качества JPEG <0 до 100>
-r , - raw: Добавить данные raw bayer в JPEG метаданные
-o , - выход: Выходной файл (для записи на stdout, использовать "-o -"). Если не указано, файл не сохраняется
-v , - подробно: Вывод подробностей во время работы
-t , - время ожидания: Время (в мс) к фотографированию и выключению (если не указано, то устанавливается в 5 секунд)
-th , - thumb: Установить параметры эскиза (х:у:качество)
-d , - демо: Запуск демонстрационного режима (цикл через ряд параметров камеры, захвата нет)
-e , - кодирование: Кодирование, используемое для выходного файла (JPG, BMP, GIF, PNG)
-x , - exif: Тег EXIF для применения к захватам (формат как "key=value")
-tl , - timelapse: Режим интервальной съемки. Делает снимок каждые мс

Параметры команд предварительного просмотра

P , - предварительный просмотр: Параметры окна просмотра <"x,y,w,h">
-f , - полноэкранный: Полноэкранный режим просмотра
-n , - без предварительного просмотра: Не показывать окно предварительного просмотра

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

Sh , - резкость: Установка резкости изображения (от -100 до +100)
-co , - контраст: Установка контрастности изображения (от -100 до +100)
-br , - яркость: Установка яркости изображения (от 0 до 100)
-sa , - насыщение: Установка насыщенности изображения (от -100 до +100)
-ISO , - ISO: Указанное ISO для захвата
-vs , - vstab: Включить видео стабилизацию
-ev , - ev: Установить экспокоррекцию
-ex , - экспозиция: Установить режим экспозиции
-awb , - awb: Установить режим AWB
-ifx , - imxfx: Установить эффект изображения
-cfx , - colfx: Установить цветовой эффект (U:V)
-mm , - metering: Установить режим замера экспозиции
-rot , - вращение: Поворот изображения (0-359)
-hf , - hflip: Горизонтальный флип
-vf , - vflip: Вертикальный флип

По умолчанию папка для сохранения изображений "/home/pi " поэтому, если Вам просто необходимо проиграть сохраненное видео, то проще загрузиться в графический интерфейс с startx, открыть "File Manager" и использовать "LXTerminal" для команд камеры.

Как организувать потоковое видео с Raspberry Pi

Для просмотра канала на Linux

Установите необходимое программное обеспечение, выполнив следующую команду из терминала:

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



В данном материале будет приведена пошаговая инструкция для настройки Raspberry Pi в качестве сервера с вебкамерой, с которого по сети будет передаваться потоковое видео с помощью специального программного обеспечения. В нашем случае будет использоваться программный пакет Motion, который является бесплатным и находится в открытом доступе.


Итак, для данного проекта потребуется Raspberry Pi Model B или новее, адаптер USB WiFi, USB-вебкамера с микрофоном, SD-карта с ОС Raspbian, доступ к Raspberry Pi через клавиатуру и мышь или удаленно.


Убедитесь, что все программные пакеты получили необходимые обновления. Для этого можно просто ввести:


sudo apt-get update


Затем нужно установить приложение Motion:


sudo apt-get install motion


Если вы хотите использовать специальный модуль камеры для Raspberry Pi, то данная версия Motion пока не поддерживает его. Чтобы добавить поддержку модуля камеры, нужно скачать и установить определенную сборку следующим образом:



sudo apt-get install -y libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev


Теперь нужно настроить это программное обеспечение. Первым делом необходимо отредактировать конфигурационный файл motion.conf. Введите следующую строку:


sudo nano /etc/motion/motion.conf


Здесь нужно изменить следующее: DAEMON = OFF (меняем на ON), Webcam_localhost = ON (Меняем на OFF). Далее нам нужно активировать Daemon-сервис. Печатаем:


sudo nano /etc/default/motion


И меняем start_motion_daemon = no (изменить на yes).


Теперь нужно запустить вебкам-сервер. Убедитесь, что вебкамера подключена к Raspberry Pi через USB. Введите следующую строку:


sudo service motion start


Если вы хотите остановить этот сервис, то воспользуйтесь такой командой:


sudo service motion stop


Для перезапуска сервиса Motion можете воспользоваться следующей командой:


sudo service motion restart


Если Motion работает, то вы можете открыть веб-страницу на вашем обычном настольном компьютере, в адресной строке которой будет IP вашего Raspberry Pi и порт 8081 (или другой, если вы его меняли). Тогда вы увидите изображение с вебкамеры, подключенной к Raspberry Pi.


Читайте также: