Распиновка камеры raspberry

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

На Raspberry pi есть специальный разъем CSI для подключения камеры. Этот разъем находится рядом с разъемом HDMI. Преимущество данного разъема в отличии от USB в разгрузке процессора при передаче данных через CSI.

Купить raspberry pi cam можно тут: http://ali.pub/2vzqlc еще больше тут: http://ali.pub/2vzq6r

Вот так выглядит сам разъем:

Подключать камеру лучше при выключенной raspberry pi. И сама камера может выйти из строя от статического электричества, поэтому безопаснее всего дотронуться сначала до какого нибудь железного объекта дома.

Рассматривать будем подключение в операционной системе Rasbian.

Обновление:

После того как мы подключили камеру к Raspberry pi и загрузилась операционная система нужно подключиться по SSH к нашей Raspberry и вбить для начала команду: “sudo apt-get update” – для скачивания обновлений всех программ и самой операционной системы, скачивание может занять несколько минут. После того как загрузка закончилась вобьем команду “sudo apt-get upgrade” – эта команда установит все скаченные обновления, это тоже может занять несколько минут.

Конфигурация:

После обновления запустим команду “sudo raspi-config” и у нас появится меню конфигурации, оно выглядит вот таким образом:

Нужно выбрать пункт “camera” в данном меню и выбрать “enable” . Все после этого камера будет включена и можно будет с ней работать.

В этом примере мы выяснили как включить камеру из командной строки. Теперь давайте рассмотрим пример, как включить камеру из GUI интерфейса, для этого нам нужно зайти в “пуск->Perferences->Raspberry Pi Configuration” и в открывшемся окне выбрать вкладку “Interfaces” и поставить калочку “Camera: Enabled“, и после включения камеры нужно обязательно перезагрузить Raspberry pi командой “sudo reboot“. Выглядит это таким образом:

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

Чтоб захватить изображение в формате jpeg, нужно ввести команду “raspistill -o image.jpg” где image.jpg – это имя Вашего изображения. Параметров у данной утилиты много, если какой-то параметр не выставлен, то будет взят параметр по умолчанию. Вот табличка с приведенными параметрами для raspistill:

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

С фото мы разобрались, давайте теперь разберем утилиту для записи видео “raspivid“. Для данной утилиты тоже существуют параметры записи:

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

С командной строкой разобрались, но raspberry pi же славится связкой вместе с языком программирования python. Для работы с Python есть специальная библиотека называющаяся PiСamera. Чтоб воспользоваться данной библиотекой ее нужно сначала установить, для этого воспользуемся командой “sudo apt-get install python3-picamera“. После установки можно начать пользоваться библиотекой. Полное описание библиотеки находится на сайте: https://picamera.readthedocs.io/en/release-1.13/ .

Давайте напишем простой скрипт на python чтоб сделать снимок. Для этого создадим файл с расширением .py или запустим сам python командой “python3” и напишем следующие строчки кода:

Cохраним скрипт и запустим его. Файл ‘test.jpg’ сохранится в той папке в которой вы запустили скрипт.

На этом думаю все, надеюсь данная статья будет кому-то полезна, всем добра и позитива)

Источник

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

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

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

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

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

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

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

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

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

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

Тест камеры

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

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

Снимок фото

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

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

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

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

Запись видео

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

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

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

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

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

Тест камеры

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

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

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

Снимок фото

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

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

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

Запись видео

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

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

Источник

IP-камера на основе Raspberry Pi Zero W

В этой статье будет говориться о том, как своими руками собрать недорогую IP-камеру на базе Raspberry Pi Zero W и оригинального модуля камеры.

В принципе, именно с этой целью я изначально и планировал использовать «мини-малинку». Но впечатления от ее работы в такой роли оказались неоднозначными.

Сразу скажу, что свою стоимость подобное устройство отрабатывает. Но чуда не произошло и получить аналог промышленно выпускаемой IP-камеры за меньшие деньги не получилось.

Ну а подробнее обо всем читайте дальше в статье.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

Опционально может потребоваться отдельное устройство под видеорегистратор. Он понадобится если есть необходимость использовать 2 или более камер видеонаблюдения в одном комплексе.

В качестве видеорегистратора может использоваться практически любой компьютер под управлением Linux или даже Windows.

Сборка камеры

Все необходимое для сборки — это микрокомпьютер Raspberry Pi Zero W, microSD-карточка с образом системы, корпус с отверстием под глазок камеры, сам модуль камеры и шлейф с полноразмерного разъема CSI на миниатюрный CSI, используемый в моделях Zero и Zero W.

При помощи шлейфа подключаем модуль камеры к микрокомпьютеру.

Размещаем Raspberry Pi Zero W в основании корпуса.

Закрепляем модуль камеры под крышку на предназначенных для этого пластиковых защелках.

Совмещаем крышку с основанием корпуса, и процесс сборки IP-камеры можно считать завершенным.

К сожалению, каких-либо приспособлений для навесного крепления на корпусе Zero W не предусмотрено. Но главное определиться где будет стационарно размещена камера, а уж крепление придумать можно всегда.

На время экспериментов я просто прикрепил ее на скотч к оконному стеклу.

Вариант 1: MotionEyeOS

Наиболее простой способ использования Raspberry Pi в качестве сетевой камеры — это использование приложения MotionEye.

MotionEye представляет собой сервер видеонаблюдения, работающий на базе консольной утилиты Motion. Которая, в свою очередь, позволяет распознавать движение на видеопотоке с камеры и выводить этот видеопоток на открытый порт веб-сервера.

