© PXimport

Zelfbouw ip-camera in 5 stappen

Geplaatst: 31 augustus 2022 - 09:37

Aangepast: 25 november 2022 - 11:46

Redactie ID.nl

Een ip-camera hoeft niet veel te kosten. Met een Raspberry Pi Zero W en cameramodule kun je relatief eenvoudig een goede en bijzonder compacte camera maken, en daarmee bijvoorbeeld een rtsp-streamingserver opzetten. In dit artikel lees je hoe je dat doet, en hoe je de camera vervolgens in Surveillance Station op een Synology- of QNAP-nas kunt gebruiken.

Je kunt in China natuurlijk een spotgoedkope ip-camera met alles erop en eraan kopen, maar ze zijn doorgaans slecht beveiligd en lastig in te stellen. Het is niet direct goedkoper als je het zelf bouwt, maar je bent wel flexibeler en het is bovenal leuk en leerzaam. We gebruiken een Raspberry Pi Zero W (ongeveer 11 euro) samen met de officiële 8megapixel-cameramodule v2 (29,95 euro). Die beschikt over een prima Sony IMX219-sensor. Er is ook een NoIR-variant beschikbaar die een beter beeld geeft bij schemering. Als je die combineert met infrarood-leds heb je ook goede nachtbeelden (in grijswaarden). Wie wat wil besparen kan in China voordelige alternatieven vinden vanaf zo’n 8 euro. Verder heb je een micro-sd-kaart nodig voor de software en een voedingsadapter met micro-usb die bij voorkeur minimaal 1,2 ampère kan leveren.

Zelfbouw ip-camera in 5 stappen-18700024

© PXimport

01 Welke software?

Er zijn veel methodes om te streamen vanaf een Raspberry Pi Zero W. Naast de cameramodule ondersteunen de meeste methodes ook een usb-camera of webcam die je via een usb-on-the-go-kabel op de Pi Zero W aansluit. Welke methode je ook kiest: gezien de vrij beperkte processorkracht is het verstandig de bewegingsdetectie aan de videobewakingssoftware zoals Surveillance Station over te laten. Een bekende optie is motionEyeOS dat een mooie webinterface heeft voor de configuratie van de camera. Een nadeel is de relatief grote vertraging, zelfs met de optie Fast Network Camera waarmee je ook nog veel andere opties kwijt bent. Wij kiezen daarom voor het opzetten van een handmatige stream.

Zelfbouw ip-camera in 5 stappen-18700027

© PXimport

02 Installatie van Raspbian

We beginnen met de installatie van Raspbian Buster Lite. Haal de meest recente versie op. Pak het archief na het downloaden uit en gebruik balenaEtcher om het img-bestand op een micro-sd-kaartje te zetten. Voordat je de Pi opstart met het micro-sd-kaartje voeg je in de root (waar ook onder meer het bestand kernel.img staat) een tekstbestand genaamd wpa_supplicant.conf toe met onderstaande regels. Zet daarin achter ssid de naam van jouw wifi-netwerk en vul achter psk het wachtwoord in. Maak in dezelfde map een leeg bestand genaamd ssh zodat je via een shell kunt inloggen na het starten.

country=NL

update_config=1

ctrl_interface=/var/run/wpa_supplicant

network={

scan_ssid=1

ssid="jouwssid"

psk="jouwwachtwoord"

}

Nadat de Pi Zero W is gestart, kun je het ip-adres dat door de dhcp-server van je router is toegekend achterhalen via de configuratiepagina’s van de router (als het goed is). Log op dat ip-adres in via ssh met een programma als PuTTY en gebruik de standaard gebruikersnaam pi en het bijbehorende wachtwoord raspberry. Wijzig daarna bij voorkeur die inloggegevens.

Zelfbouw ip-camera in 5 stappen-18700029

© PXimport

03 De rtsp-server installeren

Zorg dat de Pi up-to-date is met de commando’s:

sudo apt-get update

sudo apt-get dist-upgrade

Met sudo raspi-config open je de configuratiepagina van de Pi. Activeer via Interfacing Options de cameramodule. De video-for-linux-kerneldriver activeer je met:

sudo modprobe bcm2835-v4l2

Controleer dat je een /dev/video0 hebt met:

sudo ls -la /dev/vid*

Installeer de tools git en cmake met:

sudo apt install git cmake

Hierna kun je met de volgende opdrachten de rtsp-server compileren en beschikbaar maken, die onder meer h.264 ondersteunt:

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

cd v4l2rtspserver

cmake .

make

sudo make install

04 De rtsp-stream starten

Je start bijvoorbeeld een stream starten vanuit de map v4l2rtspserver met:

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

Na het starten van de rtsp-server kun je eventuele foutmeldingen aflezen en een link naar de stream in de vorm rtsp://ipadres:8554/unicast. Die kun je gebruiken in bijvoorbeeld VLC player om verbinding met de camera te maken, maar ook in Surveillance Station zoals we verderop laten zien. Met de optie -U gebruiker:wachtwoord geef je een gebruiker en wachtwoord op om de stream af te schermen. De link naar de rtsp-stream krijgt in dat geval de vorm rtsp://gebruiker:wachtwoord@ipadres:8554/unicast. Netjes is dat de processorbelasting zeer beperkt blijft, de gpu doet het meeste werk.

05 Server automatisch opstarten

We willen dat de rtsp-server automatisch wordt gestart na het aanzetten van de Pi. Maak hiervoor een eenvoudig script met:

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

Hierin komen de volgende regels:

[Unit]

Description=v4l2rtspserver rtsp-server

After=network.target

[Service]

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

Type=simple

User=pi

Group=video

Restart=always

[Install]

WantedBy=multi-user.target

Controleer achter ExecStart de locatie van v4l2rtspserver. Er staan enkele opties in waarmee je kunt experimenteren (zoals vertical_flip voor rotatie van het beeld). Maak het script actief met:

sudo systemctl enable v4l2rtspserver

En start het script met:

sudo systemctl start v4l2rtspserver

Zelfbouw ip-camera in 5 stappen-18700030

© PXimport

Camerabeeld toevoegen aan Surveillance Station

Zelfbouw ip-camera in 5 stappen-18700031

© PXimport

Deel dit artikel
Voeg toe aan favorieten
ID.nl logo

ID.nl, onderdeel van Reshift BV, is in 2022 gestart en uitgegroeid tot de meest toonaangevende en complete consumentensite van Nederland. Het doel van ID.nl is om de consument te helpen met alle technologie die hoort bij het dagelijks leven: van smart-health-meters tot e-bikes, van warmtepompen tot zonnepanelen - en alles daar tussenin!

Duidelijk, betrouwbaar en onafhankelijk: ID.nl maakt moeilijke dingen makkelijk.

Contact

ID.nl

Nijverheidsweg 18

2031 CP Haarlem

info@id.nl

Telefoon: 023-5430000