{"id":6766,"date":"2020-08-14T18:17:14","date_gmt":"2020-08-14T16:17:14","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=6766"},"modified":"2020-08-14T18:17:16","modified_gmt":"2020-08-14T16:17:16","slug":"kamera-mit-dem-raspberry-pi-nutzen","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/kamera-mit-dem-raspberry-pi-nutzen\/","title":{"rendered":"Kamera mit dem Raspberry Pi nutzen"},"content":{"rendered":"<p>An den Raspberry Pi kann eine Kamera angeschlossen werden. Hierf\u00fcr steht eine entsprechend beschriftete Schnittstelle auf dem Board bereit. <\/p>\n<h2 class=\"wp-block-heading\">Kamera aktivieren<\/h2>\n<p>Standardm\u00e4\u00dfig ist die Kamera deaktiviert. Sie kann \u00fcber das Raspberry-Konfigurationswerkzeug aktiviert werden:<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsudo raspi-config\n<\/pre>\n<\/div>\n<p>Die Einstellung befindet sich im Punkt <em>Interface Options<\/em><\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"973\" height=\"296\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2020\/05\/MobaXterm_2020-05-12_16-48-13.png\" alt=\"\" class=\"wp-image-6767\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2020\/05\/MobaXterm_2020-05-12_16-48-13.png 973w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2020\/05\/MobaXterm_2020-05-12_16-48-13-300x91.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2020\/05\/MobaXterm_2020-05-12_16-48-13-768x234.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2020\/05\/MobaXterm_2020-05-12_16-48-13-70x21.png 70w\" sizes=\"auto, (max-width: 973px) 100vw, 973px\" \/><\/figure>\n<p>Hier w\u00e4hlt man<em><strong> <\/strong><\/em><strong>P1 Camera<\/strong> aus und best\u00e4tigt mit Enter sowie<strong><em> <\/em><\/strong><em>Yes<\/em>. Damit der Kamerazugriff funktioniert, ist ein Neustart (Befehl <em>reboot<\/em>) notwendig.<\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"970\" height=\"84\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2020\/05\/MobaXterm_2020-05-12_16-48-26.png\" alt=\"\" class=\"wp-image-6768\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2020\/05\/MobaXterm_2020-05-12_16-48-26.png 970w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2020\/05\/MobaXterm_2020-05-12_16-48-26-300x26.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2020\/05\/MobaXterm_2020-05-12_16-48-26-768x67.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2020\/05\/MobaXterm_2020-05-12_16-48-26-70x6.png 70w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><\/figure>\n<h2 class=\"wp-block-heading\">Testaufnahme eines Bildes<\/h2>\n<p>Mit dem Werkzeug <em>raspistill<\/em> k\u00f6nnen wir ein Standbild anfertigen und so ausprobieren, ob die Kamera funktioniert.<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nraspistill -o camera.jpg\n<\/pre>\n<\/div>\n<p>Nach wenigen Sekunden sollte im aktuellen Arbeitsverzeichnis ein Bild namens <em>camera.jpg<\/em> angelegt werden. Falls stattdessen eine Fehlermeldungm wie <em>Failed to create camera component<\/em> erscheint, wurde die Kamera nicht korrekt angeschlossen oder der Restart nach Aktivierung fehlt.<\/p>\n<h2 class=\"wp-block-heading\">Videoaufnahmen und Streams mit Motion<\/h2>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo apt-get install motion\n<\/pre>\n<\/div>\n<p>Ob eine Kamera erkannt wurde, kann mit <strong>ls \/dev\/video*<\/strong> gepr\u00fcft werden. Informationen liefert uns <strong>v4l2-ctl -V<\/strong>. Hier sehen wir beispielsweise auch die Aufl\u00f6sung.<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n$ v4l2-ctl -V\nFormat Video Capture:\n        Width\/Height      : 1024\/768\n        Pixel Format      : &#039;JPEG&#039; (JFIF JPEG)\n        Field             : None\n        Bytes per Line    : 0\n        Size Image        : 786432\n        Colorspace        : JPEG\n        Transfer Function : Default (maps to sRGB)\n        YCbCr\/HSV Encoding: Default (maps to ITU-R 601)\n        Quantization      : Default (maps to Full Range)\n<\/pre>\n<\/div>\n<p>Die Konfiguration selbst findet in \/etc\/motion\/motion.conf statt. <\/p>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsudo vim \/etc\/motion\/motion.conf\n<\/pre>\n<\/div>\n<p>Hier sollten wir <\/p>\n<pre class=\"wp-block-preformatted\">daemon on<\/pre>\n<p>aktivieren. Dadurch startet das Programm automatisch im Hintergrund. Es ist also nicht an die Konsolensitzung gebunden. Zu Testzwecken m\u00f6chte man vor allem Anfangs ggf. <strong>stream_localhost off<\/strong> setzen. So kann man auch von einem anderen Ger\u00e4t aus auf den Livestream zugreifen.<\/p>\n<p>Dar\u00fcber hinaus sollte v4l2_palette entsprechend der dar\u00fcberstehenden Palette gesetzt werden. Die Dimensionen (width\/height) sind Kammeraspezifisch. Hier tr\u00e4gt man die Werte ein, die v4l2-ctl zuvor ausgegeben hat. Es empfiehlt sich auch, unter <strong>target_dir<\/strong> einen absoluten Pfad f\u00fcr die Aufnahmen anzugeben. Beispielsweise <strong>\/home\/pi\/camera<\/strong>. Wenn man l\u00e4ngerfristig Aufnahmen anfertigt, sollte dieser besser nicht auf der SD-Karte liegen. Ein angeschlossener USB-Stick ist beispielsweise besser geeignet, da er mehr Schreibvorg\u00e4nge verkraftet. F\u00fcr gr\u00f6\u00dfere Datenmengen kommt auch eine SSD oder Festplatte in Frage.<\/p>\n<p>Interessant ist noch der Parameter <strong>framerate<\/strong>. Er legt fest, wie viele Bilder pro Sekunde gestreamt werden. Dies richtet sich haupts\u00e4chlich anhand der Leistung des Raspberry. 30 sollten es f\u00fcr ein fl\u00fcssiges Bild mindestens sein. Hier hilft testen: Einen realistischen Wert (z.B. 50) setzen, neu starten, den Stream aufrufen und parallel die Auslastung beobachten.<\/p>\n<p>Mit dem Parameter <strong>threshold<\/strong> kann die Bewegungserkennung konfiguriert werden. Er gibt an, wie viele Pixel sich f\u00fcr eine Bewegung ver\u00e4ndert haben m\u00fcssen. Dies variiert nat\u00fcrlich stark, je nachdem, worauf die Kamera gerichtet ist. Bei einem Innenraum ohne gr\u00f6\u00dfere Bewegungen kann dieser Wert kleiner eingestellt werden. Ist sie hingegen auf einen Au\u00dfenbereich gerichtet, in dem z.B. Tiere auf dem Weg laufen k\u00f6nnen oder sich B\u00e4ume\/Geb\u00fcsche durch Wind bewegen, wird der gleiche Wert Fehlalarme verursachen. Auch hier ist es daher sinnvoll entsprechend den eigenen Anforderungen anfangs etwas testen, bis man die ideale Konfiguration gefunden hat.<\/p>\n<p>Zu guter Letzt sollten wir noch den Autostart aktivieren. Nach einem Neustart des Raspberry Pi (z.B. bei Kernelupdates) muss die Software sonst h\u00e4ndisch aktiviert werden. Hierzu die Datei <strong>\/etc\/default\/motion<\/strong> \u00f6ffnen und <strong>start_motion_daemon=yes<\/strong> setzen.<\/p>\n<p>Da dies erst ab dem n\u00e4chsten Neustart des Systemes angewendet wird, k\u00f6nnen wir die \u00c4nderungen durch das Neustarten des Dienstes wirksam werden lassen:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">sudo service motion restart<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>An den Raspberry Pi kann eine Kamera angeschlossen werden. Hierf\u00fcr steht eine entsprechend beschriftete Schnittstelle auf dem Board bereit. Kamera aktivieren Standardm\u00e4\u00dfig ist die Kamera deaktiviert. Sie kann \u00fcber das Raspberry-Konfigurationswerkzeug aktiviert werden: Die Einstellung befindet sich im Punkt Interface Options Hier w\u00e4hlt man P1 Camera aus und best\u00e4tigt mit Enter sowie Yes. Damit der &#8230;<\/p>\n","protected":false},"author":5,"featured_media":6930,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[671],"tags":[827,639],"class_list":["post-6766","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi","tag-kamera","tag-raspberry-pi"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=6766"}],"version-history":[{"count":3,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6766\/revisions"}],"predecessor-version":[{"id":6931,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6766\/revisions\/6931"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/6930"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=6766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=6766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=6766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}