Raspberry Pi als Netzwerkkamera nutzen

(Last Updated On: 24. Dezember 2015)

Hausüberwachung ist heutzutage günstiger denn je. Mit einem Raspberry Pi und etwas Grundhardware sowie einem Kamera-Modul für den Pi können Sie ganz einfach eine Netzwerkkamera bauen, die Sie über das Internet oder lokale Netzwerk ansteuern können.

Die Hardware

Zusätzlich zu der Harware, die ich Ihnen bei meinem Thread über das Einrichten des Raspberry Pi geschildert habe, brauchen Sie noch ein Kamera-Modul. Mit  diesem Exemplar können Sie nur Tagaufnahmen machen. Dieses Exemplar hingegen hat keinen infrarot-Filter und ermöglicht somit auch Nachtaufnahmen.

Wenn die Kamera im Außenbetrieb genutzt werden soll, brauchen wir ein GEhäuse für die Kamera. Dafür tut es ein Dummy, der keine echte Kamera enthatlen muss, z. B. dieser hier oder dieser hier. Der dummy muss nur genug Platz haben, damit der Raspberry Pi und ddas Kamera Modul rein passt.

Die Einrichitung

Richten Sie zuerst den Raspberry Pi, falls noch nicht geschehen, genau so ein wie in meinem Einrichtungspost geschildert.

Danach schließen Sie das Kamera-Modul über das mitgelieferte Flachbandkabel an die CSI-Schnittstelle des Raspberry Pi an. WEnn Sie as Gehäuse für den RAspberry pi gekauft haben, dass cih Ihnen empfohlen habe, ist das die Schnittstelle wo im Mittelteil des Gehäuses CAMERA steht, also die Schnittstelle gleich zwischen HDMI- und Ethernet-Port. Leider können Sie, wie Sie jetzt feststellen, das GEhäuse leide rnicht mehr it dem Deckel verschließen, zumindest nicht mehr ganz, weil das Kabel raushängt. Ziehen Sie dazu den Steckverbinder der CSI-Schnittstelle nach oben aus und stecken das Flachbandkabel mit der blauen Markierung Richtung Netzwerkanschluss zeigend ein. Drükcen Sie den Verschluss nun wieder nach unten. Ist der Raspberry Pi nun mit dem Kameramodul verbunden und per WLAN erreichbar, können Sei ihn in das Gehäuse des Kamera-Dummys einbauen. Dort bringen Sie Netzteil, Raspberry pi und Kamera-Modul unter und schruaben das Geähuse wieder zu.

Nun müssen wir in unseren Raspberry Pi erstmal umkonfigurieren

sudo raspi-config

Wählen Sie jetzt im Menü den Punkt 6 Enable Camera. Wählen Sie dann Finish und lassen Sie den raspberry Pi neu starten.

Standardmäßig leuchtet die Kamera-LED rot, wenn die KAmera aktiviert ist. Wenn Sie das vehrindern wollen, bearbeitne Sie die Datei /boot/config.txt und setzen Sie dort den Eintrag

disable_camera_led=1

Nun zeige ich Ihnen als erstes, wie Sie Bilder und Videos mit dieser Kamera aufzeichenn. Ein einzelnes Bild fertigen Sie an über

raspistill -o <Pfad zu der zu erzeugenden .jpeg-Datei>

Damit wird das Bild in dem angegebenen PFad als .jpeg-Datei gespeichert.

Sie können nun auch festlegen, dass alle X millisekunden für Y millisekunden ein Bild aufgenommen wird. Die einzlenen Bilder werden im folgenden kommando mit einer vierstelligen Zahl durchnummeriert.

raspistill -o img_%04d.jpg -tl <X Millisekunden> -t <Y Millisekunden>

Aus diesen Zeitraffer-Bildern könne Sie auch ein Video erzeugen, welches Sise sich nachher anschauen können.

ffmpeg -qscale 5 -r 4 -b 9600 -i img_%04d.jpg video.mp4

Wenn Sie also beispielsweise während ihrer Mittagspause ein Überwachungsvideo aufzeichnen wollen, welches eine Stunde bis 13:00 Uhr aufzeichnet, dann können Sie sich eine .sh-Datei schreiben, die erst alle 5 Sekunden für eine Stunde lang ein Foto schießt, und diese Bilder dann über ffmpeg zu einem Video zusammenfügen, welches Sie sich dann ansehen können. Die .sh-Datei können Sie wie schon im Grundlagenvideo zum Raspberry Pi gesehen über die /etc/crontab automatisch anstarten lassen.

Sie können aber auch gleich ein Video aufzeichnen, was sich natürlich noch besser eignet.

raspivid -o video.h264 -t <gewünschte Aufzeichnungszeit in millisekunden>

Dies zeichent ein Vidoe in der Auflösung 1920×1080 auf. Sie können die Auflösung mit den PAramtern -w (breite) und -h (Höhe) runterschrauben, um kleinere DAteien zu bekommen.

Die .h264-Datei können Sie auch in eine .mp4-Datei umwandeln.

sudo apt-get update
sudo apt-get install gpa

Umwandeln dann über

MP4Box -fps 30 -add video.h264 video.mp4

