Wildtier-Fotofalle mit dem Pi Zero

Aus LinuxUser 02/2023

Wildtier-Fotofalle mit dem Pi Zero

© Swen Hopfe

Gartensafari

Mit einer Fotofalle auf Basis eines Raspberry Pi finden Sie heraus, wer oder was Ihrem Garten bei Nacht einen Besuch abstattet.

Fotofallen sind nicht neu, man findet sie als professionelle Automaten und für den Hobbybereich als kleiner Kasten. Ebenso kompakt soll das Modell für die Gartenüberwachung (Abbildung 1) ausfallen, aber mit innovativem Innenleben. Ein RasPi dient als Schaltzentrale und schießt die Fotos mittels angeschlossener Kamera. Allerdings geht er erst in Betrieb, wenn ein PIR-Sensor eine Bewegung registriert. Danach fällt die Elektronik wieder in den Stromsparmodus zurück. So kann die Fotofalle über Wochen im Gelände stehen bleiben.

Abbildung 1: Unsere Fotofalle schaltet nach einer Aufnahme automatisch wieder auf Stromsparmodus um.

Abbildung 1: Unsere Fotofalle schaltet nach einer Aufnahme automatisch wieder auf Stromsparmodus um.

Ein Raspberry Pi Zero W liefert einerseits genügend Leistung und nimmt andererseits so wenig Platz in Anspruch, dass alles in einem kompakten Gehäuse unterkommt. Um ihn in Betrieb zu nehmen, laden Sie ein neues Pi-OS-Image herunter und speichern es auf eine microSD-Karte. Mit angestecktem Bildschirm und Tastatur konfigurieren Sie zunächst die Boot-Optionen und die Netzwerkeinstellungen.

Einen Desktop brauchen Sie dazu nicht. Wählen Sie die automatische Anmeldung per CLI bei aktiviertem SSH und nehmen Sie anschließend von einem Rechner im LAN aus via Terminal alle weiteren Einstellungen vor. Unser Zero soll den der Aufgabe entsprechenden Host-Namen fotofalle bekommen. Für die Dateien im Projekt legen Sie im Home-Verzeichnis einen eigenen Ordner an.

Funktionsweise

Das Auslösen einer Aufnahme übernimmt ein PIR-Sensor, der zuverlässig die Bewegung von Lebewesen im Umfeld erkennt. Das Bild landet dann samt Zeitstempel im Dateinamen auf der SD-Karte des Pi Zero. Um zu überprüfen, ob es neue Aufnahmen gibt, lesen Sie die Speicherkarte vor Ort aus oder bringen den Apparat ins heimische Netz und kopieren dort seine Funde per Wi-Fi-Verbindung.

Beim Kameramodul fiel die Entscheidung auf ein Modell mit Filtermechanik und Fotowiderstand, das je nach Umgebungshelligkeit reagiert. Das ermöglicht nicht nur Aufnahmen bei Nacht ohne IR-Sperre, wie bei einer konventionellen NoIR-Cam, sondern auch Fotos bei Tageslicht. Die sehen dann zwar nicht überbelichtet aus, jedoch etwas farbverfälscht. Doch das stört letztlich ebenso wenig wie die etwas geringere Auflösung im Vergleich zur aktuellen Pi-Cam oder der HD-Variante. Wie bei anderen Wildkameras geht es vor allem ums Erkennen und Dokumentieren. Das größere Objektiv macht sich außerdem gut beim Einbau ins Gehäuse und beim Einstellen der Festbrennweite.

Um trotz eines kräftigen Akkus und eines optionalen Solarpanels eine möglichst lange Zeit in freier Wildbahn funktionsfähig zu bleiben, soll der RasPi nicht ständig laufen. Stattdessen wecken Sie ihn über eine kleine Elektronik mithilfe des PIR-Sensors zuerst auf und schalten ihn nach getaner Arbeit wieder ab (Abbildung 2).

Abbildung 2: Der Blockschaltplan zeigt, wie sich der Pi Zero gezielt ein- und ausschalten lässt.

Abbildung 2: Der Blockschaltplan zeigt, wie sich der Pi Zero gezielt ein- und ausschalten lässt.

Die dafür notwendige Software übernimmt das Python-Skript fotofalle.py, das nach dem Hochfahren des Zero startet, die Kamera auslöst und den Rechner danach wieder kontrolliert herunterfährt. Den Ruhezustand erkennt die Steuerelektronik durch Abfrage des seriellen Ports des Pi Zero und kappt dessen Stromversorgung dementsprechend komplett. Danach bleibt nur noch die sparsame Überwachungselektronik der Fotofalle aktiv, um auf das nächste Ereignis am Bewegungsmelder zu reagieren und den Vorgang zu wiederholen. Das Skript, einen Schaltplan und weitere nützliche Informationen zum Nachbau finden Sie in unserem Github-Projekt unter https://github.com/swenae/fotofalle.

