motioneyeos – Bilder zum openmediavault per SFTP hochladen

motioneyeos - SFTP einrichten

Hier im Blog habe ich bereits ein paar Beiträge über „motioneyeos“ geschrieben. Mit diesem Betriebssystem und einem Raspberry Pi lässt sich sehr einfach eine Überwachungskamera ohne großen Aufwand basteln (klicke

Raspberry Pi – Kamerafehler

Ich habe eine Kamera an einen Raspberry Pi Zero angeschlossen und wollte mit dem Befehl ein Bild erstellen:

sudo raspistill -o image.jpg

Anstatt eines Bilds habe ich den folgenden Fehler erhalten.

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

Mit dem Befehl könnt ihr prüfen, ob die Kamera korrekt erkannt wurde:

vcgencmd get_camera


Wird supported=1 detected=1 ausgegeben, hat der Pi die Kamera erkannt.


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.org


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Die Firmware des Pis aktualisiert ihr mit dem Befehl:

sudo rpi-udpate

Erhaltet ihr die nach wie vor die obige Fehlermeldung, ist der Raspberry für die Benutzung einer Kamera korrekt konfiguriert handelt sich dann mit sehr, sehr hoher Wahrscheinlichkeit um einen Hardwaredefekt der angeschlossenen Kamera. Um ganz sicher zu gehen, solltet ihr die Verkabelung und die Kontakte noch einmal prüfen.
Erhaltet ihr dann immer noch den gleichen Fehler, tauscht die Kamera aus.

Bildquelle: Gemeinfrei-ähnlich freigegeben durch unsplash.comTobias Tullius

Überwachngskamera mit Raspberry Pi und Motion

Photo by Tobias Tullius on Unsplash

Hier im Blog habe ich ja bereits mehrere Artikel zum Raspberry Pi und Motion geschrieben. Das Ziel war immer eine Überwachungskamera mit dem Pi zu bauen.
(:arrow: alle Artikel n)

Nach wie vor ist für diesen Zweck am besten motioneyeos geeignet. ( zum Blog-Beitrag ➡ motioneyeos – Überwachungskamera mit dem Raspberry ganz einfach.

Jedoch gibt es auch Einsatzzwecke bei denen man mehr Funktionalitäten des Betriebssystems nutzen möchte / muss. Bei motioneyeos ist das leider nicht möglich, weshalb ich bei einem meiner Projekte auf Raspbian Stretch Lite setze.

Das erfordert natürlich die manuelle Installation und Konfiguration von Motion. Zu Glück sind endlich V4L (Video4Linux) in Raspbian enthalten und das umständliche Installieren dieser Treiber ist nicht mehr erforderlich. 🙂

Die Installation ist dadurch sehr einfach geworden und erfordert keine großen Konfigurationen mehr.
Bevor es aber losgeht ist das Kamera Modul unbedingt zu aktivieren.

sudo raspi-config

Kamera aktivieren
Kamera aktivieren
Kamera aktivieren
Kamera aktivieren

Die Funktionsfähigkeit der Kamera, kann noch schnell über die Konsole geprüft werden, bevor es weitergeht.

raspistill -o test.jpg

Nun ist Motion darn. Mit dem folgenden Befehl wird es auf dem Pi installiert.

sudo aptitude install motion


Die abhängigen Pakete werden automatisch mit installiert.

Soll Motion beim Booten des Pi automatisch gestartet werden, muss das in der Datei /etc/default/motion eingestellt werden.
Der Wert ist von „no“ auf „yes“ zu ändern

# set to 'yes' to enable the motion daemon
start_motion_daemon=no

# set to 'yes' to enable the motion daemon
start_motion_daemon=yes

Ist der Schalter „start_motion_deamon“ weiterhin auf „no“ wird beim manuellen Starten von Motion ein Hinweis ausgegeben:

Not starting motion daemon, disabled via /etc/default/motion ... (warning).

Im nächsten Schritt sollte die Standardkonfigurationsdatei von Motion im Verzeichnis /etc/motion/motion.conf angepasst werden.

sudo nano /etc/motion/motion.conf

Wichtig zu ändern sind insbesondere die folgenden Einstellungen:

# Start in daemon (background) mode and release terminal (default: off)
daemon on

# Image width (pixels). Valid range: Camera dependent, default: 352
width 1920

# Image height (pixels). Valid range: Camera dependent, default: 288
height 1080

# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
target_dir /home/pi/Pics

Das target_dir habe ich geändert auf einen neu angelegten Ordner im Verzeichnis des Benutzers „pi„. Der Name des Ordners ist unerheblich. Zudem kann der Ordner auch auf einem NAS liegen und über fstab beim Starten des Pis gemountet werden. Hier im Blog habe ich das schon ein paar mal beschrieben
https://strobelstefan.de/?s=fstab.
Die Auflösung euerer Kamera müsst ihr prüfen und bei width und heigth eintragen.

Und zum Testen der Kamera und zur Feinjustierung ist es vielleicht ganz hilfreich auch den Stream zu aktivieren:

# The mini-http server listens to this port for requests (default: 0 = disabled)
stream_port 8081

# Restrict stream connections to localhost only (default: on)
stream_localhost off

Auf der Seite von Kenneth Lavrsen sind alle weiteren Einstellungen aufgelistet und beschrieben. ➡ http://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions

Anschließend aktiviert man noch den V4L-Treiber für das Kamera-Modul auf dem Pi und lässt diesen auch bei jedem Neustart mitladen.

sudo modprobe v4l2_common
sudo modprobe bcm2835-v4l2
echo "v4l2_common" | sudo tee -a /etc/modules
echo "bcm2835-v4l2" | sudo tee -a /etc/modules

Das wars! 😎

Motion wird über die folgenden Befehle gesteuert

sudo service motion start
sudo service motion restart
sudo service motion stopp

Die verwendeten Systemressourcen für Motion lassen sich z.B. über das kleine Programm „htop“ sehr gut abfragen.

Motion - Systemressourcen
Motion – Systemressourcen


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.org


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Photo by Tobias Tullius on Unsplash

MotionPiOS – Kamerakachelübersicht

HTML - Kamerübersicht für Motion

Wer mehrere Raspberry Kameras sein Eigen nennt, möchte vielleicht alle in einer Kachelübersicht in seinem bevorzugten Browser anschauen.

Der hier dargestellte Code ist ein Beispiel, wie so etwas aussehen könnte.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
  "http://www.w3.org/TR/html4/frameset.dtd">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Kamera - Kachelübersicht</title>
	
<style>
    #wrap { width: 780px; height: 450px; padding: 0; overflow: hidden; }
    #frame { width: 1920px; height: 1080px; border: 1px solid black; }
    #frame {
        -ms-zoom: 1.0;
        -moz-transform: scale(0.5);
        -moz-transform-origin: 0 0;
        -o-transform: scale(1.0);
        -o-transform-origin: 0 0;
        -webkit-transform: scale(0.4);
        -webkit-transform-origin: 0 0;
    }
</style>	
	
  </head>

<table>
<tr>
	<td>
		<h3>Kamera 1</h3>
		<div id="wrap">
			<iframe id="frame" src="http://192.168.2.2:8081" allowfullscreen="" frameborder="0"  scrolling="no" align="centre">
			</iframe>                
		</div>
	</td>
	<td>
		<h3>Kamera 2</h3>
		<div id="wrap">
			<iframe id="frame" src="http://192.168.2.3:8081" allowfullscreen="" frameborder="0"  scrolling="no" align="centre">
			</iframe>                
		</div>
	</td>
</tr>
<tr>
	<td>
		<h3>Kamera 3</h3>
		<div id="wrap">
			<iframe id="frame" src="http://192.168.2.3:8081" allowfullscreen="" frameborder="0"  scrolling="no" align="centre">
			</iframe>                
		</div>
	</td>
	<td>
		<h3>&Uuml;bersicht Kameras - View</h3>
		<ul>
			<li>Kamera 1 - 192.168.178.37</li>
			<li>Kamera 2 - 192.168.178.26</li>
			<li>Kamera 3 - 192.168.178.38</li>
		</ul>
		
		<h3>&Uuml;bersicht Kameras - Admin</h3>
		<ul>
			<li>Kamera 1</li>
			<li>Kamera 2</li>
			<li>Kamera 3</li>
		</ul>
	</td>
</tr>
</table>

</html>


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.org


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Rote LED am Kamera-Modul deaktivieren

Die rote LED, die standardmäßig aktiviert ist, kann über einen sehr einfachen Hack deaktiviert werden.

sudo nano /boot/config.txt

Die LED lässt sich deaktivieren, indem der Eintrag von o auf 1 gesetzt wird.

#Deaktiviert die LED des Kamera-Moduls
disable_camera_led=1

LED deaktivieren
LED deaktivieren

Raspberry Pi Kamera-Modul mit Motion als kleine Überwachungskamera

Seit kurzem bin ich stolzer Besitzer eines Raspberry Pi NoIR Kamera-Modul und einem dazu passenden Case. Für die Infrarotkamera habe ich mich entschieden, da ich irgendwann einmal damit Nachtaufnahmen machen möchte.
Alle Informatinen zur Kamera findet ihr auf der Raspberry Pi Website unter dem Tag Pi NoIR oder ihr klickt auf diesen Link
http://www.raspberrypi.org/tag/pi-noir/.

Die neue Kamera wird bei mir aktuell als kleine Überwachungskamera zusammen mit dem Programm Motion eingesetzt.

Vorbereitung

Bevor überhaupt die Kamera und das Programm Motion konfiguriert werden können, ist die Kamera am Raspberry Pi anzuschließen und zu aktivieren.

Eine Videoanleitung zeigt wie das Kamera-Modul am Raspberry zu befestigen ist.
https://www.youtube.com/watch?v=GImeVqHQzsE

Nachdem die Kamera mit dem Pi verbunden ist, schließt ihr den Mini-Computer an einem Bildschirm an und startet das Gerät. Die Kamera ist noch zu aktivieren, wechselt dazu auf die Konsole und gebt den Befehl ein.

sudo raspi-config


Das ruft die Anfangskonfiguration auf, wo ihr über das Setupmenü das Kamera-Modul aktivieren, enablen, könnt.
Die Kamera ist nun voll funktionsfähig und kann getestet werden.

Test der Kamera

Wurde die Kamera aktiviert ist sie sofort einsatzbereit und kann mit Befehle über die Konsole getestet werden.

raspistill -o test.jpg


Das -o definiert den Speicherort bzw. den Dateinamen des aufgenommenen Bildes.

Foto mit Kamera aufnehmen
Foto mit Kamera aufnehmen

Weitere Kommandos zum Aufnehmen von Fotos sind z.B.

Zeitraffer-Aufnahmen

Mit dem Befehl lassen sich über einen definierten Zeitraum in bestimmten Zeitabständen Bilder aufnehmen:

raspistill -o img_%04d.jpg -tl 5000 -t 36000


Das Kommando ist aus mehreren einzel Befehlen zusammengesetzt

  • Das -o ist bereits vom ersten Befehl bekannt und definiert den Speicherort bzw. den Dateinamen des aufgenommenen Bildes.
  • raspistill img_%04d.jpg benennt die aufgenommenen Bilder fortlaufend als 4-stellige Zahl.
  • 5000 definiert die Zeitabstände zum Aufnehmen der Fotos, alle 5 Sekunden wird ein Bild erstellt.
  • 36000 definiert die Zeitdauer, wie lange alle 5 Sekunden ein Bild aufgenommen wird.

Zeitraffer-Aufnahmen als Video

Die Zeitraffer-Aufnahmen stellen eine Vielzahl an einzelnen Bildern dar, die auch in ein Video zusammengeführt werden können. Dafür verwendet ihr den Befehl, um den Film video.mp4 zu erstellen.

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

Installation und Konfiguration von Motion

Wird die Kamera zur Überwachung verwendet, soll sie nur Bilder erstellen, wenn sich im Erfassungsbereich etwas bewegt. Motion erstellt zusätzlich aus den aufgenommenen Bildern ein Video und speichert diese in einem definierten Verzeichnis ab.
Hier ist zwingend zu beachten, dass die Version von Motion aus den Repositories nicht verwendet werden kann. Das dort enthaltenen Paket erkennt das Kamera-Modul nicht und bringt den Feher /dev/video0. device or directory not found.

Zuvor sind jedoch einige Pakete mit denen Abhängigkeiten bestehen zu installieren.

sudo apt-get install ffmpeg libav-tools libavcodec53 libavdevice53 libavfilter2 libavformat53 libavutil51 libdc1394-22 libdirac-encoder0 libgsm1 libmp3lame0 libmysqlclient18 libopencv-core2.3 libopencv-imgproc2.3 libpostproc52 libpq5 libraw1394-11 libschroedinger-1.0-0 libspeex1 libswscale2 libtheora0 libva1 libvpx1 libx264-123 libxvidcore4 mysql-common libjpeg62 screen

Nach der erfolgreichen Installation der Pakete ist Motion an der Reihe. Die angepasste Version wurde auf Dropbox bereitgestellt und kann von dort heruntergeladen und anschließend installiert werden.

wget https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz
tar zxvf motion-mmal.tar.gz
sudo mv motion /usr/local/bin/

Achtung!
Bei mir hat kürzlich der Dropbox-Link nicht mehr funktioniert. Eine weitere Downloadmögliochkeit bietet dieser Link:
https://www.dropbox.com/s/0gzxtkxhvwgfocs/motion-mmal.tar.gz

Erstellt noch einige Ordner, damit Motion die Bilder bzw. Videos dort ablegen kann.

mkdir /home/pi/motion
mkdir /home/pi/motion/video
sudo mv motion-mmalcam.conf /home/pi/motion/motion-mmalcam.conf
cd motion


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.org


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Einige Anpassungen der Config-Datei sind vor dem ersten Starten von Motion noch erforderlich.
Öffnet die Konfigurationsdatei mit dem Editor nano und passt folgende an:

nano /home/pi/motion/motion-mmalcam.conf

  • Speicherort der Log-Files:
    logfile /home/pi/motion/motion.log

  • Log-File - Speicherort
    Log-File – Speicherort

    Den Inhalt der Log-Datei könnt ihr euch mit dem Befehl anzeigen lassen:

    cat motion.log

  • Speicherort der aufgenommenen Videos

    target_dir /home/pi/motion/video

  • target_dir
    target_dir
  • output_pictures off

  • output_pictures
    output_pictures
  • Anzahl Bilder pro Sekunde

    framerate 4

  • framerate
    framerate

    Jetzt können wir Motion mit dem Befehl starten

    sudo motion -c /home/pi/motion/motion-mmalcam.conf


    Die Bilder werden im Ordner video als ein Film im avi-Format abgespeichert.

    Möchte man Motion bei jedem Start des Pi ebenfalls mitstarten, wird ein chron-Job dafür benötigt.

    crontab -e


    Am Ende der Datei fügt ihr den Eintrag hinzu:

    @reboot screen -S Motion -dmS sudo motion -c /home/pi/motion/motion-mmalcam.conf

    Motion bietet euch auch die Möglichkeit die Bilder der Kamera auf euern PC oder euer Smartphone zu streamen. Ihr benötigt dafür lediglich ➡ https://www.videolan.org/. Als Netzwerkadresse gebt ihr ein

    http://ip-adresse-des-pi:8081


    Streaming
    Streaming

    Netzwerkadresse
    Netzwerkadresse

    Möchtet ihr Motion stoppen, genügt der Befehl:

    screen -S Motion -X quit

    Weitere Beiträge zu Raspberry Pi und Überwachungskamera hier im Blog

    Möchtet ihr eine Überwachungskamera mit einem Raspberry Pi installieren, solltet ihr euch die folgenden beiden Beiträge anschauen. Eine sehr einfache Möglichkeit ist die Verwendung eines Raspberry Pi Zero und motioneyeos.

    motioneyeos – Überwachungskamera mit dem Raspberry ganz einfach
    motioneyeos in VLC anschauen

    Bildquelle: Gemeinfrei-ähnlich freigegeben durch unsplash.comTobias Tullius