Raspberry pi 3 управление камерой. Скрытая камера на Raspberry Pi для съемки животных. Программное обеспечение для работы с камерой

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

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

  1. Батарейки в корпус никак не влазили, поэтому приходилось их приматывать к корпусу изолентой:)
  2. Настройка параметров была вынесена на четыре потенциометра, которые оказались очень чувствительными к температуре. В помещении настраиваешь одни значения, выходишь на улицу - а они уже другие, уплыли.
  3. У Arduino Nano, которую я использовал в пульте, есть всего 8 аналоговых входов. Четыре были заняты настроечными потенциометрами. Один потенциометр служил газом. Два входа были подключены к джойстику. Оставался свободен только один выход, а параметров для настройки гораздо больше.
  4. Единственный джойстик был вовсе не пилотным. Управление газом с помощью потенциометра тоже весьма угнетало.
  5. А еще пульт не издавал никаких звуков, что иногда бывает крайне полезно.

Чтобы устранить все эти недостатки, я решил кардинально переделать пульт. И железную часть, и софт. Вот что мне захотелось сделать:

  • Сделать большой корпус, чтобы в него можно было запихнуть все что хочется сейчас (включая батарейки), и что захочется позже.
  • Как-то решить проблему с настройками, не за счет увеличения числа потенциометров. Плюс, добавить возможность сохранения параметров в пульте.
  • Сделать два джойстика, как на нормальных пилотных пультах. Ну и сами джойстики поставить православные.

Новый корпус

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

Элементы управления и меню

Чтобы управлять кучей параметров, нужно либо разместить на пульте кучу потенциометров и добавить АЦП, либо делать все настройки через меню. Как я уже говорил, настройка потенциометрами не всегда хорошая идея, но и отказываться от нее не стоит. Так что, решено было оставить в пульте четыре потенциометра, и добавить полноценное меню.

Чтобы перемешаться по меню, и менять параметры обычно используют кнопки. Влево, вправо, вверх, вниз. Но мне захотелось использовать вместо кнопок энкодер. Эту идею я подсмотрел у контроллера 3D-принтера.


Разумеется, за счет добавления меню, код пульта распух в несколько раз. Для начала я добавил всего три пункта меню: "Telemetry", "Parameters" и "Store params". В первом окне отображается до восьми разных показателей. Пока я использую только три: заряд батареи, компас и высота.

Во втором окне доступны шесть параметров: коэффициенты PID регулятора для осей X/Y,Z и корректировочные углы акселерометра.

Третий пункт позволяет сохранять параметры в EEPROM.

Джойстики

Над выбором пилотных джойстиков я долго не размышлял. Так получилось, что первый джойстик Turnigy 9XR я добыл у коллеги по квадрокоптерному делу - Александра Васильева, хозяина небезызвестного сайта alex-exe.ru . Второй такой же заказал напрямую на Hobbyking.


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

Питание

В старом пульте я использовал простой регулятор напряжения LM7805, который кормил связкой из 8 батареек AA. Жутко неэффективный вариант, при котором 7 вольт уходили на нагрев регулятора. 8 батареек - потому что под рукой был только такой отсек, а LM7805 - потому что в то время этот вариант мне представлялся самым простым, и главное быстрым.

Теперь же я решил поступить мудрее, и поставил достаточной эффективный регулятор на LM2596S. А вместо 8-ми AA батареек, установил отсек на два LiIon аккумулятора 18650.


Результат

Собрав все воедино, получился вот такой аппарат. Вид изнутри.


А вот с закрытой крышкой.


Не хватает колпачка на одном потенциометре и колпачков на джойстиках.

Наконец, видеоролик о том, как происходит настройка параметров через меню.


Итог

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

