Направи си сам IP камера в 5 стъпки

IP камерата не трябва да струва много. С Raspberry Pi Zero W и модула на камерата можете сравнително лесно да създадете добра и особено компактна камера и да я използвате, за да настроите сървър за поточно предаване rtsp например. Тази статия обяснява как да направите това и след това как да използвате камерата в Surveillance Station на Synology или QNAP NAS.

Разбира се, можете да си купите евтина IP камера с всички облицовки в Китай, но те обикновено са лошо обезопасени и трудни за настройка. Не е веднага по-евтино, ако го изградите сами, но сте по-гъвкави и е преди всичко забавно и образователно. Използваме Raspberry Pi Zero W (около 11 евро) заедно с официалния 8-мегапикселов модул за камера v2 (29,95 евро). Притежава фин сензор Sony IMX219. Предлага се и вариант NoIR, който осигурява по-добра картина при здрач. Ако го комбинирате с инфрачервени светодиоди, имате и добри нощни изображения (в сива скала). Тези, които искат да спестят малко, могат да намерят достъпни алтернативи в Китай от около 8 евро. Също така се нуждаете от micro-sd карта за софтуера и захранващ адаптер с micro-usb, който за предпочитане може да захрани поне 1,2 ампера.

01 Кой софтуер?

Има много методи за поточно предаване от Raspberry Pi Zero W. В допълнение към модула на камерата, повечето методи поддържат и USB камера или уеб камера, които свързвате с Pi Zero W чрез USB-в движение кабел. Който и метод да изберете: като се има предвид доста ограничената мощност на обработка, разумно е да оставите откриването на движение на софтуера за видеонаблюдение като Surveillance Station. Добре известна опция е motionEyeOS, която има приятен уеб интерфейс за конфигуриране на камерата. Недостатък е относително голямото забавяне, дори и с опцията Fast Network Camera , с която също губите много други опции. Следователно ние избираме да настроим ръчен поток.

02 Инсталиране на Raspbian

Започваме с инсталирането на Raspbian Buster Lite. Вземете най-новата версия. Разархивирайте архива след изтегляне и използвайте balenaEtcher, за да поставите img файла на micro-sd карта. Преди да заредите Pi с micro-sd картата, добавете текстов файл, наречен wpa_supplicant.conf в корена (който също съдържа файла kernel.img ) с редовете по-долу. Въведете името на вашата WiFi мрежа зад ssid и въведете паролата зад psk . В същата директория създайте празен файл, наречен ssh, за да можете да влизате чрез черупка след стартиране.

държава = NL

update_config = 1

ctrl_interface = / var / run / wpa_supplicant

мрежа = {

scan_ssid = 1

ssid = "yourssid"

psk = "вашата парола"

}

След като Pi Zero W стартира, можете да разберете IP адреса, присвоен от dhcp сървъра на вашия рутер от страниците за конфигуриране на рутера (трябва да е наред). Влезте в този ip адрес чрез ssh с програма като PuTTY и използвайте потребителското име по подразбиране pi и съответната малина за парола . След това за предпочитане променете тези данни за вход.

03 Инсталиране на rtsp сървър

Уверете се, че Pi е актуален с командите:

sudo apt-get update

sudo apt-get dist-upgrade

Със sudo raspi-config отваряте страницата за конфигурация на Pi. Активирайте модула на камерата чрез Interfacing Options . Активирате драйвера за видео-за-Linux-ядро с:

sudo modprobe bcm2835-v4l2

Проверете дали имате / dev / video0 с:

sudo ls -la / dev / vid *

Инсталирайте инструментите git и cmake с:

sudo apt инсталирайте git cmake

След това можете да компилирате и предоставите на разположение rtsp сървъра със следните команди, които поддържа h.264, наред с други:

git clone //github.com/mpromonet/v4l2rtspserver.git

cd v4l2rtspserver

cmake.

направи

sudo make install

04 Стартиране на потока rtsp

Например стартирате поток от папката v4l2rtspserver с:

./v4l2rtspserver -F 10 -W 1920 -H 1080

След стартиране на rtsp сървъра можете да прочетете всички съобщения за грешки и връзка към потока във формата rtsp: // ipaddress: 8554 / unicast . Можете да го използвате например във VLC плейър за свързване с камерата, но също и в Surveillance Station, както ще покажем по-долу. С опцията -U потребител: парола въвеждате потребител и парола, за да защитите потока. След това връзката към потока rtsp ще приеме формата rtsp: // user: password @ ipaddress: 8554 / unicast . Чудесно е, че натоварването на процесора остава много ограничено, GPU върши голяма част от работата.

05 Автоматично стартиране на сървъра

Искаме rtsp сървърът да се стартира автоматично след включване на Pi. За да направите това, създайте прост скрипт с:

sudo nano /etc/systemd/system/v4l2rtspserver.service

Това ще съдържа следните правила:

[Мерна единица]

Описание = v4l2rtspserver rtsp сървър

След = network.target

[Обслужване]

ExecStartPre = / usr / bin / v4l2-ctl --set-ctrl vertical_flip = 1

ExecStartPre = / usr / bin / v4l2-ctl --set-ctrl h264_i_frame_period = 5

ExecStart = / home / pi / v4l2rtspserver / v4l2rtspserver -F 10 -W 1280 -H 720

ExecReload = / bin / kill -HUP $ MAINPID

Тип = просто

Потребител = pi

Група = видео

Рестартиране = винаги

[Инсталирай]

WantedBy = multi-user.target

След ExecStart проверете местоположението на v4l2rtspserver. Има някои опции, с които можете да експериментирате (като например вертикално_обръщане за завъртане на изображението). Направете скрипта активен с:

sudo systemctl активира v4l2rtspserver

И стартирайте скрипта с:

sudo systemctl стартира v4l2rtspserver

Добавете изображение от камерата към Surveillance Station

Можете лесно да използвате изображението на камерата в Surveillance Station, като ръчно посочите камера. С този софтуер забавянето на изображението изглежда доста ограничено. Докато при VLC плейъра това е около две секунди, закъснението в Surveillance Station е само около една секунда. Това изглежда доста, но много други методи за стрийминг от Raspberry Pi често имат още по-голямо закъснение от четири секунди или повече.