Nach der generellen Projektvorstellung im letzten Artikel, möchte ich heute etwas näher auf die verwendeten Hardwarekomponenten eingehen. Die werden natürlich später in eigenen Beiträgen noch näher vorgestellt werden. Das gilt auch für einige grundlegende Konzepte, die dem Projekt zugrunde liegen, wie zum Beispiel der programmtechnischen Trennung der Bewegungserkennung von der eigentlichen Videoaufnahme. Nach der Lektüre dieses Artikels sollte der Leser einen guten Überblick darüber haben, was genau realisiert wird und wie sich eine derartige Oachkatzl-Cam einsetzen lässt – nicht nur für Eichhörnchen.
Zuerst ein kurzer Kameraschwenk über die Dachterrasse. Zu sehen ist die Eisenstange, die in fast 2m Höhe die Dachterrasse begrenzt. Das ist die Oachkatzl-Autobahn – ein Hauptverkehrsweg der Eichhörnchen in der Umgebung mit guter Anbindung zur nebenstehenden Kiefer. Zur Zeit gibt es zwei Kameras. Eine für die Nahaufnahmen ist auf einem Mastausleger mithilfe eines Gelenkstativs befestigt. Diese Kamera besitzt einen Bewegungssensor zur Erkennung von vorbeikommenden Eichhörnchen. Das Futterschälchen direkt auf der Autobahn soll den Einhörnchen einladende Angebote unterbreiten und sie so direkt vor die Kamera locken. Die zweite Kamera – ohne eigenen Bewegungssensor – sitzt links auf der Außenstange und beobachtet die Szenerie mit etwas Abstand.
Zur Wahrung deiner Privatsphäre wird erst eine Verbindung zu YouTube hergestelt, wenn du den Abspielbutton betätigst.
Mehr Videos gibts in meinem YouTube-Kanal.
Gehäuse
Auffällig ist das etwas skurrile Kameragehäuse. Es ist aus der einfachen Überlegung heraus entstanden: Was ist wasserdicht, groß genug, alle Komponenten aufzunehmen und nicht teuer? Eine haushaltsübliche Frischhaltebox aus Plastik, genauer eine Lock & Lock Box für 850ml Inhalt. Die Lock & Lock Boxen sind durch den Schließmechanismus mit vier umklappbaren Plastiklaschen absolut wasserdicht und somit bestens für eine Outdoorkamera geeignet. Und die 850ml Variante ist groß genug, um hochkant einen Raspberry Pi 3 aufnehmen zu können. Angelehnt an dieses Gehäuses nenne ich diese Oachkatzl-Cam Modell 850. Modell 850A ohne – und Modell 850B mit Bewegungssensor. Denkbar sind natürlich auch andere Gehäuseformen, vielleicht auch kleinere, wenn denn mal der Raspberry Pi Zero in Deutschland verfügbar wird.
Bohrungen sind natürlich der Feind jeder Dichtigkeit, aber leider unumgänglich. Für die Kabelzuführung unten verwende ich schraubbare Durchführungen M20x1,5, die sich bereits bei meinem Schaltschrank für den Außeneinsatz gut bewährt haben. Für die Kamera braucht es eine zweite Bohrung, die mit einer kleinen Glasscheibe und reichlich Silikon wieder abgedichtet wird. Und Modell B braucht eine dritte Bohrung für den Bewegungssensor. Dessen Plastikkappe klebe ich ebenfalls mit Silikon in die passende Öffnung. Damit ist das ganze absolut dicht, sowohl bei Regen als auch bei Schnee und Eis.
Um weitere Bohrungen für die Befestigung des Gehäuses zu vermeiden, verwende ich eine Winkel-Lochplatte aus dem Baumarkt und klebe sie einfach großflächig mit Silikon auch die Rückseite. In eines der Löcher greift dann eine Gelenk-Stativ-Verlängerung aus dem Fotozubehörhandel, die allerdings mit ca. 20 EUR zu Buche schlägt. Die hat aber den unschlagbaren Vorteil, dass die Kamera sehr frei in alle Richtungen bewegt und dann mit einem Drehknopf in der gewünschten Stellung arretiert werden kann.
Bewegungserkennung
Die Kamera soll selbständig ein Video aufzeichnen, wenn ein Eichhörnchen vor die Linse kommt. Es muss also eine Auslösevorrichtung geschaffen werden. Denkbar sind da viele Ansätze, von Bildauswertung bis Lichtschranke. Technisch sehr einfach und kostengünstig ist ein PIR-Bewegungssensor (PIR = Passive InfraRed), der Bewegungen bis zu 7m Entfernung erkennen können soll. Man kennt diese Sensoren als berührungslose Lichtschalter für Vorgarten und Hauseingang.
Spannungsversorgung
Man sieht es im Video am roten Kabel, dass der Strom für die Kamera nicht aus Batterien sondern per Leitung kommt. Für die erforderlichen 5V sorgt ein entsprechender Spannungsregler.
Kamera
Für den Raspberry Pi gibt es eine eigene Kamera. Die kostet zwar fast nochmal so viel, wie der Raspberry Pi selbst, hat aber deutliche Vorteile gegenüber anderen Lösungen. So wird die Kamera mit dem passenden Flachbandkabel direkt zum Anschluss an den CSI-Port (Camera Serial Interface) des Raspberry Pi geliefert. Die Kamera kann full HD 1080p mit 30fps, was vermutlich mit einer Kamera am USB-Bus nicht erreichbar wäre. Und für die Raspberry Kamera gibt es Software, um sie zu steuern und eine Python-Bibliothek zur Programmierung.
Ringpuffer
Wenn ein Bewegungssensor die Aufnahme der Kamera steuern soll, so beginnt das Video erst an der Stelle, an der eine Bewegung erkannt wird. Typischerweise befindet sich das Eichhörnchen dann schon mitten im Bild. Viel schöner wäre es, wenn die Aufnahme bereits vorher starten würde und man im Video auch sieht, wie das Oachkatzl ins Bild kommt. Das könnte man durch eine Ausdehnung des überwachten Bereichs, durch mehrere Bewegungssensoren oder mit Lichtschranken erreichen. Viel einfacher geht das aber per Software mit Hilfe eines Ringpuffers. Dabei wird der Video-Datenstrom, den die Kamera liefert, ständig in einem Puffer zwischengespeichert. Der Puffer hat dabei eine definierte Größe, um sagen wir mal 20 Sekunden Video speichern zu können. Und er ist ringförmig angelegt, so dass nach den 20 Sekunden, wenn der Puffer voll ist, ein neues Bild das jeweils älteste überschreibt. Der Ringpuffer hat damit immer die letzten 20 Sekunden parat, die beim Auslösen des Bewegungssensors gespeichert werden. Später müssen nur noch die beiden Videoaufzeichnungen vor und nach der Auslösung zusammenmontiert werden, was die Software automatisch erledigt.
Trennung von Auslösung und Aufzeichnung
Das Konzept ist sicher etwas erklärungsbedürftig. Wenn ein einziges Programm den Bewegungssensor überwacht und dann die Videoaufnahme startet und später wieder beendet, dann ist es nur schwer möglich mit einem (1) Bewegungssensor mehrere Kameras zu steuern. Denn jede Kamera hängt ja an einem eigenen Raspberry Pi und die sind räumlich etwas getrennt. Ich schaue deshalb bei der Programmentwicklung konsequent darauf, dass die beiden Funktionen der Auslösungssteuerung und der eigentlichen Videoaufzeichnung von einander getrennt werden. Ein Programm bedient den Bewegungssensor und erzeugt bei erkannter Bewegung eine Trigger-Datei. Ein zweites Programm sucht nach dieser Datei und wenn sie existiert, startet es die Videoaufnahme. Eine zweite (oder dritte oder vierte) Kamera braucht nun nur per WLAN auf den Speicher der ersten Kamera zuzugreifen und ebenfalls die Existenz der Auslösedatei auszuwerten. So kann ein Bewegungssensor mehrere Kameras steuern.
Wie gehts weiter
Alle hier kurz angesprochenen Komponenten werden in den nachfolgenden Artikeln ausführlich besprochen. So fügt sich dann ein Videokamerasystem zusammen, mit dem nahe am Haus automatische Tieraufnahmen möglich sind. Vogelbeobachtungen am Futterhäuschen zum Beispiel, oder Katze und Schildkröte im Garten.
Weitere Artikel in dieser Kategorie:
- Raspberry Video Camera – Teil 1: Oachkatzl-Cam
- Raspberry Video Camera – Teil 3: Raspberry Pi Kamera Modul V2.1
- Raspberry Video Camera – Teil 4: Aufnahmeauslöser
- Raspberry Video Camera – Teil 5: Passiver Infrarot Bewegungssensor
- Raspberry Video Camera – Teil 6: Stromversorgung
- Raspberry Video Camera – Teil 7: Spannungsregler 5V
- Raspberry Video Camera – Teil 8: Montage Modell 850
- Raspberry Video Camera – Teil 9: Montage Kamera Modul
- Raspberry Video Camera – Teil 10: SW Installation Betriebssystem und Module
- Raspberry Video Camera – Teil 11: SW Python für die Kamera
- Raspberry Video Camera – Teil 12: SW Trigger per Bewegungssensor
- Raspberry Video Camera – Teil 13: SW Autostart und Überwachung
- Raspberry Video Camera – Teil 14: SW Installation Computer Vision (OpenCV 3.2)
- Raspberry Video Camera – Teil 15: SW Einzelbilder exportieren für die Farberkennung
- Raspberry Video Camera – Teil 16: SW Trigger per Farberkennung
- Raspberry Video Camera – Teil 17: Exkurs – Wie Computer Farben sehen
- Raspberry Video Camera – Teil 18: SW Farbkalibrierung
- Raspberry Video Camera – Teil 19: SW Kombinationstrigger
- Raspberry Video Camera – Teil 20: Exkurs – Farbdarstellung per 2D-Histogramm
- Raspberry Video Camera – Teil 21: Konzept einer selbstlernenden Farberkennung
- Raspberry Video Camera – Teil 22: SW selbstlernende Farberkennung in Python
- Raspberry Video Camera – Teil 23: Verbesserung durch ROI und Aufnahmezeitbegrenzung
- Raspberry Video Camera – Teil 24: Anpassung von Programmparametern
- Raspberry Video Camera – Teil 25: Zweite Kamera
- Raspberry Video Camera – Teil 26: Optimierungen gegen Frame Drops
- Raspberry Video Camera – Teil 27: Was kostet der Spaß?
- Raspberry Video Camera – Teil 28: Kamera Modell 200 mit Raspberry Pi Zero
- Raspberry Video Camera – Teil 29: Stromversorgung für Kamera Modell 200
- Raspberry Video Camera – Teil 30: Software für Kamera Modell 200
Hallo, tolle interessane Anleitung :-)
was ist das genau für eine „Gelenk-Stativ-Verlängerung“?
Kannst Du mir da eventuell einen Link für zukommen lassen?
Das ist dieses hier. Aber dran denken, das ist nicht outdoorfähig, nach einem Winter ist das im Freien verrostet. Aber sonst genial.