Die Raspberry Pi Webcam

Aufrufe: 48

In diesem Beitrag geht es um die Raspberry Pi Webcam.

Seit dem 15.08.2015 läuft auf meinem Dach ein kleiner Raspberry Pi mit samt Kameramodul. Angesteuert wird er per Netzwerkleitung vom Banana-Pi, auf welchem die gesamte Wetterstation läuft. Der kleine Raspberry macht hier also nicht viel mehr, als das Kameramodul anzusteuern und das Bild an den Banana Pi zu senden.

Die Komponenten als Amazon-Links

Werbung
Hier einige Produktempfehlungen zum Thema Raspberry Pi

Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.
Lesen Sie hier mehr über die in diesem Blog verwendeten Werbeeinblendungen.

Der Aufbau

Das Kameramodul ist mittels des, dem Kameramodul beiliegenden Flachbandkabel mit dem CSI-Port des Raspberry Pi zu verbinden. Über dieses Flachbandkabel wird das Kameramodul mit Strom versorgt und die Bilddaten zum Raspberry Pi übertragen.

Es führen 2 Leitungen in die Wohnung. Zum einem eine 5V-Versorgungsleitung und zum anderem ein Netzwerkkabel. Das 5V-Versorgungsnetzteil befindet sich in der Wohnung. Schließlich lege ich mir keine 230V auf’s Dach.

Die Webcam ist nach Westen ausgerichtet und bekommt gerade bei atlantischen Tiefs den meisten Regen und Wind ab. Dennoch hatte ich bisher noch nie Probleme mit einer beschlagenen Scheibe. Allenfalls bei kräftigem Schnee ist die Webcam hin und wieder mal eingeschneit. Das die Scheibe nie beschlägt, ist vermutlich das Resultat eines kleinen Päckchens SilicaGel, welches ich mit ins Gehäuse gelegt habe. Zudem ist in den Gehäusedeckel eine Gummidichtung eingelassen, so dass keine Feuchtigkeit ins Kameragehäuse eindringen kann.

Die Software

Nach dem die Hardwareverbindung steht, muss der CSI-Port des Raspberry noch aktiviert werden. Hierfür ist in die Kommandokonsole folgender Befehl einzugeben:

sudo raspi-config

Hier ist nun der Punkt 5 “Enable Kamera” mittels Enter-Taste auszuwählen und “Enable” auszuwählen. Danach ist ein Neustart durchzuführen, bei welchem auch der CSI-Port aktiviert und das angeschlossene Kameramodul erkannt wird.

Angesteuert wird die Webcam über die Kommandozeile, mit dem Konsolenbefehl “Raspistill“. Hier gibt es einige Optionen zur Ansteuerung des Kameramoduls. Mit dabei sind viele Optionen zur manuellen Belichtungssteuerung, welche von mir gerade Nachts für die 6 Sekunden Langzeitbelichtung genutzt werden.

Hier einige wesentliche Parameter für das Programm “Raspistill“:

  • – nopreview (durch diese Option wird nach der Aufnahme, das aufgenommene Bild nicht angezeigt)
  • – ISO XXX (Hier kann die Bildsensorempfindlichkeit angegeben werden. Möglich sind die Werte 100, 200, 300, 400, 500, 600, 700 und 800. Je höher der Wert, desto mehr werden die Bildsignale verstärkt. Leider auch das Sensorrauschen.)
  • -awb (automatic white balance – Automatischer Weissabgleich, durch Angabe dieser Option wird das Kameramodul versuchen die Farben möglichst realitätsnah abzubilden)
  • -w 400 (hier wird die Bildbreite bestimmt. Ein Wert von 400 z.B. sorgt für ein 400 Pixel breites Bild.)
  • -h 400 (Hier wird die Bildhöhe bestimmt. Ein Wert von 400 z.B. sorgt für ein 400 Pixel hohes Bild.)
  • -ex verylong (Gibt an, dass eine sehr lange Belichtungszeit genutzt werden soll)
  • -shutter 6000000 (Gibt die Belichtungszeit in Mikrosekunden an. Ein Wert von 6000000 (6 Millionen uS) sorgt für eine 6 Sekunden lange Belichtungszeit. Diese 6 Sekunden sind zugleich die längste Belichtungszeit, welche möglich ist.)
  • -o /mein/Ausgabepfad/Bild-00.jpg (Hier wird der Speicherort des aufgenommenen Bildes angegeben. In diesem Beispiel würde das Bild unter “/mein/Ausgabepfad/Bild-00.jpg” gespeichert.)
  • Weitere Parameter hat Jan Karres zusammen gestellt. Hier der Link dort hin: Raspistill-Parameter