Aufbau

Sämtliche Hardwarekomponenten integrieren sich problemlos in ein fertiges Gehäuse mit Gummidichtung. Im Deckel befinden sich eine Bohrung für das Objektiv der Kamera, der Fotowiderstand sowie die Kuppel des Bewegungsmelders. Hinten im Deckel sitzt zudem eine Echtzeituhr, seitlich gibt es eine Öffnung für das OLED-Display. Im Inneren platzierten wir links den Akku, rechts daneben den Pi Zero, die Ladeplatine und sonstige Elektronik im Sandwich (Abbildung 3). Der Kasten “Bauteilliste” fasst alle Komponenten zusammen.

Bauteilliste

  • Raspberry Pi Zero W (1 oder 2)
  • PIR-Sensor
  • RTC-Modul
  • OLED-Display
  • Relaismodul
  • Akku
  • Überspannungsschutz
  • Ladeelektronik
  • Platine, diverse Widerstände
  • Kondensator, Dioden, Transistor
  • Gehäuse, Verkabelung
  • Solarpanel (optional)
  • IR-Scheinwerfer (optional)
Abbildung 3: Alle einzubauenden Komponenten passen problemlos in ein kleines Gehäuse.

Abbildung 3: Alle einzubauenden Komponenten passen problemlos in ein kleines Gehäuse.

An der geschützten Gehäuseunterseite verfügt die Fotofalle über Anschlüsse für ein 5-Volt-Netzteil zum externen Laden, einen Infrarotscheinwerfer und die Steckverbindung zum Solarpanel. Letzteres bekommt noch einen Einschub ganz oben am Gehäuse und dient somit gleichzeitig als kleines Vordach zum Regenschutz.

Ein erster Schalter ist in der Stromversorgung integriert. Für eine längere Außerbetriebnahme trennt ein weiterer Schalter den Akku von der Schutzschaltung und der Ladeelektronik. Ein U-Profil an der Gehäuserückseite nimmt einen Erdspieß oder Riemen auf, um die Wildtierkamera vor Ort variabel anbringen zu können.

Echtzeituhr

Eine Kombination aus Zeitstempel per Real-Time-Clock (RTC) und Zufalls-String soll die aufgenommenen Bilder kennzeichnen. Allerdings besitzt der Pi Zero keine eingebaute RTC und muss sich die korrekte Zeit normalerweise von einem NTP-Server holen. Um im Gelände auch ohne Internet-Verbindung einen Zeitstempel für geschossene Fotos zu generieren, müssen Sie der Fotofalle zusätzliche Hardware spendieren.

Wir nutzen ein RTC-Modul mit einem DS3231-Chip, das sich über den 3V3-Pin des Zero versorgen lässt. Ältere Boards sind noch für den Betrieb mit einer Akkuknopfzelle vorgesehen. Möchten Sie diese durch eine herkömmliche CR2032-Zelle ersetzen, müssen Sie den Widerstand rechts oben entfernen, um langfristig Schäden zu vermeiden. Beim Betrieb an einem Raspberry Pi können Sie außerdem optional die Pullup-Widerstände gegenüber dem VCC-Pin wegnehmen.

Kontrollieren Sie mittels sudo i2cdetect -y 1 den I2C-Bus, dann sehen Sie zwei Einträge für das Modul. Standardmäßig stehen im Output an der Stelle 50:7 die Adresse 57 und an der Stelle 60:8 vorerst der Wert 68. Anschließend müssen Sie noch die RTC beim Bootvorgang aktivieren.

Dazu fügen Sie in die config.txt die Zeile dtoverlay=i2c-rtc,ds3231 für das Overlay ein. Der Eintrag darf rechts vom Gleichheitszeichen keine Leerzeichen enthalten. Nach einem Reboot und erneutem Aufruf von i2cdetect sollte sich an der Stelle 60:8 nun der Wert UU finden (Listing 1). Das bestätigt, dass der Treiber für den DS3231-Chip aktiv ist.

Listing 1

RTC-Modul mit aktivem Treiber

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Da wir jetzt eine RTC betreiben, gilt es, den bisherigen Service des RasPi wie in der ersten Zeile von Listing 2 zu deaktivieren. Nach dem nächsten Neustart läuft der Zero mit der Hardwareuhr. Nun sorgen Sie noch mit einer Udev-Regel dafür, dass die RTC bei bestehender Internet-Verbindung automatisch aus dem Web aktualisiert wird. Dazu erstellen Sie über den Befehl aus der zweiten Zeile die Datei 60-rtc_synch.rules mit dem Inhalt aus Listing 3.

