Files
christian c11fe9ab04 Vogelalbum 1.0.0
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.
2026-10-15 14:30:02 +00:00

783 B

1# Zwei App-Bereiche, damit sich das Geraet ueber WLAN aktualisieren kann.
2#
3# 🔑 Grundsatz in diesem Projekt: JEDES Geraet muss OTA koennen. Diese Tabelle ist die
4# Voraussetzung dafuer, und sie gehoert von Anfang an so angelegt -- sie
5# nachtraeglich zu aendern kostet genau das, was OTA vermeiden soll: einen
6# Gang zum Geraet mit dem Kabel. (Am 23.09.2026 genau deshalb nachgeholt.)
7#
8# Bei 16 MB Flash ist das muehelos: zwei mal 4 MB App, der Rest bleibt frei.
9# Das Abbild liegt bei knapp 1 MB, also ist reichlich Luft.
10#
11# Name, Type, SubType, Offset, Size
12nvs, data, nvs, 0x9000, 0x6000
13otadata, data, ota, 0xf000, 0x2000
14phy_init, data, phy, 0x11000, 0x1000
15ota_0, app, ota_0, 0x20000, 4M
16ota_1, app, ota_1, , 4M