Das Programmpaket “Imagemagick”

Nachfolgend werden die Bilder mit dem Bildbearbeitungspaket “Imagemagick” weiter bearbeitet. Unter anderem wird die blaue Maske auf das Bild gezeichnet, welche umliegende Gebäude, sowie Privateigentum abdeckt. Zudem werden die aktuellen Wetterdaten in das aktuelle Webcambild geschrieben. Dieses Paket wird mittels

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install imagemagick

installiert. Aus diesem Paket wird allerdings allein das Programm “convert” verwendet. Nachfolgend einige Parameter dieses Programms:

convert .../capture.jpg \ //Lädt das Bild "capture.jpg und öffnet es für die weitere Bearbeitung.
-unsharp 0x3 \ //Schärft das Bild nach
-stroke blue \ //blauer Strich
-strokewidth 95 \ //der blaue Strich soll 95 Pixel breit werden
-draw "line 1000,730 1310,650" \ //Zeichne Linie von 1000:730 nach 1310:650
-stroke red \ //Zeichne einen roten Strich
-strokewidth 2 \ //der rote Strich soll nur 2 Pixel breit werden
-draw "rectangle -2,720 1280,680" \ //Zeichne ein Quadrat mit den Koordinaten -2:720 und 1280:680
-annotate +5+697 "Wetterstation Hohenwalde - Webcam --- Blickrichtung Nord" \ //Textausgabe
-quality 80% \ //Bild speichern mit 80% JPEG-Kompression
/home/raspi/Ausgabebild.jpg //Bild speichern

Dieser komplette Code von “convert” bis “/home/raspi/…” kommt in eine *.sh-Datei. Diese muss die Berechtigung “ausführbar” erhalten. Danach kann die ShellScriptDatei ausgeführt werden. Hier wird nun das angegebene Bild geladen, alle angegebenen Elemente eingezeichnet und als Ausgabebild.jpg gespeichert. Hier die komplette Liste aller unter “convert” möglichen Optionen: Convert-Parameter

Erstellen eines Zeitraffervideos

Eine Kopie des aktuellen Webcambildes wird mit fortlaufendem Dateinamen in einem separatem Ordner gespeichert. Diese Bilder werden am Ende des Tages zu einem Zeitrafferscript zusammen gefasst:

avconv -r 15 -i /home/raspi/webcam/webcam%4d.jpg -c:v libx264 -vb 5M -an /home/raspi/webcam/Tageszeitraffer.mp4

Hier wird das Programm “avconv” verwendet, welches alle Bilder ab “Webcam0000.jpg” bis “Webcam9999.jpg” (sofern wirklich 1000 Bilder zusammengekommen sein sollten) zu einem MP4-Video mit 15 Bilder/Sekunde und ohne Ton, zusammen fasst.

Zum Abschluss: Weitwinkelobjektiv vs. Standardobjektiv

Während das Standardobjektiv im Vergleich zum Weitwinkelobjektiv schon eine gewisse Vergrößerung aufweist, bietet das Weitwinkelobjektiv einen angenehmen Überblick. Im Gegenzug zeigt das Bild der Weitwinkeloptik eine deutliche Bildverzerrung, welche beim Standardobjektiv nicht zu erkennen ist. Da es mir hauptsächlich um die Wetterbeobachtung geht, habe mich damals für das Weitwinkelobjektiv entschieden und den Nachteil der Bildverzerrung in Kauf genommen. Original nimmt der Sensor des Kameramoduls mit 5MP im 4:3 Format auf. Würde ich die Bilder im 4:3 Format belassen, wäre die Bildverzerrung unansehnlich. Durch den 16:9 Bildausschnitt, hält sich die Bildverzerrung in Grenzen.

Meine Erfahrungen mit USB-Webcams

Bevor ich das Raspberry Pi Kameramodul für mich entdeckt habe, hatte ich einige USB-Webcams am Raspberry zu laufen. Diese scheinen aber nur für den Kurzzeitgebrauch ausgelegt zu sein. Immer wieder gab es sehr bunte, mit Bildstörungen übersäte Bilder:

USB-Webcam mit Bildstörungen
Bild einer USB-Webcam mit Bildstörung und deutliche Überbelichtung um die Sonne herum.

Alles in allem bin ich sehr zufrieden mit der Raspberry-Webcam und kann diese Variante der Webcam nur weiter empfehlen. Im Netz gibt es viele Anleitungen zur Nutzung des Raspberry-Kameramoduls zu Überwachungszwecken mit LiveStream ins Internet. Damit kann man jederzeit von überall aus per Smartphone schauen, was Zuhause gerade los ist. Eine dieser Anleitungen habe ich hier mal verlinkt.

Werbung: