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.
This commit is contained in:
commit
c11fe9ab04
189 files changed
+29806
No files matched your search
@@ -0,0 +1,55 @@
|
||||
# Mitmachen
|
||||
|
||||
Fehlerberichte, Verbesserungen und neue Kameraanbindungen sind willkommen.
|
||||
Dieses Projekt ist zum Nachbauen gedacht — wer es aufbaut und dabei über eine
|
||||
rauhe Kante stolpert, hilft mit einem Hinweis mehr als mit Schweigen.
|
||||
|
||||
## Fehler melden
|
||||
|
||||
Am nützlichsten ist ein Bericht, aus dem hervorgeht, **was du erwartet hast und
|
||||
was stattdessen passiert ist**. Dazu:
|
||||
|
||||
- Welche Kamera (Pi Zero, ESP32-S3, etwas anderes) und welche Auflösung
|
||||
- Die letzten Zeilen aus dem Protokoll des Detectors
|
||||
- Bei Erkennungsfehlern: wenn möglich das Bild, um das es geht
|
||||
|
||||
⚠️ **Schwärze deine Zugangsdaten**, bevor du ein Protokoll einfügst — Tokens
|
||||
stehen dort im Klartext.
|
||||
|
||||
## Code beisteuern
|
||||
|
||||
1. Bevor du etwas Größeres baust: ein Issue aufmachen und kurz abstimmen. Das
|
||||
erspart dir die Arbeit, die ich vielleicht gerade selbst mache.
|
||||
2. Die Tests müssen durchlaufen — **aus dem Ordner `web/` heraus**, sonst
|
||||
findet Django keinen einzigen Test und meldet trotzdem Erfolg:
|
||||
|
||||
```bash
|
||||
cd web && ../venv/bin/python manage.py test
|
||||
```
|
||||
|
||||
Es sind derzeit 105.
|
||||
3. Kommentare und Oberfläche sind auf Deutsch, der Code folgt dem Stil der
|
||||
Umgebung, in der er steht.
|
||||
|
||||
## Lizenz deines Beitrags
|
||||
|
||||
Dieses Projekt steht unter der **GNU AGPL-3.0** (siehe [LICENSE](LICENSE)), und
|
||||
dein Beitrag wird unter derselben Lizenz veröffentlicht.
|
||||
|
||||
🔑 **Zusätzlich räumst du mir mit dem Einreichen eines Beitrags das Recht ein,
|
||||
ihn auch unter anderen Lizenzbedingungen zu verwenden** — einschließlich einer
|
||||
kommerziellen Lizenz. Das Recht ist einfach, zeitlich und räumlich unbeschränkt
|
||||
und übertragbar. Die Urheberschaft bleibt bei dir, und dein Beitrag bleibt
|
||||
selbstverständlich auch unter der AGPL verfügbar.
|
||||
|
||||
**Warum das nötig ist, offen gesagt:** Vogelalbum wird zusätzlich kommerziell
|
||||
lizenziert — wer es in einem Produkt einsetzen will, ohne seinen eigenen
|
||||
Quelltext offenlegen zu müssen, kann eine solche Lizenz erwerben. Doppelt
|
||||
lizenzieren darf aber nur, wem alle Rechte am Werk zustehen. Ohne diese
|
||||
Einräumung könnte ein einziger fremder Beitrag diesen Weg für das ganze
|
||||
Projekt versperren, und das ließe sich später kaum noch reparieren, weil
|
||||
dafür jeder Mitwirkende einzeln zustimmen müsste.
|
||||
|
||||
Wenn du damit nicht einverstanden bist, sag es bitte **vor** dem Einreichen.
|
||||
Dann finden wir einen anderen Weg — ein Fehlerbericht mit genauer Beschreibung
|
||||
ist oft genauso wertvoll wie fertiger Code, und für ihn gilt das alles nicht.
|
||||
Reference in new issue
Block a user