结合 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 → Enter(保存)
-Ctrl X(退出)
编辑 configuration.yaml:
sudo nano /home/seeed/homeassistant/config/automations.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 │
└────────────────────────────────────────────────────────────────────────┘
技术支持与产品讨论
感谢您选择我们的产品!我们在此为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。