Listing 2

RTC einrichten

$ sudo systemctl disable fake-hwclock.service
$ sudo nano /etc/udev/rules.d/60-rtc_synch.rules
[... siehe Listing 3 ...]
$ sudo hwclock -r; date
$ sudo hwclock --set --date="10 Dec 2022 10:00"

Listing 3

60-rtc_synch.rules

ACTION=="add", SUBSYSTEM=="rtc", ATTRS{hctosys}=="0", RUN+="/sbin/hwclock -s --utc"

Daraufhin sollte sich die RTC bei einer kurzen Internet-Verbindung des Pi Zero synchronisieren und dann offline immer die aktuelle Uhrzeit anzeigen. Ob dem so ist, überprüfen Sie im Versuchsaufbau jederzeit mit dem Befehl aus der vierten Zeile von Listing 2. Bei Bedarf lässt sich die eingebaute Uhr manuell einstellen (Zeile 5).

Nun hat unsere Fotofalle also eine unabhängige und zuverlässige Uhr an Bord. Neben dem Zeitstempel umfassen die Dateinamen der aufgenommenen Bilder aber noch einen Zufalls-String, sodass selbst im Fehlerfall keine Bilder überschrieben werden.

OLED-Display

Unser OLED haben wir wie die RTC per I2C-Bus an den Pi Zero angebunden. Es dient als Info-Display, um beim Aufstellen im Gelände über den Zustand der Fotofalle und des Aufnahmevorgangs informiert zu sein. Der Bildschirm schaltet sich parallel zum Pi Zero ein, im Ruhezustand der Wildkamera bleibt er entsprechend aus.

Um gezielt ein Foto auszulösen, wischen Sie mit der Hand über den Bewegungsmelder und bekommen angezeigt, ob ein neues Foto aufgenommen wurde und welchen Zeitstempel es trägt. Hier empfiehlt es sich, direkt danach die Testaufnahme anzusehen, um die Kamera bei Bedarf neu auszurichten.

Akku und Ladeelektronik

Als Akku verwenden wir ein LiFePO4-Exemplar. Solche Lithium-Eisenphosphat-Zellen glänzen mit einer sehr geringen Selbstentladung und gutem Leistungsgewicht. Zudem gibt es bei ihnen keinen Memory-Effekt und sie funktionieren auch bei niedrigen Temperaturen. All das ist ideal für unsere Fotofalle draußen in der Natur.

Für die noch recht neuen LiFe-Akkus gibt es zwar Ladegeräte, aber bisher kaum spezielle Lademodule für Elektroniker zum Selbstbau. Es besteht jedoch die Möglichkeit, vorhandene Lademodule mit einer Schutzschaltung für LiFe-Akkus auszurüsten, um deren Ladeschlussspannung auf 3,6 Volt zu begrenzen. Wir setzen einen Lade- und Solar-Manager von DFRobot ein, mit Anschlüssen für ein Solarmodul mit 4 bis 6 Volt, externer Lademöglichkeit sowie Akkuanschluss. Wir ergänzen ihn um eine direkt auf dem Akku angebrachte Schutzplatine (Abbildung 4). Das kleine Batteriemanagement-Board bietet neben der Überladungserkennung einen Tiefentlade- und Kurzschlussschutz.

Abbildung 4: Die Ladeelektronik verfügt über einen Akku mit Schutzschaltung.

Abbildung 4: Die Ladeelektronik verfügt über einen Akku mit Schutzschaltung.

Fazit

Wegen der durch den Stromsparmechanismus verursachten Auslöseverzögerung eignet sich unsere Wildtierkamera nicht dazu, sich schnell durch den Fokusbereich bewegende Tiere aufzunehmen. Erfahrungsgemäß haben es aber nur die wenigsten Gartenbesucher so eilig, weswegen ich das Modell Marke Eigenbau nach längerem Einsatz im eigenen Garten für durchaus tauglich halte. Da wir zu Hause regelmäßig tierische Besucher auf dem Grundstück haben, wird die Fotofalle des Öfteren ausgelöst, arbeitet rundum zufriedenstellend und soll weiter in Betrieb bleiben. Sie wird wohl noch einige interessante Aufnahmen liefern. (csi)

Der Autor

Swen Hopfe arbeitet bei einem mittelständischen Unternehmen mit dem Schwerpunkt Chipkarten und NFC. Wenn er nicht gerade beim Fotografieren, in der Natur oder im Garten unterwegs ist, beschäftigt er sich mit Themen rund um den RasPi, IoT und Hausautomation.

Glossar

PIR-Sensor

Passive Infrared Sensor. Registriert die Wärmestrahlung von Lebewesen, die sich in den Erfassungsbereich bewegen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 02/2023 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben