Zum Inhalt springen

Webcam mit Raspery Pi

  • von

Der folgende Beitrag beschreibt die Einrichtung eines Raspery Pi mit einer Webcam, der minütlich ein Bild in eine Cloud (hier Nextcloud) hochlädt, von der aus das Bild dann in eine Internetseite eingebunden wird.
Das Bild wird dabei auf der Webcam, hier dem Raspery Pi, bereits passend zurechtgeschnitten und mit einem Datum versehen.

Ausgangspunkt der Anleitung ein ein Raspery Pi, mit eingerichteter funktionierender Kamera.

Zuerst bringen wir das System auf den aktuellen Stand

# apt update
# apt dist-upgrade

Kernstück der Webcam ist das folgende Skript nimmt die Fotos auf und bearbeitet sie entsprechend nach. Jede funktionale Zeile in dem Skript wird dabei in der folgenden Zeile durch einen Kommentar erklärt.

#!/bin/bash
/usr/bin/raspistill -o /home/pi/bad-berleburg-cam1.jpeg
# Aufnahme des Bildes, speichern unter /home/pi/bad-berleburg-cam1.jpeg -o steht hier für Output
/usr/bin/convert -shave 300x700 /home/pi/bad-berleburg-cam1.jpeg /home/pi/bad-berleburg-cam1-klein.jpeg
# Das Bild wird auf die Größe 300x700 beschnitten und in die Datei bad-berleburg-cam1-klein.jpeg geschrieben
/usr/bin/convert -pointsize 45 -fill green -draw "text 2070,50 \"Datum: `date +'%Y.%m.%d Zeit: %H:%M'`\"" /home/pi/bad-berleburg-cam1-klein.jpeg /home/pi/ownCloud/bad-berleburg-cam1-datum.jpeg
# Es wird eine grüne Fläche bei den folgenden Bildkoordinaten erzeugt, darauf wird "Datum:" geschrieben, daran wird das Datum eingefügt, die Parameter hinter dem 
# Datenbefehl geben das Format vor. Es wird wieder eine neue Datei erzeugt, welche nun das Bild enthält und in das Verzeichnis geschrieben der Cloud geschrieben.

In diesem Beispiel wird das Bild in die Nextcloud hochgeladen und dann dort via Freigabe über einen Link in die Homepage eingebunden. Da die älteren Fassungen mit jeweils der aktuellen Fassung der Datei überschrieben werden, bleibt der Link jeweils aktuell.

Wichtig: Achtet bei der Ausrichtung der Kamera darauf, dass die Persönlichkeitsrechte von Menschen die zufällig in das Bild geraten könnten nicht verletzt werden, z.B. durch Unschärfen im Bild, bzw. die entsprechende Auswahl des Bildbereiches.

Eine alternative Methode die Datei hochzuladen wäre rsync.

#/usr/bin/rsync --progress /home/pi/ownCloud/bad-berleburg-cam1-datum.jpeg Benutzername@server.tld:/Verzeichnis

Damit rsync nicht jedes Mal erst ein Passwort erfragen muss, und der Upload automatisch läuft, hinterlegt man am einfachsten entsprechend die ssh-Keys. Am einfachsten funktioniert dies via ssh-copy-id.

Ebenso ist es möglich die Dateien via Davfs zu verteilen.

Das Ergebnis der Arbeit ist hier zu sehen. Es ist als normales Bild mit der Option „externe URL“ eingefügt. Die externe URL ist hierbei der Freigabelink der Cloud, alternativ ein Link auf den Ort, an den rsync die Datei hochlädt.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert