Skip to main content

Frigate NVR y Hailo en reComputer R2000 conectar con Home Assistant

Introducción

Frigate NVR es un Grabador de Video en Red (NVR) de código abierto diseñado específicamente para detección de objetos en tiempo real usando modelos de IA. Es ligero, potente y funciona perfectamente con cámaras a través del protocolo RTSP.

Home Assistant (HA) es una plataforma de código abierto para automatización de hogar inteligente que te permite controlar y automatizar dispositivos en tu hogar.

En esta guía, te guiaremos a través de cómo instalar Frigate en una caja de IA reComputer equipada con Hailo PCIe, y cómo conectarla a tu configuración existente de Home Assistant usando MQTT con mínimas complicaciones.

Prerrequisitos

Requisitos de Hardware

reComputer AI Industrial R2000reComputer AI R2000

Instalar el Controlador PCIe de Hailo

Paso 1: Configuración de Raspberry Pi

sudo apt update
sudo raspi-config
  • Navega a 6 Advanced Options > A8 PCIe Speed
  • Selecciona Yes para habilitar PCIe Gen 3
  • Sal y selecciona Finish

Añade la siguiente línea al final de /boot/firmware/config.txt:

dtoverlay=pciex1-compat-pi5,no-mip

Paso 2: Instalar el Controlador PCIe

sudo apt update
sudo apt install dkms
git clone https://github.com/hailo-ai/hailort-drivers
cd hailort-drivers/linux/pcie
git checkout 24e7ff2fb58fab7029024c1a1d3f2d1914f56d7b
sudo make install_dkms

Paso 3: Instalar Firmware

cd ../..
./download_firmware.sh
sudo mkdir -p /lib/firmware/hailo
sudo cp hailo8_fw*.bin /lib/firmware/hailo/hailo8_fw.bin

Paso 4: Solucionar el Problema del Tamaño del Descriptor PCIe

Crea /etc/modprobe.d/hailo_pci.conf con este contenido:

options hailo_pci force_desc_page_size=4096

Paso 5: Reiniciar y Verificar

sudo reboot
ls /dev/hailo*

Salida esperada:

/dev/hailo0

Instalar Frigate NVR con Docker

Prerrequisitos

Asegúrate de que tu cámara esté configurada para transmisión RTSP a resolución 1920x1080.

Actualizar Sistema

sudo apt update

Instalar Docker

curl -fsSL get.docker.com | bash
sudo usermod -aG docker $USER
sudo reboot

Descargar la Imagen de Frigate

docker pull ghcr.io/blakeblackshear/frigate:0.15.0-rc2-h8l

Crear Estructura de Directorios

mkdir -p ~/frigate/config
mkdir -p ~/frigate/data/db
mkdir -p ~/frigate/data/storage
cd ~/frigate

Crear archivo Docker Compose (frigate.yml)

nano frigate.yml
services:
frigate-hailo:
container_name: frigate-hailo
privileged: true
restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:0.15.0-rc2-h8l
shm_size: 1024mb
devices:
- /dev/hailo0:/dev/hailo0
volumes:
- /etc/localtime:/etc/localtime:ro
- ./config/:/config
- ./data/db/:/data/db
- ./data/storage:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: 1g
ports:
- 5000:5000

Crear archivo de configuración de Frigate (config/config.yml)

nano config/config.yml
database:
path: /data/db/frigate.db

go2rtc:
streams:
home:
- rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0

cameras:
home:
ffmpeg:
inputs:
- path: rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0
roles:
- record
- detect

mqtt:
enabled: False

objects:
track:
- person
- cat

detectors:
hailo8l:
type: hailo8l
device: PCIe

model:
width: 300
height: 300
model_type: ssd
path: /config/model_cache/h8l_cache/ssd_mobilenet_v1.hef

version: 0.15-1

Iniciar Frigate

docker compose -f frigate.yml up -d

Acceder a la Interfaz Web

Visita: http://<tu-ip-del-dispositivo>:5000

Integración con Home Assistant

Paso 1: Configuración de HACS

Asumiendo que estás ejecutando Home Assistant (HA Green, HA Yellow, o dispositivos independientes similares):

  • Instala HACS si no está ya instalado.
  • En HACS, instala la integración de Frigate desde la tienda de la comunidad.

Configúrala usando la IP y puerto de tu caja de IA Frigate

Paso 2: Instalar el Complemento MQTT

Sigue la guía oficial de integración de MQTT para instalar y configurar el complemento del broker MQTT.

Paso 3: Actualizar la Configuración de Frigate para MQTT

mqtt:
host: <HA IP>
port: 1883
topic_prefix: frigate
client_id: frigate
user: <HA User Name>
password: <HA Password>

Ejemplo:

mqtt:
host: 10.0.0.136
port: 1883
topic_prefix: frigate
client_id: frigate
user: kasun
password: HiezenburgCook

ejemplo completo :

database:
path: /data/db/frigate.db

go2rtc:
streams:
home:
- rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0

cameras:
home:
ffmpeg:
inputs:
- path: rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0
roles:
- record
- detect

mqtt:
host: core-mosquitto
port: 1883
topic_prefix: frigate
client_id: frigate
user: kasun
password: HiezenburgCook

objects:
track:
- person
- cat

detectors:
hailo8l:
type: hailo8l
device: PCIe

model:
width: 300
height: 300
model_type: ssd
path: /config/model_cache/h8l_cache/ssd_mobilenet_v1.hef

version: 0.15-1


Paso 4: Reiniciar Frigate

docker compose -f frigate.yml down
sudo docker compose -f frigate.yml up -d

Paso 5: Confirmar que MQTT está Funcionando (opcional)

  • Revisa los registros de HA o los registros del complemento MQTT para verificar los mensajes de Frigate
  • En HA, ahora puedes usar los eventos de Frigate en automatizaciones, por ejemplo, alertas de movimiento, objetos detectados, etc.

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...