По ходу настройки пульта, были выявлены недостатки. Во-первых, нижние углы пульта упираются в руки:(Наверное я немного перепроектирую пластины, сглажу углы. Во-вторых, даже дисплея 16х4 не хватает для красивого вывода телеметрии - приходится названия параметров сокращать до двух букв. В следующей версии девайса установлю точечный дисплей, либо сразу TFT матрицу.

Приветствую! В данном обзоре хочу рассказать о Raspberry Pi 3 и его применении в качестве домашнего видео наблюдения в тамбуре (видеоглазок). На рынке существует множество решений от китайских производителей, однако их качество и функционал меня не устраивал. Есть решения, которые мне понравились, например или , но цены от 200 до 240 евро - это очень дорого! Поэтому принял решение сделать своё устройство. В обзоре концепт, который будет дорабатываться.
Итак, реализацию видео наблюдения решил делать на Raspberry по следующим причинам:
Во-первых, за небольшую цену получаем мини-компьютер с большими функциональными возможностями (как программными, так и аппаратными) в отличие от стационарных ip камер (видеоглазков);
Во-вторых, есть возможность подключить видеокамеру посредством интерфейса CSI (Camera Serial Interface), который минимально задействует процессор. На сегодняшний день существует два варианта таких камер (с разрешением 5 и 8Мп);
В-третьих, много источников информации в случае появления проблем и вопросов;

Все необходимое заказал в магазине Gearbest.
1.
2.
3.
4. На всякий случай набор , много было страшилок о перегреве третьей малины.

Скрин заказа



Подробно описывать Raspberry Pi 3 я не буду, это можно сделать, прочитав обзор. Приведу лишь основные характеристики:
Процессор: 64-битный 4-ядерный ARM Cortex-A53 с тактовой частотой 1,2 ГГц на однокристальном чипе Broadcom BCM2837;
оперативная память: 1ГБ LPDDR2 SDRAM;
цифровой видеовыход: HDMI;
композитный выход: 3,5 мм (4 pin);
USB порты: USB 2.0×4;
сеть: WiFi 802.11n, 10/100 Мб RJ45 Ethernet;
Bluetooth: Bluetooth 4.1, Bluetooth Low Energy;
разъем дисплея: Display Serial Interface (DSI);
разъем видеокамеры: MIPI Camera Serial Interface (CSI-2);
карта памяти: MicroSD;
порты ввода-вывода: 40;
габариты: 85x56x17 мм.

Видеокамеру решил использовать первого поколения, для тамбурного наблюдения этого более чем достаточно.
Характеристики:
-Матрица 5МП Omnivision 5647 с фиксированным фокусом;
-Максимальное разрешение фотоснимка 2592х1944 пикселей;
-Разрешение видеосъемки: 1080p (30 кадров в секунду), 720p (60 кадров в секунду), 640x480p (60/90 кадров в секунду);

Упаковка, плата, комментарии

«Raspberry pi 3» упакована в такую коробочку


Написано, что сделано в Китае


Внутри, инструкция по быстрому началу работы и безопасности


Сама плата находится в антистатическом пакете


Распберри с разных ракурсов










Местами флюс плохо отмыт


Упаковка модуля камеры




Плата камеры




Модуль камеры подключается к распберри ленточным 15ти жильным кабелем.

Долго думал, что выбрать в качестве программного обеспечения для моих задач. Есть множество программ пакетов типа GStreamer, Motion, mjpg-streamer и прочие. Но в каждой из них есть существенные недостатки. Понимаю, что знатоки Linux могут собрать все нужные пакеты воедино, написать GUI и оптимизировать работу. Однако моих знаний в Linux будет маловато. Значит, для таких, как я, нужно решение, работающее «из коробки». И такая программа была найдена!!! Называется MotionEye OS . Это даже не отдельная программа, а линуксовый дистрибутив со своим графическим интерфейсом.

Возможности MotionEye OS:
- Работа с несколькими камерами
- Синхронизация времени по интернету
- Поддержка Ethernet и Wi-Fi
- Запись лог журналов событий
- Настройка режимов работы камеры (яркость, контрастность, насыщенность, авто баланс яркости, скорость кадров в секунду, вращение и разрешение камеры). Есть возможность задать собственные нестандартные настройки.
- Сохранение скриншотов и видео по сценариям. С возможностью сохранения на sd карту, сетевую шару или облако (поддерживается Google Drive и DropBox).
- По детектору движения отправка Get/Post запросов, выполнения собственных скриптов, отправка уведомления на e-mail
- Наложение любого текста на изображение
- Одновременная трансляция видео в интернет с возможностью ограничения доступа и собственными настройками разрешения и fps камеры.
- Тонкая настройка детектора движения
- Работа по расписанию.
- Данный дистрибутив абсолютно бесплатный

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


Основные окна настроек MotionEye















Пример изображения с камеры, разрешением 1280х1024

Итак, MotionEye OS может быть установлена на: Banana PI, Cubietruck, Odroid C1 (and C1+), Odroid XU4, Raspberry PI (A, B, A+, B+, Compute Module and Zero models), Raspberry PI 2, Raspberry PI 3.
Существует два способа установки.

Способ первый - установка «голого» образа.
Скачать дистрибутив с . Образ устанавливается на Micro sd карту посредством . Первый запуск дистрибутива должен выполняться с подключенным Ethernet кабелем!!! Логин admin без пароля. Админка будет доступна в браузере по ip, полученным малиной.
Данный способ быстрый, но будет установлена только MotionEye OS. А это не есть хорошо, т.к. сильно урезаем функционал Raspberry.

Способ второй - установка на Raspbian.
1. Установить Raspbian (как это сделать, думаю, объяснять не надо).
2. Проверить и установить обновления
sudo apt-get update sudo apt-get upgrade
3. Установить кодек ffmpeg
sudo wget https://github.com/ccrisan/motioneye/wiki/precompiled/ffmpeg_2.8.3.git325b593-1_armhf.deb sudo dpkg -i ffmpeg_2.8.3.git325b593-1_armhf.deb
4. Если в системе есть старые кодеки, их надо удалить и поставить новые
sudo apt-get remove libavcodec-extra-56 libavformat56 libavresample2 libavutil54 sudo apt-get install libavutil54 libavformat56 libswscale3
5. Установить motion
sudo apt-get install motion sudo wget https://github.com/ccrisan/motioneye/wiki/precompiled/motion-mrdave-raspbian -O /usr/local/bin/motion sudo chmod +x /usr/local/bin/motion
6. Установить зависимые пакеты
sudo apt-get install python-pip python-dev curl libssl-dev libcurl4-openssl-dev libjpeg-dev
7. Установить motioneye
sudo pip install motioneye
8. Сконфигурировать директории
sudo mkdir -p /etc/motioneye sudo cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf sudo mkdir -p /var/lib/motioneye
9. Запускаем motionEye и добавляем его в автозагрузку
sudo cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service sudo systemctl daemon-reload sudo systemctl enable motioneye sudo systemctl start motioneye
10. Для обновления и получения новой версии motionEye
sudo pip install motioneye --upgrade sudo systemctl restart motioneye
11. Для поддержки работы модуля камеры нужно добавить запись bcm2835_v4l2 в /etc/modules
sudo nano /etc/module
На этом установка закончена. Доступ к админке можно получить в браузере, указав ip малины и порт 8765. Теперь у нас есть полноценный raspbian и работающий motioneye.

Далее добавим полезную функцию, такую как Push уведомление на телефон в случае обнаружения движения. Это может быть полезно, если кто-то топчется перед вашей дверью, а вас нет дома.
Первое, что надо сделать, - это перейти на сайт . Там скачать приложение на Android или iOS. Пройти регистрацию. Затем зарегистрировать приложение «Register an Application». Затем заполнить поля «Name», «Description», во вкладке «Type» выбрать «Application». При желании можно добавить иконку. После подтверждения будет добавлено приложение с уникальным API Token/Key. На главное странице указан ваш User Key.
Следующим этапом нам надо написать скрипт на Python.

#!/usr/bin/python import httplib, urllib conn = httplib.HTTPSConnection("api.pushover.net:443") conn.request("POST", "/1/messages.json", urllib.urlencode({ "token": "am25zkm2p3msdgtmohaho9fraiieb", # Insert app token here "user": "umsxy2qh9ub14rbkc59711fzca5nfx", # Insert user token here "html": "1", # 1 for HTML, 0 to disable "title": "Tambur web camera", # Title of the message "message": "Motion detect !!", # Content of the message "url": "http://192.168.1.33:8081", # Link to be included in message "url_title": "View live stream", # Text for the link "sound": "siren", # Define the sound played }), { "Content-type": "application/x-www-form-urlencoded" }) conn.getresponse()
Не пытайтесь мне ничего отправлять, ключи я изменил))
Далее создадим файл pushover.py для этого
touch ./pushover.py
Открыть и добавить приведенный выше текст скрипта. Сохраняем. Закрываем файл.
sudo nano pushover.py
Назначим файлу права
sudo chmod 777 pushover.py
Теперь наш скрипт готов к запуску. Осталось его добавить в меню «Motion Notifications» в поле «Run a command» /home/pi/pushover.py

