Андрей Смирнов
Время чтения: ~15 мин.
Просмотров: 96

Домашнее видеонаблюдение. Установка и настройка Xeoma на Raspberry Pi

F5N7T4GJ5CQE7Q2.LARGE.jpg

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

Вот список использованных мной запчастей:

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

Шаг 1: Установка ОС

F4U87XRJ5CQE7HV.LARGE.jpg

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

Вот что вам нужно сделать:

Загрузите последнюю версию ОС здесь, я установил RASPBIAN JESSIE WITH DESKTOP версию «2017-07-05», последнюю ко времени написания этой инструкции.

Шаг 2: Этчер (Etcher)

FRNPVL4J5CQE8AP.LARGE.jpg

Запишите это приложение на свою SD-карту, загрузите и установите. Его легко использовать. Запись изображения займет всего пару минут, в зависимости от мощности вашего компьютера, после этого на карте останется всего пара свободных МБ, не паникуйте, так и должно быть.

Шаг 3: Карта памяти

Вставьте SD-карту в разъем Raspberry Pi, помните – во время первичной инсталляции протокол безопасной оболочки (SSH) отключен по умолчанию, поэтому вся работа сейчас заключается в подключении монитора в разъем HDMI, вам понадобится переходник VGA-HDMI. Протокол необходимо включить, чтобы у вас был доступ к системе с других устройств, используя PuTTY-клиент, если вам понадобится отключить или перезагрузить свою PI систему.

Как только интерфейс Raspberry Pi запустился, в командной строке наберите следующую команду:

  sudo raspi-config  

После этого появится список опций, как на картинке в следующем пункте

Шаг 4: Включение протокола безопасной оболочки

Выберите #5 и в следующем выпадающем окошке выберите P2 SSH, после этого протокол безопасной оболочки будет включен.

Для установки свежей версии raspbian вы должны установить пароль root вручную (если вы не знаете дефолтного пароля), для этого в командной строке введите следующую команду:

  sudo passwd root  

Шаг 5: Root-доступ

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

Войдя как root-пользователь, введите в командной строке эту команду для обновления зависимых объектов PI:

  sudo aptitude update && sudo aptitude upgrade  

Шаг 6: Дополнительные настройки

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

  wget https://github.com/ccrisan/motioneye/wiki/precompiled/ffmpeg_3.1.1-1_armhf.deb  

После загрузки установите программу в свою PI систему. Для этого вам нужны root-привилегии (о чем я говорил в предыдущем пункте).

  dpkg -i ffmpeg_3.1.1-1_armhf.deb  

Шаг 7: Удаление лишних библиотек

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

  apt-get remove libavcodec-extra-56 libavformat56 libavresample2 libavutil54  

Шаг 8: Добавление нужных зависимостей

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

  apt-get install python-pip python-dev curl libssl-dev libcurl4-openssl-dev libjpeg-dev libx264-142 libavcodec56 libavformat56  libmysqlclient18 libswscale3 libpq5  

Шаг 9: Добавление Motioneye

Загрузите программный пакет Motioneye:

  wget https://github.com/Motion-Project/motion/releases/download/release-4.0.1/pi_jessie_motion_4.0.1-1_armhf.deb  После загрузки установите программу:  dpkg -i pi_jessie_motion_4.0.1-1_armhf.deb   pip install motioneye  

Шаг 10: Создание конфигурационной папки

Создайте конфигурационную папку:

  mkdir -p /etc/motioneye  И скопируйте файл конфигурации, на тот случай, если вам понадобится отредактировать ее:  cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf  Создайте хранилище данных:  mkdir -p /var/lib/motioneye  

Шаг 11: Создание скрипта инициализации

Создайте скрипт инициализации, добавьте его в автозапуск, чтобы он сразу запускал Motioneye:

    cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local  /etc/systemd/system/motioneye.service  systemctl daemon-reload  systemctl enable motioneye  systemctl start motioneye  

Шаг 12: Завершение установки

Установка ПО завершена, теперь у вас есть система видеонаблюдения на базе Raspberry Pi. Для доступа к конфигурации вам нужен ваш Raspberry IP-адрес. Есть два способа узнать его:

  1. Если вы еще соединены со своим Raspberry Pi, просто введите в командной строке ifconfig
  2. Или войдите в панель управления роутера и посмотрите свой Raspberry Pi IP-адрес там

Если вы нашли свой IP-адрес, введите его в своём браузере: Your-raspberry-ip-address:8765, перед вами появится форма входа пользователя в систему.

Шаг 13: Базовая установка Motioneye

Когда вы обратитесь к IP адресу Raspberry, перед вами возникнет форма авторизации, по умолчанию пользователь – admin, поле пароля оставьте пустым.

Шаг 14: Подключаем веб-камеры

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

Шаг 15: Расширенные настройки

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

Шаг 16: Уровень яркости

Функция «Автоматическая яркость» доступна только если камера ее поддерживает, одна из моих камер — 1080P A4-Tech – как раз поддерживает.

Шаг 17: Настройки захвата изображения

Настройки захвата изображения при фиксации движения.

Качество изображения: думаю не нужно объяснять, что это зависит только от вас.

Режим захвата: здесь три режима. Я пользовался только «Движение зафиксировано» — в этом режиме снимок делается при зафиксированном движении.

Хранение изображений: продолжительность хранения изображений на SD-карте.

Шаг 18: Настройки видео

Настройки записи видео такие же, как и настройки захвата изображения.

Шаг 19: Фиксация движения

Настройки фиксации движения вашей камеры наблюдения, также можно скорректировать некоторые дефолтные настройки.