MotionEye можно установить на любой компьютер под управлением Linux как обычное приложение, а на Raspberry Pi и некоторых других одноплатных компьютерах также возможно использовать готовую сборку MotionEyeOS — минималистичный Linux-дистрибутив, весящий всего 230Мб и не содержащий в себе ничего, кроме самого MotionEye и минимального количества необходимых для его работы пакетов.

Я считаю, что для IP-камеры удобнее использовать именно готовую сборку. Ведь мы же не будем делать из камеры многозадачное устройство, а раз так — правильнее установить максимально облегченную версию системы.

Поэтому скачиваем образ системы с этой страницы и записываем его на microSD-карту как любой другой Linux-дистрибутив для Raspberry Pi (если вы не знаете как это делать — подробнее все действия описаны в обзорах Raspberry Pi 3 и Raspberry Pi Zero W).

После чего создаем файл wpa_supplicant.conf со следующим содержимым:

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

Затем находим локальный IP-адрес нашей камеры в локальной сети, и открываем его в браузере.

И перед нами открывается веб-интерфейс MotionEye с уже работающей камерой.

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

К слову, настройки достаточно обширны. Мы можем:

  • Менять разрешение и частоту кадров видеопотока
  • Включать и отключать систему обнаружения движения на видео
  • Задавать место для хранения видеозаписей, которым может быть как собственная память Zero W, так и расшаренный сетевой ресурс, FTP-сервер в интернете или облачные хранилища Dropbox и Google Диск
  • Кодек, которым будет кодироваться видео
  • Подключать дополнительные камеры, в том числе и сетевые, поддерживающие протоколы RTSP или MJPEG
  • Записывать не только видео, но и фото с заданной частотой (или по срабатыванию детектора движения)
  • Гибко настраивать сам модуль камеры, меняя в том числе и ISO с экспозицией
  • Передавать поток с камеры на сторонний видеосервер

В общем, вещь вполне серьезная. Может быть не настолько, как коммерческие системы видеофиксации, но скорее всего возможности MotionEye закроют все потребности домашнего пользователя по части видеонаблюдения.

А что с недостатками? А главный недостаток заключается в том, что Motion на Raspberry Pi не умеет использовать аппаратное ускорение. Поэтому вся нагрузка при работе с видеопотоком ложится на процессор — далеко не самый мощный даже в третьей «малине» и откровенно слабоватый в Zero и Zero W.

Давайте просто посмотрим примеры видеозаписей, сделанных через MotionEye на Zero W:

(Кстати, эти записи почему-то по-разному воспроизводятся в разных плеерах. Например, во всеядном Media Player Classic видео в высоких разрешениях идут как очень медленное слайдшоу, в то время как в Lister — встроенном в Total Commander просмотрщике файлов — они проигрываются намного лучше и с большей частотой кадров. Надо будет еще поэкспериментировать с выбором кодеков для сжатия)

Что мы видим? Хорошо пишется видеопоток с разрешением 640×480 пикселей, почти нормально идет видео в разрешении 800×600. На видео в более высоких разрешениях процессорной мощности Raspberry Pi Zero W уже не хватает и fps падает до 2-3 кадров в секунду.

Так что придется идти на компромисс, выбирая между разрешением видео и частотой кадров. Ну и о возможности Raspberry Pi Camera Board снимать в fullHD разрешении можно забыть: снимать-то она может, но видеопоток не будет успевать обрабатываться, поэтому в таком разрешении можно рассчитывать только на фотофиксацию.

Вариант 2: RTSP-поток на стороннее устройство

Другой вариант использования Raspberry Pi Zero W в качестве камеры — транслировать видео по RTSP-протоколу на другое устройство, выполняющее функции видеорегистратора.

Для этого нам понадобится уже не Motion, а VLC Player и консольная утилита raspivid, о которой я писал в обзоре модуля камеры.

Устанавливаем в Raspbian пакет vlc:

И запускаем трансляцию видеопотока:

При этом параметрами -w и -h устанавливается разрешение видео (ширина и высота соответственно), а ключ -fps ограничивает максимальную частоту кадров.

Видеопоток будет доступен в сети по адресу rtsp://ip-адрес-rpi-zero-w:8554/. Его можно интегрировать в любые приложения для видеонаблюдения, либо просматривать через видеоплееры с поддержкой сетевого воспроизведения — например, тот же VLC Player или Media Player Classic.

По RTSP-протоколу видео идет без таких просадок по fps как в Motion, но возникает другая проблема: транслируется оно с задержкой 3-5 секунд.

Вариант 3: MotionEye (клиент) + MotionEye (сервер)


Еще один вариант заключается в том, чтобы установить на Zero W MotionEye в качестве клиентского модуля, а на другом устройстве развернуть MotionEye в качестве сервера видеорегистратора для записи и трансляции видео. И соединить их по сети.

Это позволит снизить нагрузку на процессор Zero W (особенно если активировать в настройках MotionEye опцию («Fast Network Camera»).

Заключение

К явным плюсам подобной самодельной камеры можно отнести стоимость. Около 25 долларов стоит сам микрокомпьютер, еще 20 долларов за камеру, итого устройство обходится нам в 45 долларов или примерно 2700 рублей по нынешнему курсу. Средняя IP-камера в российской рознице будет стоить в 2-3 раза дороже. Минимум.

Еще один однозначный плюс — компактные габариты. Описываемую в данной статье камеру легко спрятать. И хотя в целом наше законодательство негативно относится к скрытому видеонаблюдению, в пределах своего жилища (не являющегося местом общего пользования) человек вправе устанавливать камеры так, как посчитает нужным.

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

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

Источник

Adblock
detector