Немного тестов.
Для тестировании использовал Ethernet подключение. На картинках виден максимальный fps в обычном режиме и при обнаружении движения.






Загрузка процессора составляет 20-30%. Температура в работе 45 - 48 градусов, процессор дополнительного охлаждения не требует.

Заключение.
Безусловно, есть небольшие задержки при отображении картинки. Оптимальным разрешением считаю 1024 х 768 и ниже. В целом результатами работы камеры я остался доволен. В планах добавить возможность записи звука с микрофона при обнаружении движения.

Обзор получился с уклоном в программную часть, но я долго собирал информацию по данному вопросу и захотел об этом рассказать. Прошу прощения за возможные ошибки, я с линуксоподобными системами пока на ВЫ)) Дополнения и замечания очень приветствую! Также готов ответить на вопросы.

P.s. Сейчас цена в данном магазине на Raspberry pi 3 составляет $35.99

Планирую купить +85 Добавить в избранное Обзор понравился +54 +117

Доброе время суток!

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

  • Одноплатный компьютер Raspberry Pi Model B
  • Web-камера LOGITECH HD Webcam C270
Прочитав я решил немного развить идею автора.
Знакомство
Итак, для начала познакомимся c главным «компонентом»:
Внешний вид Raspberry Pi:

Характеристики:

  • Broadcom BCM2835 700MHz ARM1176JZFS processor with FPU and Videocore 4 GPU
  • GPU provides Open GL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode
  • GPU is capable of 1Gpixel/s, 1.5Gtexel/s or 24GFLOPs with texture filtering and DMA infrastructure
  • 512MB RAM
  • Boots from SD card, running a version of the Linux operating system
  • 10/100 BaseT Ethernet socket
  • HDMI video out socket
  • 2 x USB 2.0 sockets
  • RCA composite video out socket
  • SD card socket
  • Powered from microUSB socket
  • 3.5mm audio out jack
  • Raspberry Pi HD video camera connector
  • Size: 85.6 x 53.98 x 17mm"
