Fugleramme: E-ink vogelkozijn voor Raspberry Pi

Het project is gebouwd bovenop BirdNET-Go, dat de microfoon, de BirdNET-classifier en de detectie-instellingen beheert. Fugleramme leest de detecties uit en rendert onlangs waargenomen vogels op een Inky-Impression e-ink paneel.

Tip: Het e-ink paneel is niet strikt vereist, hoewel het wel wordt aanbevolen voor de beoogde ervaring. Zonder paneel werkt Fugleramme uitsluitend via het web; u kunt de kiosk dan tonen op een display via HDMI, of openen vanaf elk apparaat binnen het netwerk.

Een live voorbeeld is te vinden op fugleramme.arnegiacomo.dev, die draait vanuit een keukenraam in Bergen, Noorwegen, en de vogels toont die op dat moment in de tuin worden gehoord. Documentatie over hardware, installatie en beheer is beschikbaar via arnegiacomo.dev/fugleramme.

Hoe het werkt

Het proces verloopt als volgt: MicrofoonBirdNET-GoSQLitecollagepaneel.

BirdNET-Go luistert via een USB-microfoon en schrijft de geïdentificeerde vogels naar een eigen database. Fugleramme leest deze data, koppelt elke soort aan een illustratie, plaatst deze op een pagina en tekent het beeld opnieuw zodra de vogels veranderen. Er is een beheerderspagina beschikbaar om te configureren wat er wordt getoond, inclusief automatische updates.

Hardware

De benodigde hardware bestaat uit:

  • Een Raspberry Pi 5
  • Een Inky Impression 13.3" (Spectra 6)
  • Een USB-microfoon
  • Een A4-lijst

Een volledige onderdelenlijst, alternatieven en de redenen voor de keuze van elk onderdeel zijn te vinden onder de sectie 'Hardware' in de documentatie.

Kunst en illustraties

De vogels zijn uitgesneden uit historische, publieke domein natuurhistorische tekeningen die handmatig voor dit project zijn gecureerd. Elke gedetecteerde soort wordt gekoppeld aan zijn illustratie, waarbij de achtergrond is verwijderd. De vogels worden vervolgens geplaatst op een pagina met papiertextuur; grotere vogels worden in het centrum geplaatst en de grootte is gebaseerd op de lichaamsmassa. Wanneer er geen vogels worden gedetecteerd, toont het venster een lege zitstok.

Een belangrijk doel van dit project is het tonen van prachtige publieke domein illustraties: elke vogel is uitgesneden uit een echte plaat. Er is geen gebruik gemaakt van AI-gegenereerde kunst, hoewel sommige afbeeldingen met AI zijn geretoucheerd.

Bekende beperkingen

  • Regionale dekking: De kunstwerken dekken Noord-Europa. De platen zijn Scandinavisch en Brits, waardoor de Noordse landen, de Britse eilanden en Duitsland goed vertegenwoordigd zijn. Andere regio's zijn (nog) minder gedekt.
  • Hardware-afhankelijkheid: De microfoon is belangrijker dan de Raspberry Pi. De detectie wordt uitgevoerd door BirdNET-Go, en de kwaliteit hiervan hangt voornamelijk af van de microfoon, de plaatsing ervan en de hoeveelheid vogels in de omgeving.

Installatie en gebruik

Lokaal draaien (voor ontwikkeling)

uv sync                                       # Stel de venv in
uv run python -m fugleramme.seed --count 40   # Seed de database (geen BirdNET-Go in dev)
uv run fugleramme-dev                         # Start de service op poort :8080 met hot-reload

Installeren op een Raspberry Pi

Vanaf de Pi (ervan uitgaande dat de hardware is aangesloten en werkt):

curl -fsSL https://raw.githubusercontent.com/arnegiacomo/fugleramme/main/install.sh | bash

Dit commando kloont de repository, installeert de vereiste afhankelijkheden, start BirdNET-Go en start het kozijn als een systemd-service. Let op: op een fris systeem is waarschijnlijk een reboot nodig. Indien het display na installatie leeg blijft, kan men kijken bij 'Troubleshooting'. Voor installatie vanaf een lege SD-kaart wordt verwezen naar de volledige installatiegids.

Licenties

  • Code: MIT - zie LICENSE.
  • Detectie (BirdNET-Go): CC BY-NC-SA 4.0 (uitsluitend voor niet-commercieel gebruik). Het BirdNET-model is ontwikkeld door het Cornell Lab of Ornithology en de Chemnitz University of Technology; taxonomie-data worden geleverd door eBird.org.
  • Vogelafbeeldingen: Elke stijlmap bevat eigen voorwaarden en bronnen; het manifest linkt naar de plaat waar het bestand is uitgesneden. De 'classic' stijl is CC BY-SA 4.0 (zie assets/artwork/classic/ATTRIBUTION.md).
  • Lettertypen (assets/fonts/): SIL OFL 1.1 (zie assets/fonts/ATTRIBUTION.md).
  • Vogelgroottes (assets/bird_sizes.csv): Lichaamsmassa afkomstig van AVONET (Tobias et al. 2022, Ecology Letters, doi:10.1111/ele.13898), CC BY 4.0.

Kant-en-klare frames

Er zijn reeds enkele exemplaren gebouwd. Indien u liever een kant-en-klaar frame wilt in plaats van het zelf te bouwen, kunt u contact opnemen met de maker.