{"id":715,"date":"2018-11-18T21:11:56","date_gmt":"2018-11-18T20:11:56","guid":{"rendered":"https:\/\/cbrell.de\/naturwatch\/?p=326"},"modified":"2023-03-30T21:25:38","modified_gmt":"2023-03-30T19:25:38","slug":"einfaches-webcam-system-mit-raspberry-pi","status":"publish","type":"post","link":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/","title":{"rendered":"Einfache Webcam mit dem Raspberry Pi"},"content":{"rendered":"<p><em>F\u00fcr die Anwendungsszenarien &#8222;Autarke Beobachtung von H\u00f6hlenbr\u00fctern&#8220; und &#8222;Beobachtung des Fluglochs von Honigbienen&#8220; (Forschungsvorhaben #biene40) brauchen wir neben dem mechanischen Aufbau (Nistkasten, wettersicherer Aufbau mit Raspberry Pi ..) auch eine einfache Webcam. Wir nennen es picam. Jeder kann das in einer halben Stunde nachprogrammieren kann. PiCam nimmt ein Bild auf und l\u00e4dt es auf einen Webserver. PiCam besteht aus einem einfachen Python-Skript auf dem Raspberry Pi, einem einfachen in PHP geschriebenem Webservice auf dem Webserver und einer minimalistischen HMTL-Seite zur Anzeige des hochgeladenen Bildes.<\/em><\/p>\n<h2><strong>Anwendungsf\u00e4lle (Use Case Diagramm) f\u00fcr die einfache Webcam<\/strong><\/h2>\n<p>Abb. 1 zeigt, was ein menschlicher Nutzer und ein als Bilderlieferant dienender Kleinrechner Raspberry Pi mit dem webbasierten Teil des Systems tun k\u00f6nnen.<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2018\/11\/brell-picam-use-case-diagramm-181118.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-331 size-full\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2018\/11\/brell-picam-use-case-diagramm-181118.jpg\" alt=\"\" width=\"645\" height=\"292\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2018\/11\/brell-picam-use-case-diagramm-181118.jpg 645w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2018\/11\/brell-picam-use-case-diagramm-181118-300x136.jpg 300w\" sizes=\"(max-width: 645px) 100vw, 645px\" \/><\/a><\/p>\n<p><em>Abb 1: Use Case Diagramm<\/em><\/p>\n<h2><strong>Topologie (Netzwerkstruktur)<\/strong><\/h2>\n<p>Abb. 2 zeigt die Vernetzung der Ger\u00e4te und der Computerprogramme. Das Gesamtsystem besteht aus:<\/p>\n<ol>\n<li>Einem Webserver. Die einzige Anforderung ist, dass der Webserver PHP unterst\u00fctzt. Fast alle Providern leisten das heutzutage.<\/li>\n<li>Einem Raspberry Pi mit Kamera. F\u00fcr den Start ist ein Raspberry Pi Zero W kosteng\u00fcnstig.<\/li>\n<li>Einem Nutzer mit Computer oder Smartphone, der die HTML-Seite aufrufen kann.<\/li>\n<li>Einem Python Skript &#8222;picam.py&#8220;, das auf dem Raspberry Pi l\u00e4uft, ein Bild aufnimmt und \u00fcber die bestehende Netzverbindung an den Webservice &#8222;picamWS.php&#8220; \u00fcbertr\u00e4gt.<\/li>\n<li>Ein PHP Skript &#8222;picamWS.php&#8220;, das auf dem Webserver l\u00e4uft und ein Bild entgegennimmt und unter dem Namen &#8222;picam.jpg&#8220; auf dem Webserver speichert.<\/li>\n<li>Eine HTML-Seite &#8222;picam.html&#8220; (smartphone-geeignet), die das Bild im Browser anzeigt.<\/li>\n<\/ol>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2018\/11\/brell-picam-topologie-181118.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-332\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2018\/11\/brell-picam-topologie-181118.jpg\" alt=\"\" width=\"951\" height=\"351\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2018\/11\/brell-picam-topologie-181118.jpg 951w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2018\/11\/brell-picam-topologie-181118-300x111.jpg 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2018\/11\/brell-picam-topologie-181118-768x283.jpg 768w\" sizes=\"(max-width: 951px) 100vw, 951px\" \/><\/a><\/p>\n<p><em>Abb. 2: Netzwerktopologie f\u00fcr eine einfache Webcam mit dem Raspberry Pi<\/em><\/p>\n<h2><strong>Client Programm picam.py &#8211; Bilder aufnehmen und hochladen<\/strong><\/h2>\n<p>Das Script picam.py (netto 16 Zeilen Quelltext) k\u00f6nnen Sie mit einem Texteditor, z.B. nano, direkt auf dem Raspberry Pi mit der Befehlsfolge &#8222;nano picam.py&#8220; erstellenn. Nach dem Speichern mit der Tastenkombination &#8222;ctrl+o&#8220;\u00a0 machen Sie das Script noch ausf\u00fchrbar mit &#8222;chmod 777 picam.py&#8220;. Das Script l\u00e4sst sich dann mit &#8222;.\/picam.py&#8220; aufrufen und zeigt, wenn alles richtig eingerichtet ist, die folgende Ausgabe:<\/p>\n<pre class=\"p2\"><span class=\"s1\"><b>pi@naturwatch02<\/b><\/span><span class=\"s2\">:<\/span><span class=\"s3\"><b>~ $<\/b><\/span><span class=\"s2\"> .\/picam.py<\/span>\r\n<span class=\"s1\">&lt;Response [200]&gt;<\/span>\r\n<span class=\"s1\">picam.jpg hochgeladen.<\/span>\r\n<span class=\"s1\"><b>pi@naturwatch02<\/b><\/span><span class=\"s2\">:<\/span><span class=\"s3\"><b>~ $<\/b><\/span><\/pre>\n<p>Das Script arbeitet &#8222;ohne Netz und doppelten Boden&#8220;. Der Quelltext ist in Listing 1 dargestellt, Sie k\u00f6nnen es gleich in den Editor \u00fcbernehmen. Es ist im Script <strong>eine Programmzeile zu \u00e4ndern<\/strong>: An der Stelle, an die URL spezifiziert wird, ist anstelle von &#8222;meinServerUndVerzeichnis&#8220; der eigene Server und das Verzeichnis, in dem Webservice, Bild und HTML-Seite liegen sollen, anzugeben.<\/p>\n<p>Zun\u00e4chst importieren Sie die ben\u00f6tigten Bibliotheken: &#8222;picamera&#8220;, um direkt Bilder aus Python aufnehmen zu k\u00f6nnen,\u00a0 &#8222;sleep&#8220; aus der Bibliothek &#8222;time&#8220; f\u00fcr eine Pause f\u00fcr die Kamera und &#8222;requests&#8220; f\u00fcr den http-Zugriff auf den Webserver.<\/p>\n<p>Die spannenden Zeilen im Skript sind:<\/p>\n<pre class=\"p1\"><span class=\"s1\">camera.capture(localpicname)<\/span><\/pre>\n<p>Der Befehl nimmt das Bild auf und speichert es unter localpicname.<\/p>\n<pre class=\"p1\"><span class=\"s1\">url = <\/span><span class=\"s2\"><b>'http:\/\/meinServerUndVerzeichnis\/picamWS.php'<\/b><\/span>\r\n\r\n<span class=\"s2\">files = {<\/span><span class=\"s3\"><b>'file'<\/b><\/span><span class=\"s2\">: open(localpicname, <\/span><span class=\"s3\"><b>'rb'<\/b><\/span><span class=\"s2\">)}<\/span>\r\n\r\n<span class=\"s2\">r = requests.post(url, files=files)<\/span><\/pre>\n<p>Mit den Statements werden in der Variablen &#8222;url&#8220; der Standort des Webservice angegeben, in &#8222;files&#8220; das Bild als Datei zum \u00dcbertragen festgelegt,\u00a0 mit &#8222;requests&#8220; der Webservice aufgerufen und das Bild hochgeladen. In der Variablen &#8222;r&#8220; wird u.a. der Statuscode und die Antwort des Webservice gespeichert.<\/p>\n<pre class=\"p1\"><span class=\"s1\"><b>#!\/usr\/bin\/python<\/b><\/span>\r\n<span class=\"s1\"><b># picam.py<\/b><\/span>\r\n<span class=\"s1\"><b># vereinfachte Version fuer naturwatch.lite<\/b><\/span>\r\n<span class=\"s1\"><b># Claus Brell 17.11.2018<\/b><\/span>\r\n<span class=\"s2\"><b>import<\/b><\/span><span class=\"s1\"> picamera<\/span>\r\n<span class=\"s2\"><b>from<\/b><\/span><span class=\"s1\"> time <\/span><span class=\"s2\"><b>import<\/b><\/span><span class=\"s1\"> sleep<\/span>\r\n<span class=\"s2\"><b>import<\/b><\/span><span class=\"s1\"> requests<\/span>\r\n<span class=\"s1\"><b># Voreinstellungen Bildgroesse:<\/b><\/span>\r\n<span class=\"s1\">WIDTH=320<\/span>\r\n<span class=\"s1\">HEIGHT=240<\/span>\r\n<span class=\"s1\"><b># Kamera initialisieren:<\/b><\/span>\r\n<span class=\"s1\">camera = picamera.PiCamera()<\/span>\r\n<span class=\"s1\">camera.resolution = (WIDTH,HEIGHT)<\/span>\r\n<span class=\"s1\"><b># Dateiname fuer Bild:<\/b><\/span>\r\n<span class=\"s1\">localpicname = <\/span><span class=\"s3\"><b>'picam.jpg'<\/b><\/span>\r\n<span class=\"s1\"><b># 2 Sek. Pause, damit Kamera alles einstellen kann:<\/b><\/span>\r\n<span class=\"s1\">sleep (2)<\/span>\r\n<span class=\"s1\"><b># Ein Bild aufnehmen:<\/b><\/span>\r\n<span class=\"s1\">camera.capture(localpicname)<\/span>\r\n<span class=\"s1\">camera.close()<\/span>\r\n<span class=\"s1\"><b># Ein Bild auf den Webspace hochladen:<\/b><\/span>\r\n<span class=\"s1\"><b># Webservice Aufruf URL festlegen:<\/b><\/span>\r\n<span class=\"s4\">url = <\/span><span class=\"s1\"><b>'http:\/\/<span class=\"s2\">meinServerUndVerzeichnis\/<\/span>\/picamWS.php'<\/b><\/span>\r\n<span class=\"s1\">files = {<\/span><span class=\"s3\"><b>'file'<\/b><\/span><span class=\"s1\">: open(localpicname, <\/span><span class=\"s3\"><b>'rb'<\/b><\/span><span class=\"s1\">)}<\/span>\r\n<span class=\"s1\">r = requests.post(url, files=files)\r\n<\/span><span class=\"s1\"><b># Zur Kontrolle Rueckgabe ausgeben<\/b><\/span>\r\n<span class=\"s1\"><b>print<\/b><\/span><span class=\"s4\">(r)<\/span>\r\n<span class=\"s2\"><b>print<\/b><\/span><span class=\"s1\">(r.text)<\/span><\/pre>\n<p><em>Listing 1: picam.py, Skript f\u00fcr das Aufnehmen eines Bildes und Hochladen auf den Webserver.<\/em><\/p>\n<h2><strong>Webservice picamWS.php &#8211; Bild entgegennehmen und speichern.<\/strong><\/h2>\n<p>Den Webservice picamWS.php (netto 3 Zeilen Quelltext) erstellen Sie mit einem einfachen Texteditor (Notepadd++ unter Windows oder Sublime Text unter MacOS oder Linux) und laden ihn dann mit FTP auf den eigenen Webserver hoch. Listing 2 zeigt das Skript, es sind keine Pr\u00fcfungen oder Fehlerbehandlungen eingebaut, um das Script m\u00f6glichst einfach und kurz zu halten. Die spannende Zeile ist:<\/p>\n<pre>if (<strong>move_uploaded_file<\/strong>($_FILES['file']['tmp_name'], $target_file)) {\r\n    echo basename( $_FILES['file']['name']). \" hochgeladen.\";}<\/pre>\n<p>Es wird \u00fcberpr\u00fcft, ob das Kopieren des hochgeladenen Bildes in dasDateisystem des Webservers funktioniert hat, Wenn das der Fall ist, gibt es eine Best\u00e4tigung. Das Bild liegt im selben Verzeichnis, in dem sich auch der Webservice befindet.<\/p>\n<pre>&lt;?php\r\n\/\/ picamWS.php\r\n\/\/ Webservice f\u00fcr picam.py\r\n\/\/ nimmt Bild entgegen und speichert es auf dem Server\r\n\/\/ naturwatch.lite\r\n\/\/ Claus Brell 17.11.2018\r\n\/\/ Ziel-Name, unter dem das Bild abgelegt wird:\r\n<strong>$target_file=$mandant.'picam.jpg';<\/strong> \r\n\/\/ Bild hochladen und uner Ziel-Name ablegen,\r\n\/\/ wenn erfolgreicht, Meldung zur\u00fcckgeben: \r\n<strong>if (move_uploaded_file($_FILES['file']['tmp_name'], $target_file)) {<\/strong>\r\n<strong>echo basename( $_FILES['file']['name']). \" hochgeladen.\";<\/strong>\r\n<strong>}<\/strong>\r\n<strong>else echo \"Fehler\";<\/strong>\r\n?&gt;<\/pre>\n<p><em>Listing 2: picamWS.php &#8211; Webservice, der ein Bild entgegennimmt<\/em><\/p>\n<p>picam.html &#8211; Anzeigeseite. Eine einfache HTML-Seite, die i.w. aus einem img-Tag besteht, das Bild aus dem gleichem Verzeichnis l\u00e4dt und anzeigt. Die Meta-Statements sorgen daf\u00fcr, dass die Anzeige auch auf einem Smartphone funktioniert.<\/p>\n<pre>&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt;\r\n&lt;meta name=\"language\" content=\"de-DE\"&gt;\r\n&lt;meta http-equiv=\"Content-type\" content=\"text\/html;charset=utf-8\"&gt;\r\n&lt;meta name=\"mobile-web-app-capable\" content=\"yes\"&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\npicam Bildanzeige\r\n&lt;br&gt;&lt;br&gt;\r\n<strong>&lt;img src=\"picam.jpg\"&gt;<\/strong>\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p><em>Listing 3: picam.html &#8211; Anzeigeseite f\u00fcr das hochgeladene Bild<\/em><\/p>\n<h2><strong>Was noch fehlt &#8230;<\/strong><\/h2>\n<p>F\u00fcr eine gelungene Naturbeobachtung w\u00e4re ein Automatismus w\u00fcnschenswert. Dazu kann das Python-Script einfach \u00fcber CRON, z.B. jede Minute, aufgerufen werden. Dann fehlt jedoch ein ebenfalls automatisches Nachladen des Bildes in der HTML-Seite. Das lie\u00dfe sich \u00fcber Javascript realisieren. M\u00f6chte man kein Bild verpassen, also sollten die Bilder gespeichert werden und auch die Historie sollte einsehbar sein. Allerdings werden Webservice und Anzeigeseite dadurch sehr viel komplizierter. Wie das gehen kann, ist in einem Artikel in der Raspberry Pi Geek dargestellt (Brell 2017).<\/p>\n<h2><strong>Quellen f\u00fcr die einfache Webcam mit dem Raspberry Pi<\/strong><\/h2>\n<p>Brell, Claus (2017)\u00a0<i>Meisencam &#8211; Nistk\u00e4sten mit der Pi-Cam ins Internet bringen.<\/i>\u00a0in:\u00a0<a href=\"http:\/\/www.raspberry-pi-geek.de\/Magazin\/2017\/10\/Nistkaesten-mit-der-Pi-Cam-ins-Internet-bringen\">Raspberry Pi Geek 10 \/ 2017<\/a><\/p>\n<p>Zeitungsartikel Rheinische Post Krefeld vom 14.03.2017:<br \/>\n<a href=\"http:\/\/www.rp-online.de\/nrw\/staedte\/krefeld\/auf-den-spuren-von-heinz-sielmann-studenten-bauen-interaktiven-meisenkasten-aid-1.6686844\" target=\"_BLANK\" rel=\"noopener noreferrer\">&#8222;Auf den Spuren von Heinz Sielmann &#8230;&#8220;<\/a><\/p>\n<p>Pressemitteilung der Hochschule Niederrhein vom 10.03.2017:<br \/>\n<a href=\"https:\/\/www.hs-niederrhein.de\/news\/news-detailseite\/wirtschaftsinformatik-studierende-entwickeln-interaktiven-meisenkasten-16506\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.hs-niederrhein.de\/news\/news-detailseite\/wirtschaftsinformatik-studierende-entwickeln-interaktiven-meisenkasten-16506\/<\/a>.<\/p>\n<p>Tweets zum Forschungsvorhaben #biene40 &#8211; Naturschutz, Digitalisierung und Wirtschaft verbinden: <a href=\"https:\/\/twitter.com\/hashtag\/biene40\">https:\/\/twitter.com\/hashtag\/biene40<\/a><\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/raspilab-wetterstation-grundsystem-aufsetzen\/\">Raspberry Pi Grundsystem aufsetzen<\/a><\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/brutsaison-2018\/\">Brutsaison 2018 (Videobeobachtung)<\/a><\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/brutsaison-2019-digitale-naturbeobachtung\/\">Brutsaison 2019 (Videobeobachtung)<\/a><\/p>\n<h2>Glossar f\u00fcr die einfache Webcam<\/h2>\n<h3>Raspberry Pi<\/h3>\n<p>Der Raspberry Pi ist ein vielseitiger Kleincomputer, der von der Raspberry Pi Foundation f\u00fcr den Einsatz in Bildungseinrichtungen entwickelt wurde. Er soll Kindern und Jugendlichen das Programmieren und die Computertechnologie n\u00e4her bringen. Der Raspberry Pi ist etwa so gro\u00df wie eine Kreditkarte und kann \u00fcber eine Vielzahl von Anschl\u00fcssen &#8211; so genannte GPIOs &#8211; mit anderen Ger\u00e4ten verbunden werden. Sowohl Hobbyisten (Maker) als auch professionelle Entwickler verwenden den Raspberry Pi.<\/p>\n<h3>Toplologie<\/h3>\n<p>Eine Netzwerk-Topologie beschreibt die Struktur eines Computernetzwerks und die Art und Weise, wie die einzelnen Ger\u00e4te miteinander verbunden sind.<\/p>\n<p>Weiterlesen:\u00a0<a href=\"https:\/\/cbrell.de\/blog\/topologie\/\">Topologie<\/a><\/p>\n<h3>Webcam<\/h3>\n<p>Eine Webcam ist eine Digitalkamera, mit der Videoaufnahmen gemacht und ins Internet \u00fcbertragen werden k\u00f6nnen. Webcams werden auch f\u00fcr verschiedene andere Anwendungen wie \u00dcberwachung, Bildung und Unterhaltung eingesetzt.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cbrell.de\/zaehler?x=2954\" \/><\/p>\n<div class=\"shariff shariff-align-flex-start shariff-widget-align-flex-start\" data-services=\"facebook\" data-url=\"https%3A%2F%2Fcbrell.de%2Fblog%2Feinfaches-webcam-system-mit-raspberry-pi%2F\" data-timestamp=\"1680211538\" data-backendurl=\"https:\/\/cbrell.de\/blog\/wp-json\/shariff\/v1\/share_counts?\"><div class=\"ShariffHeadline\">Teile diesen Beitrag.<\/div><ul class=\"shariff-buttons theme-round orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#32bbf5\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fcbrell.de%2Fblog%2Feinfaches-webcam-system-mit-raspberry-pi%2F&text=Einfache%20Webcam%20mit%20dem%20Raspberry%20Pi\" title=\"Bei Twitter teilen\" aria-label=\"Bei Twitter teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#55acee; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 30 32\"><path fill=\"#55acee\" d=\"M29.7 6.8q-1.2 1.8-3 3.1 0 0.3 0 0.8 0 2.5-0.7 4.9t-2.2 4.7-3.5 4-4.9 2.8-6.1 1q-5.1 0-9.3-2.7 0.6 0.1 1.5 0.1 4.3 0 7.6-2.6-2-0.1-3.5-1.2t-2.2-3q0.6 0.1 1.1 0.1 0.8 0 1.6-0.2-2.1-0.4-3.5-2.1t-1.4-3.9v-0.1q1.3 0.7 2.8 0.8-1.2-0.8-2-2.2t-0.7-2.9q0-1.7 0.8-3.1 2.3 2.8 5.5 4.5t7 1.9q-0.2-0.7-0.2-1.4 0-2.5 1.8-4.3t4.3-1.8q2.7 0 4.5 1.9 2.1-0.4 3.9-1.5-0.7 2.2-2.7 3.4 1.8-0.2 3.5-0.9z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fcbrell.de%2Fblog%2Feinfaches-webcam-system-mit-raspberry-pi%2F\" title=\"Bei Facebook teilen\" aria-label=\"Bei Facebook teilen\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button linkedin shariff-nocustomcolor\" style=\"background-color:#1488bf\"><a href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fcbrell.de%2Fblog%2Feinfaches-webcam-system-mit-raspberry-pi%2F\" title=\"Bei LinkedIn teilen\" aria-label=\"Bei LinkedIn teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0077b5; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 27 32\"><path fill=\"#0077b5\" d=\"M6.2 11.2v17.7h-5.9v-17.7h5.9zM6.6 5.7q0 1.3-0.9 2.2t-2.4 0.9h0q-1.5 0-2.4-0.9t-0.9-2.2 0.9-2.2 2.4-0.9 2.4 0.9 0.9 2.2zM27.4 18.7v10.1h-5.9v-9.5q0-1.9-0.7-2.9t-2.3-1.1q-1.1 0-1.9 0.6t-1.2 1.5q-0.2 0.5-0.2 1.4v9.9h-5.9q0-7.1 0-11.6t0-5.3l0-0.9h5.9v2.6h0q0.4-0.6 0.7-1t1-0.9 1.6-0.8 2-0.3q3 0 4.9 2t1.9 6z\"\/><\/svg><\/span><\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>F\u00fcr die Anwendungsszenarien &#8222;Autarke Beobachtung von H\u00f6hlenbr\u00fctern&#8220; und &#8222;Beobachtung des Fluglochs von Honigbienen&#8220; (Forschungsvorhaben #biene40) brauchen wir neben dem mechanischen Aufbau (Nistkasten, wettersicherer Aufbau mit Raspberry Pi ..) auch eine &#8230;<\/p>\n","protected":false},"author":1,"featured_media":505,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[75,252,253],"tags":[710,222,120,210,111,110,228,78,249,250,251,217,230],"class_list":["post-715","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-internet-of-things-iot","category-naturwatch","category-programmieren","tag-einfach","tag-kamera","tag-naturbeobachtung","tag-naturwatch","tag-php","tag-python","tag-raspberry","tag-raspberry-pi","tag-topologie","tag-upload","tag-use-case-diagramm","tag-webcam","tag-webservice"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>einfache webcam mit dem Raspberry Pi<\/title>\n<meta name=\"description\" content=\"Eine einfache Webcam mit dem Raspberry Pi, programmiert in Python und PHP, erm\u00f6glicht die Beobachtung von br\u00fctenden V\u00f6geln im Nistkasten.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"einfache webcam mit dem Raspberry Pi\" \/>\n<meta property=\"og:description\" content=\"Eine einfache Webcam mit dem Raspberry Pi, programmiert in Python und PHP, erm\u00f6glicht die Beobachtung von br\u00fctenden V\u00f6geln im Nistkasten.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/\" \/>\n<meta property=\"og:site_name\" content=\"Bienen, Natur und Internet of Things\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-18T20:11:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-30T19:25:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2019\/03\/cam190503-152714-kleine-kueken-grosse-schnaebel.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"480\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Claus Brell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@clausbrell5859\" \/>\n<meta name=\"twitter:site\" content=\"@clausbrell\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Claus Brell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/\"},\"author\":{\"name\":\"Claus Brell\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"headline\":\"Einfache Webcam mit dem Raspberry Pi\",\"datePublished\":\"2018-11-18T20:11:56+00:00\",\"dateModified\":\"2023-03-30T19:25:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/\"},\"wordCount\":978,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cam190503-152714-kleine-kueken-grosse-schnaebel.jpg\",\"keywords\":[\"einfach\",\"Kamera\",\"Naturbeobachtung\",\"naturwatch\",\"PHP\",\"Python\",\"Raspberry\",\"Raspberry Pi\",\"Topologie\",\"upload\",\"Use Case Diagramm\",\"Webcam\",\"Webservice\"],\"articleSection\":[\"Internet of Things (IoT)\",\"Naturwatch\",\"Programmieren\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/\",\"name\":\"einfache webcam mit dem Raspberry Pi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cam190503-152714-kleine-kueken-grosse-schnaebel.jpg\",\"datePublished\":\"2018-11-18T20:11:56+00:00\",\"dateModified\":\"2023-03-30T19:25:38+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"description\":\"Eine einfache Webcam mit dem Raspberry Pi, programmiert in Python und PHP, erm\u00f6glicht die Beobachtung von br\u00fctenden V\u00f6geln im Nistkasten.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cam190503-152714-kleine-kueken-grosse-schnaebel.jpg\",\"contentUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cam190503-152714-kleine-kueken-grosse-schnaebel.jpg\",\"width\":640,\"height\":480,\"caption\":\"Abb.: Das gr\u00f6\u00dfte an den K\u00fccken scheinen die aufgerissenen Schn\u00e4bel.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/einfaches-webcam-system-mit-raspberry-pi\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Einfache Webcam mit dem Raspberry Pi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\",\"name\":\"Bienen, Natur und Internet of Things\",\"description\":\"Alles, was einfach ist. Von Claus Brell\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\",\"name\":\"Claus Brell\",\"description\":\"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}\",\"sameAs\":[\"http:\\\/\\\/claus-brell.de\",\"https:\\\/\\\/x.com\\\/clausbrell5859\",\"https:\\\/\\\/www.youtube.com\\\/@clausbrell5859\"],\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/author\\\/clausb\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"einfache webcam mit dem Raspberry Pi","description":"Eine einfache Webcam mit dem Raspberry Pi, programmiert in Python und PHP, erm\u00f6glicht die Beobachtung von br\u00fctenden V\u00f6geln im Nistkasten.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/","og_locale":"de_DE","og_type":"article","og_title":"einfache webcam mit dem Raspberry Pi","og_description":"Eine einfache Webcam mit dem Raspberry Pi, programmiert in Python und PHP, erm\u00f6glicht die Beobachtung von br\u00fctenden V\u00f6geln im Nistkasten.","og_url":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/","og_site_name":"Bienen, Natur und Internet of Things","article_published_time":"2018-11-18T20:11:56+00:00","article_modified_time":"2023-03-30T19:25:38+00:00","og_image":[{"width":640,"height":480,"url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2019\/03\/cam190503-152714-kleine-kueken-grosse-schnaebel.jpg","type":"image\/jpeg"}],"author":"Claus Brell","twitter_card":"summary_large_image","twitter_creator":"@clausbrell5859","twitter_site":"@clausbrell","twitter_misc":{"Verfasst von":"Claus Brell","Gesch\u00e4tzte Lesezeit":"7\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/#article","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/"},"author":{"name":"Claus Brell","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"headline":"Einfache Webcam mit dem Raspberry Pi","datePublished":"2018-11-18T20:11:56+00:00","dateModified":"2023-03-30T19:25:38+00:00","mainEntityOfPage":{"@id":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/"},"wordCount":978,"commentCount":0,"image":{"@id":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2019\/03\/cam190503-152714-kleine-kueken-grosse-schnaebel.jpg","keywords":["einfach","Kamera","Naturbeobachtung","naturwatch","PHP","Python","Raspberry","Raspberry Pi","Topologie","upload","Use Case Diagramm","Webcam","Webservice"],"articleSection":["Internet of Things (IoT)","Naturwatch","Programmieren"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/","url":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/","name":"einfache webcam mit dem Raspberry Pi","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/#primaryimage"},"image":{"@id":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2019\/03\/cam190503-152714-kleine-kueken-grosse-schnaebel.jpg","datePublished":"2018-11-18T20:11:56+00:00","dateModified":"2023-03-30T19:25:38+00:00","author":{"@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"description":"Eine einfache Webcam mit dem Raspberry Pi, programmiert in Python und PHP, erm\u00f6glicht die Beobachtung von br\u00fctenden V\u00f6geln im Nistkasten.","breadcrumb":{"@id":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/#primaryimage","url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2019\/03\/cam190503-152714-kleine-kueken-grosse-schnaebel.jpg","contentUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2019\/03\/cam190503-152714-kleine-kueken-grosse-schnaebel.jpg","width":640,"height":480,"caption":"Abb.: Das gr\u00f6\u00dfte an den K\u00fccken scheinen die aufgerissenen Schn\u00e4bel."},{"@type":"BreadcrumbList","@id":"https:\/\/cbrell.de\/blog\/einfaches-webcam-system-mit-raspberry-pi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/cbrell.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Einfache Webcam mit dem Raspberry Pi"}]},{"@type":"WebSite","@id":"https:\/\/cbrell.de\/blog\/#website","url":"https:\/\/cbrell.de\/blog\/","name":"Bienen, Natur und Internet of Things","description":"Alles, was einfach ist. Von Claus Brell","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cbrell.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58","name":"Claus Brell","description":"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}","sameAs":["http:\/\/claus-brell.de","https:\/\/x.com\/clausbrell5859","https:\/\/www.youtube.com\/@clausbrell5859"],"url":"https:\/\/cbrell.de\/blog\/author\/clausb\/"}]}},"_links":{"self":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/715","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/comments?post=715"}],"version-history":[{"count":5,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/715\/revisions"}],"predecessor-version":[{"id":3429,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/715\/revisions\/3429"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/media\/505"}],"wp:attachment":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/media?parent=715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/categories?post=715"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/tags?post=715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}