pi@hall-pi ~ $ cat /proc/cpuinfo processor: 0 model name: ARMv6-compatible processor rev 7 (v6l) BogoMIPS: 2.00 Features: swp half thumb fastmult vfp edsp java tls CPU implementer: 0x41 CPU architecture: 7 CPU variant: 0x0 CPU part: 0xb76 CPU revision: 7 Hardware: BCM2708 Revision: 000e Serial: 000000005a82c372

Список официально поддерживаемых дистрибутивов можно найти . Я же остановил свой выбор на Raspbian без графической оболочки.

Процесс установки достаточно прост и не нуждается в подробном описании, поэтому перечислю основные факты, на которые стоит обратить внимание:

  1. Настройка часового пояса
  2. Настройка имени компьютера
  3. Включение доступа по SSH
  4. Обновление системы
После выполнения всех необходимых настроек можно приступать.
Подготовка
Для начала выполним установку всех необходимых пакетов:
sudo apt-get install imagemagick libav-tools libjpeg8-dev subversion
После чего скачаем и соберем mjpg-streamer:
sudo svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer cd mjpg-streamer make
Т.к. у нас все данные будут храниться в облаке, настроим работу с удаленной файловой системой по WebDAV:
sudo apt-get install davfs2 sudo mkdir /mnt/dav sudo mount -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi
Для того, чтобы не вводить каждый раз имя пользователя и пароль, нужно добавить их в файл
/etc/davfs2/secrets
/mnt/dav user password
Рабочий процесс
Добавим в /etc/rc.local команды для монтирования WebDAV и запуска скрипта для трансляции в сеть:
mount -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi cd /home/pi/mjpg-streamer && ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"
Теперь, зайдя по адресу http://:8080/ мы получим доступ к камере. Осталось только сделать проброс порта на роутере и можно получить доступ к камере за пределами локальной сети.
Создание timelapse видео
Первым делом нам надо получить изображение с камеры. Т.к. она уже занята (изображение транслируется веб-сервером), то воспользуемся возможностью получения текущей картинки с веб-сервера:
curl http://localhost:8080/?action=snapshot > out.jpg
В случае, если мы хотим нарисовать дату снимка на изображение, то мы можем воспользоваться командой convert
timestamp=`stat -c %y out.jpg` convert out.jpg -fill black -fill white -pointsize 15 -draw "text 5,15 "${timestamp:0:19}"" out_.jpg
Полная версия скрипта:
#!/bin/bash filename=$(perl -e "print time") foldername=$(date --rfc-3339=date) curl http://localhost:8080/?action=snapshot > $filename timestamp=`stat -c %y $filename` mkdir /mnt/dav/out/$foldername convert $filename -fill black -fill white -pointsize 15 -draw "text 5,15 "${timestamp:0:19}"" /mnt/dav/out/$foldername/$filename.jpg rm $filename
Сборка видео осуществляется командой avconv:
avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 out.avi
Полная версия скрипта сборки видео:
#!/bin/bash filename=$(date --rfc-3339=date) i=0 for f in `ls -tr /mnt/dav/out/$filename/*.jpg 2>/dev/null` do newf=`printf %06d $i`.jpg echo $f "-->" $newf mv $f $newf i=$((i+1)) done rmdir -R /mnt/dav/out/$filename/ avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 /mnt/dav/$filename.avi rm *.jpg
Теперь осталось только прописать выполнение скриптов в планировщике Cron:
* * * * * pi bash /home/pi/cam.sh 59 23 * * * pi bash /home/pi/build.sh
Пример видео
Заключение
Данный подход помогает избавиться от необходимости траты большого количества времени на просмотр видео, а так-же удешевляет конечный продукт. Благодаря присутствию полноценной ОС, появляется возможность расширять функционал в нужном направлении.

