← Alle homelabprojecten

Lokale camerabeveiliging

Frigate op een Raspberry Pi 5

Camerabeelden lokaal verwerken, objecten herkennen met gespecialiseerde AI-hardware en de resultaten bruikbaar maken in Home Assistant. Met dat doel bouwde ik een Frigate-server rond een Raspberry Pi 5 en een Hailo-8L-accelerator.

In ontwikkeling
  • Raspberry Pi
  • Frigate
  • Docker
  • Hailo-8L
  • AI
  • Home Assistant
Illustratie van een Raspberry Pi met AI-module, verbonden met drie beveiligingscamera's die lokaal personen, voertuigen en dieren detecteren.

In één oogopslag

Technieken en kerninformatie

In ontwikkeling Raspberry Pi 5 en Hailo-8LUbuntu en DockerDrie IP-camera's120 GB USB-opslag

Waarom ik dit bouw

Ik wilde onderzoeken hoeveel camerabewaking lokaal kan gebeuren, zonder voor iedere detectie afhankelijk te zijn van een externe clouddienst. Frigate combineert videostreams, opnames en objectdetectie in één systeem. Door de herkenning op een Hailo-8L uit te voeren, hoeft de Raspberry Pi niet al het AI-werk zelf te verwerken.

De installatie is tegelijk een praktisch systeem en een leerproject. Ze brengt Linux, Docker, camerastreams, opslag, AI-versnelling en woningautomatisering samen.

De opstelling

De basis bestaat uit een Raspberry Pi 5 met Ubuntu. Frigate draait in Docker en gebruikt een aangesloten Hailo-8L voor objectdetectie. Drie IP-camera's leveren hun videostreams via het lokale netwerk. Een afzonderlijke USB-schijf van 120 GB is beschikbaar voor opnames en andere Frigate-media.

De containerconfiguratie houdt programma, instellingen en media van elkaar gescheiden. Een systeemdienst zorgt ervoor dat de Docker-opstelling na een herstart opnieuw wordt opgebouwd. Daardoor is de installatie gemakkelijker te beheren en te herstellen.

Waar het interessant werd

De AI-accelerator werkend krijgen was maar één deel van het verhaal. Camerastreams blijken minstens even belangrijk. Verkeerde aanmeldgegevens, verschillen tussen hoofd- en substreams en tijdelijke netwerkproblemen kunnen ervoor zorgen dat een camera niet bereikbaar is of dat Frigate een stream opnieuw moet starten.

Door de logs van Frigate, go2rtc en FFmpeg naast elkaar te leggen, kon ik problemen stap voor stap van elkaar onderscheiden. Zo werd duidelijk of een fout bij de camera, het netwerk, de stream of de detectie ontstond.

Wat al werkt

  • Frigate draait in Docker op de Raspberry Pi 5.
  • De Hailo-8L wordt door het systeem herkend en voert de detectie uit.
  • Drie camera's kunnen in de opstelling worden opgenomen.
  • Opnames en media krijgen een afzonderlijke opslaglocatie.
  • De basis voor integratie met Home Assistant is aanwezig.

Verder bouwen

Volgende stappen

  1. De camerastreams verder stabiel maken en bewaken.
  2. Detectiezones en meldingen verfijnen om onnodige gebeurtenissen te beperken.
  3. De integratie met Home Assistant verder uitwerken.
  4. De configuratie en herstelprocedure veilig documenteren en back-uppen.
← Alle homelabprojecten