reCamera + Home Assistant + 企业微信联动
介绍
一个真正动态的智能系统,从来不只是“看见世界”,而是能够理解事件、触发动作,并实现跨平台互联。在本方案中,我们将使用基于 AI 的 reCamera 作为前端感知设备,通过 Node-RED 完成数据解析与格式化,再使用 Home Assistant 作为自动化中心,实时呈现检测结果、进行决策,并进一步联动企业微信机器人,实现即时通知。整条链路构成了一套可扩展、可观测、可自动响应的智能场景系统。 reCamera 使用 YOLO 模型实时检测人、宠物等目标;Node-RED 处理检测结果并推送到 Home Assistant;HA 通过 Webhook 自动化完成将数据写入实体、进行条件判断,并将告警信息推送到企业微信群,实现跨平台实时告警。该架构不仅展示了 reCamera 与 HA 的深度耦合能力,也体现了在实际应用中如何将 AI 视觉、自动化规则与企业级通知系统结合起来,构建一套真正“好用又智能”的物联网一体化解决方案。
硬件准备
一台 reCamera(可以是 2002 系列、HQ POE 版本或云台版本,但需要注意 POE 版本不具备 WiFi 功能,需要通过带 POE 功能的交换机接入同一网段)
一台 reComputer(任意版本均可,这里以 reComputer AI R2130-12 为例)
一台电脑(已安装企业微信)
| reCamera 2002 系列 | reCamera 云台版 | reCamera HQ POE | reComputer AI R2000 系列 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
1. 企业微信配置
(1) 创建智能机器人
点击 通讯录 - 智能机器人 - 创建智能机器人

(2) 配置机器人
完成必填项后,点击保存

(3) 新建群聊
将刚刚创建的机器人和任意一位同事拉入群聊(因为需要 3 人以上才能建群,建群成功后可以将同事移出群聊)
(4) 配置消息推送
配置步骤如下图所示,填写名称和简介后,点击保存。

本步骤中的 Webhook 地址在后续编辑 configuration.yaml 时会用到。
请记住,一定要保护好消息推送的 webhook 地址,避免泄露!不要分享到 github、博客等可公开访问的地方,否则不法分子可能利用你的消息推送发送垃圾信息。

如果你想查看更详细的配置说明,请点击“了解如何配置”,企业微信官方提供了消息格式示例,方便你更好地理解。

2. reComputer AI R2130-12 配置
(1) 系统准备
更新系统
sudo apt update && sudo apt upgrade -y
安装必要依赖
sudo apt install -y ca-certificates curl gnupg lsb-release
(2) 安装 Docker
官方脚本安装
curl -fsSL https://get.docker.com | sh

允许当前用户使用 docker
sudo usermod -aG docker $USER
然后重启系统使权限生效
sudo reboot
验证安装
docker run hello-world
如果你看到 "Hello from Docker!" 这句话,说明安装成功

(3) 安装 Home Assistant(容器模式)
创建挂载目录
为了持久化配置文件:
mkdir -p ~/homeassistant/config
启动容器
运行以下命令启动 Home Assistant(此步骤会持续较长时间,取决于你的网络情况):
docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=Asia/Shanghai \
-v ~/homeassistant/config:/config \
-v /etc/localtime:/etc/localtime:ro \
--network=host \
ghcr.io/home-assistant/home-assistant:stable
参数说明:
- '-- network = host':Home Assistant 直接访问宿主机网络(自动发现设备所必需)
- '-v ~/homeassistant/config:/config':保存配置文件
- '-- restart = unless-stopped':自动重启
- '-- privileged':启用硬件访问(USB Zigbee/Z-Wave 等)

(4) 访问 Home Assistant
查看 IP:
hostname -I
浏览器访问
容器启动后等待 1~2 分钟,然后在浏览器中访问:
http://<你的IP>:8123
示例:
http://192.168.1.88:8123
首次启动会进入初始化界面,开始创建账号并配置智能家居
(5) 查找配置文件路径
Home Assistant 的所有配置都保存在:
/home/seeed/homeassistant/config/
可以通过以下方式查看:
cd /home/seeed/homeassistant/config
ls
查看:
automations.yaml configuration.yaml scripts.yaml ...
(6) 配置自动化以接收 reCamera 数据
安装编辑器:
sudo apt install nano -y
编辑 'automations.yaml ':
sudo nano /home/seeed/homeassistant/config/automations.yaml
替换内容:
- alias: "ReCamera Detection"
description: "接收来自 ReCamera 的检测结果并更新实体和推送企业微信"
trigger:
- platform: webhook
webhook_id: recamera_detection
action:
# 1️⃣ 更新 input_text 实体(UI 上显示)
- service: input_text.set_value
target:
entity_id: input_text.recamera_people_raw
data:
value: "{{ trigger.json.payload }}"
# 2️⃣ 条件判断:人数 >= 2 时推送企业微信
- condition: template
value_template: >
{% set payload = trigger.json.payload %}
{% set num = payload | regex_findall_index('[0-9]+') | first | int %}
{{ num >= 2 }}
- service: rest_command.recamera_wechat_notify
data:
message: "ReCamera 检测到多人!当前人数:{{ trigger.json.payload }}"
mode: single
保存并退出:
-Ctrl O → 回车(保存)
-Ctrl X(退出)
编辑 configuration.yaml:
sudo nano /home/seeed/homeassistant/config/configuration.yaml
替换内容:
# ==========================
# Home Assistant 基础配置
# ==========================
# 加载默认集成(请勿删除)
default_config:
# 加载前端主题
frontend:
themes: !include_dir_merge_named themes
# 加载独立配置文件
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
# ==========================
# ReCamera 实体配置部分
# ==========================
# 1️⃣ 定义一个 input_text 实体,用于保存 ReCamera 最新检测结果
input_text:
recamera_people_raw:
name: ReCamera 原始检测结果
max: 255
icon: mdi:account-group # 可选:显示为“多人”图标
# 2️⃣ 定义一个模板传感器,用于展示 ReCamera 检测结果
sensor:
- platform: template
sensors:
recamera_people_count:
friendly_name: "ReCamera 检测人数"
value_template: "{{ states('input_text.recamera_people_raw') }}"
icon_template: mdi:camera-outline
# ==========================
# 企业微信机器人推送
# ==========================
rest_command:
recamera_wechat_notify:
url: "https://xxxxxx" #此处填写你在群聊中配置的Webhook地址
method: POST
headers:
Content-Type: "application/json"
payload: |
{
"msgtype": "text",
"text": {
"content": "{{ message }}",
"mentioned_list": ["@all"]
}
}
保存并退出:
-Ctrl O → Enter(保存)
-Ctrl X(退出)
保存并退出后,重启 Home Assistant:
docker restart homeassistant
3. reCamera 的 2002w 配置
(1) 将 reCamera 插入电脑后,访问 192.168.42.1
如果一直卡住无法打开界面,请参考“恢复出厂设置”部分重置设备。重置后再次访问 192.168.42.1。重置后需要修改密码。

(2) 登录界面后,点击右下角进入“Workspace”

(3) 进入 Workspace 后配置节点


这里新增了四个节点:debug1 和 debug2 用于观察输出信息,可选是否需要;function1 用于处理数据;Http request 节点用于向 Home Assistant 发送数据

接下来,修改原有节点 “Model Info Handle”,使其只输出某个检测目标的数量。

双击打开该节点,并将代码替换为以下内容:
let currentModel = "Current People";
const object = 'person';
const labels = msg.payload?.data?.labels ?? [];
if (!Array.isArray(labels)) {
return { payload: '' };
}
const num = labels.filter(label => String(label).toLowerCase() === object).length;
currentModel += ` number: ${num}`;
return { payload: currentModel };
修改完成后,点击右上角的 “Finish”

这段代码只输出检测到的人的数量。如果你想修改,可以更改检测对象。
你可以通过查看模型节点来了解可以检测哪些类型的对象

接下来,配置 function1 节点,并替换原有代码:
return {
payload: {
payload: msg.payload
}
};

接下来,配置 http request 节点。这里需要修改三个地方:
| 选项 | 设置值 |
|---|---|
| Request Method | POST |
| URL address | 'http://YOUR_IP:8123/api/webhook/recamera_detection' |
| Return | JSON Object |

设置完成后,点击右上角的 “Deploy”,部署成功后会有提示。

这里你还需要再做一步,也就是将 reCamera 连接到 WiFi,并让 reComputer 与你处于同一网络下。
点击左上角的 “Network” 来配置网络

请记住!一定要确保 Recamera 已连接到网络!!!否则将无法通信。
4. 查看效果
此时,在企业微信中应看到如下效果:

相应地,Home Assistant 的概览界面应显示如下内容:

如果没有看到效果,先检查链接是否正常,也就是验证 Webhook 是否正常:
在任意设备上(ReCamera、PC 等):
curl -X POST http://192.168.100.109:8123/api/webhook/recamera_detection \
-H "Content-Type: application/json" \
-d '{"payload":"Test from curl"}'
如果成功,Home Assistant 的通知中会出现如下内容:
ReCamera 测试结果
来自 curl 的测试
系统逻辑
┌────────────────────────────────────────────────────────────────────────┐
│ ReCamera (AI Camera) │
│ └─ YOLO Model Detects Objects (e.g., person, cat) │
└────────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ Node-RED Flow │
│ │
│ [Model Info Handle] │
│ └─ Parse detection results, count objects │
│ Output: │
│ payload = "Current people number: 1" │
│ │
│ [Function Node] │
│ └─ Pack into JSON format: │
│ payload = { payload: "Current people number: 1" } │
│ │
│ [HTTP Request Node] │
│ └─ POST → HA Webhook │
│ URL: http://<HA_IP>:8123/api/webhook/recamera_detection │
└────────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ Home Assistant (HA) │
│ │
│ [Webhook Trigger] │
│ └─ Receive data sent from Node-RED │
│ │
│ [Automation] │
│ ├─ Write payload into input_text.recamera_people_raw │
│ │ → Display detected people count in real time on HA frontend │
│ │ │
│ ├─ Condition check: if count ≥ 2 │
│ │ → Trigger rest_command to call WeCom Bot │
│ │ │
│ └─ Call rest_command.recamera_wechat_notify │
│ POST detection information to WeCom Webhook │
└────────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ WeCom Bot (Group Chat) │
│ │
│ Message received: │
│ "ReCamera detected multiple people! Current count: │
│ Current people number: 3" │
│ │
│ → Instant alert to group members │
└────────────────────────────────────────────────────────────────────────┘
技术支持与产品讨论
感谢您选择我们的产品!我们将为您提供多种支持,确保您在使用我们产品的过程中尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。