Т.к. этот компьютер обладает достаточной производительностью для того чтобы принимать, хранить, обрабатывать и передавать по wifi, на другие устройства, видео с камеры (например с usb камеры). Существуют специальные камеры для Raspberry PI которые подключаются к специальному разъёму на нём и USB камеры которые подключаются к, какому либо, порту USB на Raspberry PI. Т.к. USB камеры, как правило, гораздо дешевле чем специальные (пусть и хуже) то далее рассмотрим использование именно USB камеры с Raspberry PI. Существует некоторое количество программ для захвата видео с USB камеры или же можно написать свою но для простоты для начала рассмотрим захват и передачу видео с использованием программы motion. Для установки программы motion на Raspberry PI нужно сначала подключиться к нему через программу Putty (или любую другую программу-терминал с возможностью связи по SSH) (о том как это сделать смотрите в предыдущей статье "Raspberry PI 3 настройка и управление GPIO по WIFI "). После подключения к Raspberry PI нужно произвести обновление системы командами

Sudo apt-get update

Sudo apt-get upgrade

После успешного обновления системы нужно установить программу motion командой

Sudo apt-get install motion

При установке возможно будет задан вопрос "Do you want to continue?" после которого надо будет ввести буку "Y". После установки программы motion нужно будет внести некоторые изменения в конфигурационные файлы. Откроем файл motion.conf в редакторе nano командой

