Создание беспроводной шпионской камеры с Raspberry Pi. Сервер видеонаблюдения с помощью Raspberry Pi Raspberry pi 3 подключение usb камеры


Приветствую! В данном обзоре хочу рассказать о 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 Обратите внимание, что камера может быть повреждена статическим электричеством. Перед тем, как достать камеру рекомендуется дотронуться до заземлённого объекта (например до радиатора батареи отопления), чтобы снять заряд. Камера подсоединяется к плате при помощи гибкого шлейфа. Разъём для шлейфа находится между 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

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

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

  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 является модуль видеокамеры, предназначенный для подключения к шине 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

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

Т.к. этот компьютер обладает достаточной производительностью для того чтобы принимать, хранить, обрабатывать и передавать по 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, в идеале радиатор д.б. медным и порытым специальной чёрной краской) то на основе всего этого можно сделать какую либо систему видеонаблюдения, видеокамеру или что то подобное.







2024 © gtavrl.ru.