Eine Kamera am Vogelhaus, ein Rechner der erkennt wer da war — und eine Sammlung, die sich von allein fuellt. Zwei neuronale Netze: eines findet den Vogel im Bild, eines bestimmt die Art. 148 heimische Arten, auf Deutschland eingeschraenkt und neu normiert — ohne diese Einschraenkung wird aus einer Kohlmeise eine nordamerikanische Schwesterart. Daraus entsteht ein Sammelalbum: nummerierte Seiten, gefundene Arten in Farbe, fehlende als Schatten, dazu Erstfang, Punkte, Stufen und 15 Abzeichen. Laeuft vollstaendig auf eigener Hardware. Kein Cloud-Dienst, kein Konto, keine Telemetrie; die Bilder verlassen das eigene Netz nicht. Zwei getrennt deploybare Teile: die Sammlung als Django-Anwendung, die Erkennung als eigener Dienst. Der Erkennungs-Dienst fragt selbst an und braucht deshalb weder eine erreichbare Adresse noch einen offenen Port — er laeuft hinter einem gewoehnlichen Router. Dabei: Firmware fuer Raspberry Pi und ESP32-S3, Anbindung an Home Assistant ueber MQTT, Oberflaeche auf Deutsch und Englisch, Einstellungen je Kamera aus dem Browser, und ein Weg fuer Fotos von unterwegs. AGPL-3.0.
2.7 KiB
2.7 KiB
Änderungen
Format in Anlehnung an Keep a Changelog, Versionen nach SemVer.
1.0.0 — 2026-10-18
Erste Veröffentlichung.
Dabei
- Arterkennung aus einem Kamerastrom: ein Netz findet den Vogel im Bild, ein zweites bestimmt die Art. Katalog mit 148 heimischen Arten, auf Deutschland eingeschränkt und neu normiert — ohne diese Einschränkung wird aus einer Kohlmeise eine nordamerikanische Schwesterart.
- Sammlung im Stil eines Klebebildchen-Albums: nummerierte Seiten, gefundene Arten in Farbe, fehlende als Schatten. Erstfang, Punkte, Stufen und 15 Abzeichen.
- Läuft auf eigener Hardware. Kein Cloud-Dienst, kein Konto, keine Telemetrie. Die Bilder verlassen das eigene Netz nicht.
- Zwei Teile, getrennt deploybar: die Sammlung als Django-Anwendung, die Erkennung als eigener Dienst. Der Erkennungs-Dienst fragt selbst an und braucht deshalb weder eine erreichbare Adresse noch einen offenen Port.
- Kameras: alles, was MJPEG oder Einzelbilder über HTTP liefert. Fertige
Firmware für Raspberry Pi (
pi/) und ESP32-S3 (esp32cam/) liegt bei, beide mit/statusfür die Diagnose, ohne den Bildstrom anzufassen. - Fotos von unterwegs: Bilder lassen sich hochladen und werden von derselben Erkennung bestimmt wie die der Kamera.
- Home Assistant über MQTT mit Autodiscovery.
- Zweisprachig, Deutsch und Englisch. Quelltext und Kommentare sind deutsch.
- Einstellungen je Kamera aus der Oberfläche — Schwellwerte, Lebensräume, Artenliste. Der Erkennungs-Dienst holt sie sich im Betrieb ab und übernimmt sie, ohne das Modell neu zu laden.
- Fehlalarme: ein Mindestwert je Besuch verwirft Spiegelungen und Bewegungen ohne Vogel, bevor daraus eine Sichtung wird.
Sicherheit
- Je Kamera ein eigener Token (als SHA-256 gespeichert), damit ein kompromittierter Standort einzeln stillgelegt werden kann.
- Getrennte Token für Schreiben und Lesen.
- Hochgeladene Bilder werden neu geschrieben statt nur geprüft: Nur die Pixel überleben, Metadaten fallen dabei weg. Das betrifft vor allem den Ort in EXIF-Daten von Handyfotos.
- Im Betrieb: Cookies nur über HTTPS, HSTS,
nosniffauf den Medien.
Bekannte Grenzen
- Acht heimische Arten kennt das Modell nicht und ordnet sie Verwandten zu: Sumpf-, Weiden- und Haubenmeise, Gartenbaumläufer, Kleinspecht, Bluthänfling, Kernbeißer, Waldkauz.
- Der Vogel braucht 5 bis 8 % der Bildfläche, sonst findet ihn die Erkennung nicht. Das ist eine Frage des Bildwinkels, nicht der Auflösung — näher montieren hilft, mehr Megapixel nicht.
- Der unterste Bildrand ist eine tote Zone. Die Landefläche gehört in die untere Bildmitte, nicht an die Kante.