Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
denis4inet
5 лет назад

Система видеонаблюдения для дома на основе OrangePI и motioneye

Подготовка одноплатного компьютера


После того, как я перепробовал несколько возможных открытых решений для домашнего видеонаблюдения, я остановился на связке motion и пользовательским интерфейсом motioneye.
На мой одноплатный компьютер OrangePI PC был установлена Ubuntu 18.04 для ARMv7 с ядром версии 4.19.

После утсановки Ubuntu, логинимся через SSH root@<OrgangePI_IP>, пароль 1234. Задаем новый пароль. Установливаем необходимы софт.

Установка motion и motioneye

apt-get install motion ffmpeg v4l-utils python-pip python-dev curl libssl-dev libcurl4-openssl-dev libjpeg-dev setuptools python-setuptools zlib1g-dev
pip install motioneye
mkdir -p /etc/motioneye
cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf
mkdir -p /var/lib/motioneye
cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service
systemctl restart motioneye

Подключаемся к WiFi сети, если есть необходимость:

nmcli device wifi connect "ваш SSID" password "ваш пароль"

После этого заходим на адрес WEB интерфейса motioneye (http://OrangePI_IP:8765) и настраиваем подключенные USB WEB-камеры. Необходим настроить по каким события начинать запись, в каком разрешении снимать, каким кодеком сжимать.

motioeye setup

Получение доступа к системе из Интернет

Далее, настроим доступ к WEB интерфейсу из Интернет. Для этого воспользуемся сервисом serveo.net. Это не самый безопасный способ получить доступ к камере, но самый быстрый.
Для начала создадим сервис /etc/systemd/system/ssh-tunnel@.service со следующим содержимым:

[Unitt]
Description=Setup a secure tunnel to %I
After=network.target

[Service]
EnvironmentFile=/etc/default/ssh-tunnel@%i.env
ExecStart=/usr/bin/ssh -NT -oStrictHostKeyChecking=no -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -R ${REMOTE_ADDR}:${REMOTE_PORT}:${LOCAL_ADDR}:${LOCAL_PORT} ${TARGET}
RestartSec=5
Restart=always

[Install]
WantedBy=multi-user.target

Потом создадим конфигурацию для сервиса /etc/default/ssh-tunnel@motioneye.env со следующим содержимым:

LOCAL_ADDR=localhost
LOCAL_PORT=8765
REMOTE_ADDR=homemotioneye1234
REMOTE_PORT=80
TARGET=serveo.net

Включаем и запускаем сервис:

systemctl daemon-reload
systemctl enable ssh-tunnel@motioneye
systemctl start ssh-tunnel@motioneye

Если все пошло по плану, то зайдя на https://homemotioneye1234.serveo.net/, у вас отобразится WEB интерфейс вашей системы видеонаблюдения. Конечно, homemotioneye1234 замените на что-то свое оригинальное, и установите пароль для администратора и наблюдателя. Иначе любой желающий сможет получить доступ к вашей камере. Впрочем, если кто-то захочет, то сможет подобрать момент, когда ваш ssh клиент отключится от serveo.net, заменит его на фейковый интерфейс и получит ваш пароль. В общем, имейте ввиду, что это не самый безопасный способ :).

Что делать дальше?

У меня появляются мысли настроить оповещение через телеграм, но боюсь, что это будет генерировать слишком много событий и нотификацйи на моем телефоне. Из коробки motion поддерживает отправку Email и webhooks, но пока еще не придумал, как эти возможности использовать оптимальным образом.

40
0.317 GOLOS
На Golos с October 2016
Комментарии (0)
Сортировать по:
Сначала старые