侧边栏壁纸
博主头像
龍騰博客 博主等级

行动起来,活在当下

  • 累计撰写 137 篇文章
  • 累计创建 31 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

在Ubuntu上安装frigate 5 自动化

管理员
2026-05-24 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

“Frigate 集成”的书房智能自动化控灯保姆级教程

这套方案利用 Frigate 的 AI 边缘计算划分出“虚拟隔间”,能做到比传统人体传感器精准数倍的控制(人走到书桌前才亮,坐在椅子上不动绝不灭灯)。

🗺️ 第一阶段:Frigate 端 —— 划分书房的“特定区域(Zone)”

首先,我们需要在 Frigate 里用坐标把书房的“书桌”和“门口”圈出来。

1. 借助图形界面一键圈地

  1. 访问你的 Frigate 后台(例如 http://192.168.0.1:5678)。

  2. 点击顶部的 Cameras ➔ 进去你的书房摄像头(scam_front)。

  3. 点击右上角的 Mask & Zone creator(区域创造器)。

  4. 点击 Add Zone,分别创建两个区域,起名为:study_desk(书桌区)和 study_door(门口区)。

  5. 用鼠标在画面上点击拖动,把范围框死。框好后,下方会自动生成一串 coordinates(坐标)数字。

2、摄像头核查设置

点击进入 设置 (Settings) ➔ 摄像头设置 ➔核查

  • 确保最上方的 警报 (Alerts)检测 (Detections) 两个总开关处于开启(蓝色)状态。

  • 往下看 核查分类 (Review Classification)

    • 在左侧 警报 (Alerts) 下方:勾选 Study_deskStudy_door

    • 在右侧 检测 (Detections) 下方:同样勾选 Study_deskStudy_door

    • 勾选下方的 限制仅在特定区域内进行检测(限制只在框内触发事件,防止框外杂物干扰)。

  • 点击最下方的蓝色 保存 (Save) 按钮。

3. 写入 config.yml 配置文件

回到你的 Ubuntu 终端(/root/frigate/config.yml),将圈好的坐标规范写入。

⚠️ 避坑死理:YAML 对数字极其严格,坐标里的整数 0 必须规范写成浮点数 0.0,否则底层解析会弹语法错误!

YAML

    zones:
      study_desk:
        coordinates: 0.0,0.596,0.23,0.598,0.23,0.89,0.0,0.887  # 💥 整数0全部规范改写为0.0
        loitering_time: 0
        objects:
          - person                                           # 💥 让书桌区域只过滤“人”
      study_door:
        coordinates: 0.581,0.222,0.825,0.105,0.897,0.76,0.785,0.803,0.637,0.94,0.598,0.983
        loitering_time: 0
        objects:
          - person                                           # 💥 让门口区域只过滤“人”

3. 让容器吃下新配置

在 Ubuntu 的 /root/frigate/ 目录下,执行强刷组合拳:

Bash

docker compose down
docker compose up -d

🔌 第二阶段:Home Assistant 端 —— 激活“虚拟设备”

由于新版 Frigate 集成非常智能,它不会把 Zone 当作零散的传感器,而是会在 HA 里直接把它们升格为独立的“虚拟设备”。如果找不到,我们需要强行逼它现身。

1. 强行重新加载集成(逼出设备)

  1. 进入 HA 设置 ➔ 设备与服务 ➔ 找到 Frigate 大卡片

  2. 点击卡片右下角的 三个点 ➔ 选择 重新加载 (Reload)

  3. 重新加载后,你会发现 Frigate 的设备数量瞬间暴增!它会整整齐齐地多出两个全新设备:

    • 📺 Study Desk

    • 📺 Study Door

2. 精准揪出你的“触发开关”

点击进入 Study Desk 这个新设备页面,在里面你会看到 6 个专属实体。我们要用来做自动化的核心实体就是它:

  • binary_sensor.study_desk_person_occupancy(书桌区域是否有人)

    • 状态值为 on(有人)和 off(没人)

🚀 第三阶段:编写自动化 —— 纯本土图形化状态写法 (未验证)

现在“任督二脉”全通,我们在 HA 里配置那条聪明的自动化逻辑。

1. 场景一:天黑有人进书桌,自动点亮台灯

进入 HA 设置 ➔ 自动化与场景 ➔ 创建自动化。点击右上角三个点 选择 以 YAML 格式编辑,直接粘贴以下完美对齐你环境的代码:

YAML

alias: "智能书房:天黑有人进书桌区域自动亮台灯"
description: "利用 Frigate 升格的独立 Zone 设备实现精准控灯"
trigger:
  - platform: state
    # 💥 触发实体:刚刚揪出来的书桌区域人流占用开关
    entity_id: binary_sensor.study_desk_person_occupancy 
    from: "off"
    to: "on"
condition:
  - condition: state
    entity_id: sun.sun
    state: below_horizon # 环境门槛:太阳在地平线以下(天黑)
action:
  - service: light.turn_on
    target:
      entity_id: light.study_desk_lamp # 💥 动作:秒开你的书房智能台灯
mode: single

2. 场景二:人离开书桌后,超时自动灭灯

为了防止你起身后台灯一直亮着,我们再建一条反向熄灭自动化

YAML

alias: "智能书房:人离开书桌区域 2 分钟后自动灭灯"
description: "区域内没人持续 2 分钟则关闭台灯"
trigger:
  - platform: state
    entity_id: binary_sensor.study_desk_person_occupancy
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 2 # 💥 缓冲时间:持续 2 分钟没人,防止你只是弯腰捡个笔或者短离
      seconds: 0
condition: []
action:
  - service: light.turn_off
    target:
      entity_id: light.study_desk_lamp # 💥 动作:自动熄灭台灯
mode: single

🏆 通关成就

现在,整套系统彻底闭环:

  1. 画面捕捉:Foscam 摄像头将 RTSP 流送给 Ubuntu 容器。

  2. 边缘计算:i3-7100U 通过 Vaapi 核显硬解,并在你画好的 study_desk 框内秒级锁定了“人”。

  3. 状态广播:通过 MQTT 总线,HA 里的 Study Desk 虚拟设备开关瞬间由 offon

  4. 完美执行:HA 判断当前是夜晚,啪的一声,台灯为你点亮。

你现在可以彻底甩开桌底下那些隔三差五就需要换电池、人在椅子上坐久了不动就误判灭灯的传统人体传感器了。好好享受这套纯本地、零延迟的顶级 AI 智能书房吧!

0

评论区