Sudo nano /etc/motion/motion.conf

После чего

Заменить на

Далее найдём другие строки для изменения, для этого нажмём сочетание клавиш CTRL+W, впишем "stream_localhost" и нажмём enter, после этого должна найтись нужная строка, если не нашлась то переменная "stream_localhost" называется как то по другому например "webcam_localhost" или что то подобное. После того как строка с данной переменной найдена нужно

Stream_localhost on

заменить на

Stream_maxrate 1

И заменить на

Stream_maxrate 100

Заменить на

После чего

Minimum_frame_time 0

Заменить на

Minimum_frame_time 1

Последнее делается для того чтобы кадры выводились раз в секунду - это не очень хорошо смотрится но зато видео не будет пропадать при резком изменении изображения. Назначение каждой переменной можно прочитать в комментариях.
Теперь сохраним изменения нажав CTRL+O и enter после чего нажмём CTRL+X и выйдем из редактора nano. Теперь давайте отредактируем другой файл, для этого введём команду

Sudo nano /etc/default/motion

И заменим строку

Start_motion_daemon=no

Start_motion_daemon=yes

После чего сохраним изменения нажав CTRL+O и enter а дальше нажмём CTRL+X и выйдем из редактора nano. Теперь запустить передачу видео (USB камера при этом должна быть подключена к одному из портов) можно командой

Sudo service motion start

Остановить командой

Sudo service motion stop

Для того чтобы увидеть видео нужно открыть браузер, и вписать в адресной строке IP адрес Raspberry PI после чего поставить двоеточие и 8081 (IP адрес Raspberry PI:8081) и нажать enter после чего в браузере должно появится видео с USB камеры. Посмотреть как это всё делается, увидеть результат и кое что ещё можно в видео:

Вот так простым способом можно получить видео с USB камеры подключённой к Raspberry PI. Если это Raspberry PI 3 со встроенным wifi и питающийся от powerbank (или какого либо другого переносного источника электроэнергии)(например такой такой или подешевле такой хотя не рекомендуется использовать дешёвый, Raspberry PI нужен нормальный источник питания для использования всех его возможностей, также очень желательно поставить радиатор на процессор и другие микосхемы которые нареваются в ходе работы Raspberry, в идеале радиатор д.б. медным и порытым специальной чёрной краской) то на основе всего этого можно сделать какую либо систему видеонаблюдения, видеокамеру или что то подобное.

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

Особенности камеры для Raspberry Pi

Для Raspberry Pi камера появилась в 2014 году, и она стала самым популярным модулем для данного одноплатника. Используя его, пользователи-разработчики получили возможность реализовывать самые разные проекты, в числе которых:

  • телескопы;
  • устройства для слежения за животными;
  • системы видеонаблюдения с функцией распознавания лиц и т. д.

Первая версия камеры имела 5-мегапиксельную матрицу. Производством соответствующих оптических сенсоров занималась компания Omnivision. И уже в конце 2014-го она сняла их с производства, в связи с чем пришлось подыскивать замену.

Вскоре вышла Raspberry Pi camera v2, которая была даже лучше, чем предыдущая. В ней использовался 8-мегапиксельный сенсор от Sony, который имеет название IMX 219 EXMOR RS.

Новая камера научилась снимать с частотой кадров 60 FPS в HD-разрешении, тогда как старая выдавала лишь 30 FPS. И, как и первая генерация, вторая также могла записывать FullHD-видео с 30-кадровым фреймрейтом.

