Frigate NVR 和 Hailo 在 reComputer R2000 上连接 Home Assistant
简介
Frigate NVR 是一个开源的网络视频录像机 (NVR),专为使用 AI 模型进行实时目标检测而设计。它轻量级、功能强大,并通过 RTSP 协议与摄像头无缝协作。
Home Assistant (HA) 是一个开源的智能家居自动化平台,能够控制和自动化家中的设备。
在本指南中,我们将向您展示如何在配备 Hailo PCIe 的 reComputer AI 设备 上安装 Frigate,并通过 MQTT 将其连接到您现有的 Home Assistant 设置,操作简单快捷。
前置条件
硬件要求
安装 Hailo PCIe 驱动
第 1 步:配置树莓派
sudo apt update
sudo raspi-config
- 导航到
6 Advanced Options > A8 PCIe Speed
- 选择
Yes
以启用 PCIe Gen 3 - 退出并选择
Finish

在 /boot/firmware/config.txt
文件末尾添加以下行:
dtoverlay=pciex1-compat-pi5,no-mip
第 2 步:安装 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
第 3 步:安装固件
cd ../..
./download_firmware.sh
sudo mkdir -p /lib/firmware/hailo
sudo cp hailo8_fw*.bin /lib/firmware/hailo/hailo8_fw.bin
第 4 步:修复 PCIe 描述符大小问题
创建 /etc/modprobe.d/hailo_pci.conf
文件,并添加以下内容:
options hailo_pci force_desc_page_size=4096
第 5 步:重启并验证
sudo reboot
ls /dev/hailo*
预期输出:
/dev/hailo0
安装 Frigate NVR 使用 Docker
前置条件
确保您的摄像头已配置为以 1920x1080 分辨率进行 RTSP 流媒体传输。
更新系统
sudo apt update
安装 Docker
curl -fsSL get.docker.com | bash
sudo usermod -aG docker $USER
sudo reboot
拉取 Frigate 镜像
docker pull ghcr.io/blakeblackshear/frigate:0.15.0-rc2-h8l
创建目录结构
mkdir -p ~/frigate/config
mkdir -p ~/frigate/data/db
mkdir -p ~/frigate/data/storage
cd ~/frigate
创建 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
创建 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
启动 Frigate
docker compose -f frigate.yml up -d
访问 Web 界面
访问: http://<your-device-ip>:5000

Home Assistant 集成
第一步: 设置 HACS
假设您正在运行 Home Assistant(HA Green、HA Yellow 或类似的独立设备):
- 如果尚未安装,请安装 HACS。
- 在 HACS 中,从社区商店安装 Frigate 集成。
使用您的 Frigate AI 盒子的 IP 和端口进行配置。
第二步: 安装 MQTT 插件
按照 官方 MQTT 集成指南 安装并配置 MQTT 代理插件。
第三步: 更新 Frigate 配置以支持 MQTT
mqtt:
host: <HA IP>
port: 1883
topic_prefix: frigate
client_id: frigate
user: <HA User Name>
password: <HA Password>
示例:
mqtt:
host: 10.0.0.136
port: 1883
topic_prefix: frigate
client_id: frigate
user: kasun
password: HiezenburgCook
完整示例:
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
第四步: 重启 Frigate
docker compose -f frigate.yml down
sudo docker compose -f frigate.yml up -d
第五步: 确认 MQTT 是否正常工作(可选)
- 检查 HA 日志或 MQTT 插件日志,验证是否收到来自 Frigate 的消息。
- 在 HA 中,您现在可以在自动化中使用 Frigate 事件,例如运动警报、检测到的对象等。
技术支持与产品讨论
感谢您选择我们的产品!我们致力于为您提供多种支持,确保您使用我们的产品时体验顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。