Aber mal ganz ehrlich, wenn wir einfach nur über die Kamera Videos aufzeichnen wollen würden, wären wir ja schön blöd, oder? Wir wollen live mitverfolgen, was gerade vor unserer Haustür passiert. Deswegen werden wir im folgenden einstellen, dass einfach regelmäßig alle paar Sekunden Bilder geschossen werden, aber immer, sobald die Kamera eine Bewegung erkennt, ein vollständiges Video von der bewegung aufgezeichnet wird. Zusätzlich richten wir einen Livestream ein, von dem wir uns über das Internet aufschalten und somit die Bilder der Kamera verfolgen können. als erstes installieren wir mal eine motion detection software auf unserem Raspberry Pi.

sudo apt-get install motion

Die aktuelle Version dieser Software unterstüzzt nativ noch nicht das Kameramodul des Raspberry pi, deswegen müssen wir uns ein paar Bibliotheken runterladen und anschließend einen speziellen Build von motion herunterladen und installieren.

sudo apt-get install -y libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev

Den Build gibt es dann unter https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz. Der Download wird aus dem Raspberry Pi Forum zur Verfügung gestellt. Mit wget kann die .tar.gz-Datei direkt runtergeladen werden.

Jetzt entpakcen wir den motion Build und aktualisieren die bereits getätigte Grundinstallation mit dem modifzierten Build

tar zxvf motion-mmal.tar.gz
sudo mv motion /usr/bin/motion
sudo mv motion-mmalcam.conf /etc/motion.conf

Jeztt stellen wir noch ein, dass der motion deamon immer automatishc startet, wennwir das System neu booten.

sudo i /etc/default/motion

Dort setzen wir den Eintarg

start_motion_daemon=yes

Und dann bearbeiten wir noch die Datei /etc/motion.conf

daemon on
logfile /home/motion/motion.log
width 1280
height 720
framerate <wert>
pre_capture 5
post_capture 5
max_mpeg_time 600
ffmpeg_video_codec msmpeg4
target_dir <Ordner wo die Dateien gespeichert werden sollen>
stream_localhost off
stream_auth_method 2
stream_authentication <username>:<passwort>
stream_port <port>

Den WErt für die Framerate könnt ihr selber festlegen. Er legt die Framerate fest, in der dauerhaft aufgezeichnet wird. Wenn ihr ein flüssiges Video braucht, müsst ihr 30 Frames pro Sekunde einstellen – da sbraucht allerdings jede Menge speicherplatz. Eventuell reicht es euch, wenn einfach zwie Bilder pro Sekunde geschossen werden, dann tragt ihr eine 2 ein. so spart ihr jede Menge Speicherplatz. Denn mit unseren Einstellungen pre_capture und post_capure haben wir ohnehin festgelegt, dass 5 Frames vor und 5 Frames nach der erkannten bewegung damit begonnen werden soll, ein Video aufzuzeichnen. mit der Option max_mpeg_time legen wir fest, dass maximal 10 Minuten Video, an einem Stück vom Bewegunssensor aufgezeichnet werden können, dann wird die Datei von vorne beginnen neu beschrieben. Die Videos werden als MP4 Video erstellt und in den Ordner gespeichert den wir mit der Option target_dir festgelegt haben.

für den neu erstellen Benutzer motion machen wir einen Ordner

mkdir /home/motion

Nun müssen wir dem neu angelegten Benutzer motion die notwendigen DAteiberechitgungen geben

sudo chown motion.users /home/motion
sudo chmod 664 /etc/motion.conf
sudo chmod 755 /usr/bin/motion
sudo touch /home/motion/&motion.log
sudo chmod 755 /home/motion/motion.log

Jetzt starten wir den raspberry pi neu über

sudo reboot

Wenn nach dem Reboot motion noch nicht neu startet, liegt es vielleicht daran, dass ihr einen Windows Shared Folder als target_dir angegeben habt und der Ordner noch nicht fertig gemountet ist, wenn motion schon auf ihn zugreifen will. bearbeitet in diesem Fall einfach die /etc/init.d/motion und fügt an geeigneter Stelle eine Zeile mit

sleep 50

hinzu, damit das Skript ein wenig wartet, bis der Windows Folder gemountet ist, bevor motion gestartet wird.

Nun könnt ihr über den Browser oder den VLC media Player jederzeit auf den Livestream der Kamera zugreifen über http://<IP oder Hostname Raspberry pi>:<stream_port>

Mobile Kamera auf Staubsaugerroboter

wenn Sie einen Staubsaugerroboter wie beispielsweise ienen Roomba 620 haben, können Sie einen Raspberry Pi samt Kameramodul mit Panzertape oder einer anderen Befestigungsmöglichkeit oben befestigen. Den Strom bekommt der raspberry pi dann nicht mehr von einem Netzteil, welches an eine Steckdose angeschlossen werden muss, sondern stattdessen über ein Batteriepack. Wenn Sie nun die Kamera wie oben geschildert einrichten und die Uhr Ihres Roomba-Staubsaugers entsprechend einstellen, können Sie vom Büro aus mit der Kamera auf dem Staubsauger mit durchs Haus fahren.

 

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren...

Kommentar verfassen

This site uses Akismet to reduce spam. Learn how your comment data is processed.