Также устройство стало быстрее, а главное - научилось лучше корректировать баланс белого.

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

Как подключить камеру Raspberry Pi

Предположим, что камера уже извлечена из упаковки, а одноплатник находится на столе. Все, что нужно, чтобы подсоединить модуль к Raspberry - вставить шлейф в CSI-порт, который имеет соответствующую подпись - CAMERA.

Важно: цветовой ключ нужно направить на Ethernet-порт. Подключение, в свою очередь, следует производить только при обесточенной плате.

Когда загрузится рабочий стол Raspbian, понадобится:

  • открыть меню;
  • перейти к пункту Preferences;
  • запустить программу Raspberry Pi Configuration.

Откроется утилита конфигурирования, в интерфейсе которой есть четыре вкладки - нужно перейти на Interfaces. Оказавшись на ней, потребуется найти переключатель Camera (он, обычно, идет первым) и поставить его в положение "Включено" (Enabled). Далее нужно просто нажать на OK и выполнить перезагрузку.

Если устройство исправно и все вышеперечисленное выполнено правильно, к Raspberry Pi подключение камеры должно быть выполнено успешно. Но, конечно, это следует проверить. Для этого после загрузки Raspbian потребуется: открыть меню, перейти к пункту Programming и открыть Python 3.

Запустится IDLE, в котором потребуется создать файл с названием camera.py (можно по-другому, но, чтобы было понятно, лучше оставить так).

  • from picamera import PiCamera
  • # вышеуказанная инструкция подключает интересующий модуль
  • from time import sleep
  • # теперь объявим переменную для камеры
  • camera = PiCamera()
  • # затем запустим просмотр поступающего с камеры сигнала так, чтобы изображение выводилось поверх любых окошек
  • start_preview()
  • # пусть картинка выводится 15 секунд
  • sleep(15)
  • # завершаем предпросмотр
  • stop_preview()

Когда код введен, потребуется выполнить сохранение (клавиши CTRL+S), а затем - запустить исполнение кода, что делается нажатием на F5. Если на экране появится картинка, которую видит сенсор, значит Py camera Raspberry работает исправно.

Теперь, когда есть уверенность, что камера подключена правильно, необходимо определиться с целями, для которых она будет использоваться. Например, можно при помощи Raspberry Pi видеонаблюдение вести, следить за птицами или использовать как-то иначе.

При желании возможно самому написать код, но если нет времени, то нужно зайти на GitHub и найти подходящий скрипт на Python - их там около тысячи. Используя какой-нибудь из них, может быть создана IP-камера из Raspberry Pi или что-то другое. Рассматривать инструкции по установке скриптов здесь нет смысла, так как они присутствуют на GitHub.

Как подключить USB-камеру к Raspberry

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

Принцип настройки такой:

  • подключение камеры;
  • обновление списка репозиториев и ПО (опционально);
  • установка программы Motion;
  • конфигурирование приложения.

Настройка заключается в изменении содержания двух файлов: motion/motion.conf и default/motion - оба из них находятся в директории etc.

В первом нужно изменить два параметра: DAEMON - на ON и Webcam_local - на OFF. Во, втором, в свою очередь, следует после знака "=" у параметра start_motion_daemon написать yes (по умолчанию стоит - no).

Чтобы запустить Motion Raspberry Pi, нужно запустить его сервис. Это делается командой: service motion start (естественно, под sudo). Останавливается демон той же командой, только вместо start нужно указывать stop.

Если же требуется трансляция в интернет, то нужно в роутере открыть для Raspberry порт 8081. Затем к камере можно будет обращаться так: http://адрес_роутера:8081.

Чтобы проверить работу камеры, нужно в браузере ввести следующий адрес: http://адрес_raspberry:8081. Вот таким нехитрым образом была настроена Raspberry Pi web camera usb.

Выше было рассмотрено, как камера под управлением Raspberry может быть подключена к одноплатнику. Как можно видеть, это сделать очень легко - главное, четко следовать инструкциям.