Порог изменения кадра: у камеры достаточно чувствительный, моя проверка показала 5%. Камера фиксирует малейшее изменение изображения, когда я просматривал записи в журнале камеры, я нашел фото и видео записи проходящих людей.

Минимальное количество кадров движения: количество кадров, которое камера определяет как движение. Если камера фиксирует движение, она пропускает два кадра и проверяет, если это движение то же самое. Если совпадений не будет, камера начинает делать снимки и вести видео. Эти настройки определяются границей смены кадра.

Вот и все, пока!

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

Шаг 1. Суть камеры

Обычно такие скрытые камеры имеют возможность обнаружения движения, которая запускает процесс съемки каждый раз, когда что-то появляется в поле зрения. В таких камерах обычно используют 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.Win32DiskImager — используется для записи файла образа 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 используйте Win32DiskImager.
  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 кадров в секунду и 1920×1080).
  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 не занимают дефицитные USB-порты и не нагружают процессор одноплатника, как это делают внешние USB-камеры. rpi:camera-install:camera-install.1.jpg

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

  • Raspberry Pi Camera v2
  • Raspberry Pi Camera v2 NoIR
  • Камера (модель D)
  • Камера (модель M)
  • Камера (модель FPC)
  • Камера (модель IR-CUT B)
  • Камера (модель Zero)

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

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

  1. Подключите камеру через шлейф к Raspberry Pi в разъём CSI:
    1. Raspberry Camera v2
    2. Raspberry Camera v2 NoIR
    3. Камера (модель D);
    4. Камера (модель M);
    5. Камера (модель FPC);
    6. Камера (модель IR-CUT B);
    7. Камера (модель Zero).
  2. Присоедините дисплей к малинке через HDMI-разъём.
  3. Заведите Raspberry Pi.
  4. Зайдите в меню конфигурации параметров Raspberry Pi:PreferencesRaspberry Pi Configurationrpi:camera-install:camera-install.1.png
  5. Перейдите на вкладку Interfaces и переключите радиокнопку Camera в положение Enabled. rpi:camera-install:camera-install.2.png
  6. Сохраните изменения кнопкой OK и перезагрузите Raspberry Pi.

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

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

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

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

Тест камеры

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

raspistill -t 10000

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

Снимок фото

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

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

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

raspistill -t 2000 -o /home/pi/Desktop/image.jpg 

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

rpi:camera-install:camera-install.4.png

Запись видео

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

raspivid -t 60000 -o video.h264

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

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

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

Проведём эксперименты с камерой через интегрированную среду разработки Python3.

Тест камеры

  1. Запустите IDLE, войдя в главное меню и выбрав пункты ProgrammingPython 3 (IDLE)rpi:camera:python3-app-menu.png
  2. Создайте новый файл и сохраните его.

    Не сохраняйте файл под именем picamera.py — название зарезервировано для системного файла. Если файл перезаписать — камера не будет работать.

  3. Введите следующий код.
    testCamera.py
    # подключаем необходимые библиотекиfrom picamera import PiCamera fromtimeimport sleep   # создаём объект для работы с камерой camera = PiCamera()   # запускаем предпросмотр сигнала с камеры на экране поверх всех окон camera.start_preview()   # 10 секунд смотрим на экран sleep(10)   # выключаем предпросмотр camera.stop_preview()
  4. Сохраните файл комбинацией клавиш Ctrl + S и запустите его выполнение, нажав F5. На десять секунд на экране появится изображение с камеры.rpi:camera-install:camera-install.3.png

Ваша камера исправна, правильно подключена и готова к работе!

Снимок фото

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

  1. Уменьшите время ожидания следующей команды с десяти до трёх секунд. Для этого измените параметр функции sleep. Не уменьшайте его меньше двух секунд — камере необходима пауза между включением и выполнением снимка. За это время модуль автоматически скорректирует баланс белого и экспозицию.
  2. Перед последней строкой добавьте функцию camera.capture и укажите путь, по которому будет находиться наша фотография. У вас должен получиться следующий код:
    saveImage.py
    # подключаем необходимые библиотекиfrom picamera import PiCamera fromtimeimport sleep   # создаём объект для работы с камерой camera = PiCamera()   # запускаем предпросмотр сигнала с камеры на экране поверх всех окон camera.start_preview()   # даём камере три секунды на автофокусировку и установку баланса белого sleep(3)   # делаем снимок и сохраняем его на рабочий стол с именем image.jpg camera.capture('/home/pi/Desktop/image.jpg')   # выключаем режим предпросмотра camera.stop_preview()
  3. Сохраните файл и запустите его. В результате его выполнения на рабочем столе появится фотография с камеры.

rpi:camera-install:camera-install.4.png

Запись видео

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

  1. Замените функцию capture() на функции start_recording() и stop_recording() — для начала и окончания записи.
  2. Длину ролика можно задать с помощью параметра функции sleep, как мы это делали в предыдущих примерах. Но мы рекомендуем использовать метод camera.wait_recording — он отслеживает и обрабатывает ошибки записи.
    camera.py
    from picamera import PiCamera fromtimeimport sleep   camera = PiCamera()   # Запускаем предпросмотр сигнала с камеры на экране поверх всех окон camera.start_preview()   # Начинаем запись видеофайла camera.start_recording('/home/pi/Desktop/video.h264')   # Минуту пишем потоковое видео camera.wait_recording(60)   # Останавливаем запись camera.stop_recording()   # Выключаем предпросмотр camera.stop_preview()

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

Используемые источники:

  • https://masterclub.online/topic/14962-kamera-nablyudeniya-dlya-doma
  • https://arduinoplus.ru/raspberry-pi-kamera/
  • http://wiki.amperka.ru/rpi:camera-install

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации