Pular para o conteúdo principal

Acoplamento reCamera Home Assistant WeChat Empresarial

Introdução

Um sistema inteligente verdadeiramente dinâmico nunca se trata apenas de “ver o mundo”, mas de ser capaz de compreender eventos, disparar ações e alcançar interconexão entre plataformas. Nesta solução, usaremos a reCamera baseada em IA como dispositivo de sensoriamento de front-end, concluiremos a análise e formatação de dados por meio do Node-RED e, em seguida, utilizaremos o Home Assistant como centro de automação para apresentar os resultados de detecção em tempo real, tomar decisões e, ainda, vinculá-los ao robô do WeChat Empresarial para obter notificações imediatas. Toda a cadeia forma um conjunto de sistema de cenários inteligentes expansível, observável e que responde automaticamente. A reCamera usa o modelo YOLO para detectar em tempo real objetos como pessoas e animais de estimação; o Node-RED processa os resultados da detecção e os envia para o Home Assistant; o HA utiliza Webhook para automatizar o processo de gravação de dados nas entidades, realizar julgamentos de condição e enviar informações de alarme para o grupo do WeChat Empresarial, alcançando alertas em tempo real entre plataformas. Essa arquitetura não apenas demonstra a forte capacidade de acoplamento entre reCamera e HA, como também reflete como combinar visão de IA, regras de automação e sistemas de notificação em nível corporativo em aplicações práticas, a fim de construir uma solução IoT integrada verdadeiramente “utilizável e inteligente”.

Preparação de hardware

Uma reCamera (pode ser qualquer modelo da Série 2002, versão HQ POE ou versão com pan-tilt, mas note que a versão POE não possui funcionalidade WiFi e requer um switch com função POE conectado no mesmo segmento de rede)
um reComputer (qualquer versão serve, aqui uso o reComputer AI R2130-12 como exemplo)
um computador (com WeChat Empresarial já instalado.)

Série reCamera 2002reCamera GimbalreCamera HQ POESérie reComputer AI R2000

1.Configuração do WeChat Empresarial

(1) Criar um robô inteligente

Clique em Catálogo de Endereços - Robô Inteligente - Criar Robô Inteligente

(2) Configurar o robô

Após concluir os itens obrigatórios, clique em Salvar

(3) Criar um novo grupo de bate-papo

Adicione ao grupo o robô que você acabou de criar e qualquer colega (porque é necessário ter mais de 3 pessoas para criar o grupo, e você pode remover o colega do bate-papo em grupo após a criação bem-sucedida)

(4) Configurar o envio de mensagens

Os passos de configuração são mostrados na figura a seguir. Depois de preencher o nome e a introdução, clique em Salvar.

O endereço Webhook desta etapa será útil ao editar o configuration.yaml depois.

Lembre-se, é fundamental proteger o endereço webhook do push de boas notícias para evitar vazamentos! Não o compartilhe no GitHub, blogs e outros locais de consulta pública, caso contrário pessoas mal-intencionadas poderão usar o seu envio de mensagens para mandar spam.

Se você quiser ver os detalhes de como configurar, clique em "know how to configure"; o site oficial do WeChat Empresarial fornece um exemplo de formato de mensagem para que você possa compreender melhor

2. Configuração do reComputer AI R2130-12

(1) Preparação do sistema

Atualizar o sistema

sudo apt update && sudo apt upgrade -y

Instalar dependências necessárias

sudo apt install -y ca-certificates curl gnupg lsb-release

(2) Instalar Docker

Instalação pelo script oficial

curl -fsSL https://get.docker.com | sh

Permitir que o usuário atual use o docker

sudo usermod -aG docker $USER

Em seguida, reinicie o sistema para que as permissões entrem em vigor

sudo reboot

Verificar a instalação

docker run hello-world

Se você vir as palavras "Hello from Docker!", isso indica que a instalação foi bem-sucedida


(3) Instalar Home Assistant (modo Container)

Criar um diretório de montagem

Para persistir o arquivo de configuração:

mkdir -p ~/homeassistant/config

Iniciar o contêiner

Execute o comando a seguir para iniciar o Home Assistant (esta etapa levará bastante tempo, dependendo da sua rede):

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

Descrição dos parâmetros:

  • '-- network = host': o Home Assistant tem acesso direto à rede do host (necessário para descoberta automática de dispositivos)
  • '-v ~/homeassistant/config:/config': salvar o arquivo de configuração
  • '-- restart = unless-stopped': reinício automático
  • '-- privileged': habilitar acesso ao hardware (USB Zigbee/Z-Wave etc.)

(4) Acessar o Home Assistant

Ver IP:

hostname -I

Acessar pelo navegador

Aguarde de 1 a 2 minutos após o início do contêiner e, em seguida, acesse-o no navegador:

http://<你的IP>:8123

Exemplo:

http://192.168.1.88:8123

Na primeira inicialização você entrará na interface de inicialização, comece a criar uma conta e configurar a casa inteligente


(5) encontrar o caminho do arquivo de configuração

Todas as configurações do Home Assistant são salvas em:

/home/seeed/homeassistant/config/

Disponível por meio de:

cd /home/seeed/homeassistant/config
ls

Veja:

automations.yaml  configuration.yaml  scripts.yaml ...

(6) configurar automação para receber dados da reCamera

Instalar o editor:

sudo apt install nano -y

Editar 'automations.yaml ':

sudo nano /home/seeed/homeassistant/config/automations.yaml

Substitua o conteúdo:

- 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

Salvar e sair:

-Ctrl O → Enter (Salvar)

-Ctrl X (Sair)

Editar configuration.yaml:

sudo nano /home/seeed/homeassistant/config/configuration.yaml

Substitua o conteúdo:

# ==========================
# 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"]
}
}

Salvar e sair:

-Ctrl O → Enter (Salvar)

-Ctrl X (Sair)

Após salvar e sair, reinicie o Home Assistant:

docker restart homeassistant

3. Configuração da reCamera do 2002w

(1) Após inserir a reCamera no computador, acesse 192.168.42.1

Se você estiver travado e não conseguir abrir a interface, consulte a seção "Restaurar Configurações de Fábrica" para redefinir o dispositivo. Após a redefinição, visite 192.168.42.1 novamente. Após a redefinição, você precisará modificar a senha.

(2) Após fazer login na interface, clique no canto inferior direito para entrar em "Workspace"

(3) Configure o nó após entrar no Workspace

Estes quatro novos nós foram adicionados: debug1 e debug2 são usados para observar as informações de saída, sendo opcionais; function1 é usado para processar dados; o nó Http request é usado para enviar dados ao Home Assistant

Em seguida, modifique o nó original "Model Info Handle" para que ele apenas produza o número de um determinado alvo de detecção.

Clique duas vezes para abrir o nó e substitua o código pelo seguinte:

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 };

Clique em "Finish" no canto superior direito após a modificação"

Este código apenas produz o número de pessoas detectadas. Se você quiser modificá-lo, pode alterar o objeto detectado.

Você pode ver quais tipos de objetos podem ser detectados olhando o nó do modelo

Em seguida, configure o nó function1 e substitua o código original:

return {
payload: {
payload: msg.payload
}
};

Em seguida, configure o nó http request. Aqui precisamos modificar três lugares:

OpçõesDefinir valor
Request MethodPOST
URL address'http://YOUR_IP:8123/api/webhook/recamera_detection'
ReturnJSON Object

Depois de configurar, clique em "Deploy" no canto superior direito, e um aviso será exibido após a implantação bem-sucedida.

Aqui você ainda precisa fazer mais uma etapa, que é conectar a reCamera ao WiFi e conectar o reComputer a você na mesma rede.

Clique em "Network" no canto superior esquerdo para configurar a rede

nota

Por favor, lembre-se! Certifique-se de conectar a Recamera à rede!!! Caso contrário, a comunicação não será possível.

4. Para Visualizar o Efeito

Neste momento, os seguintes efeitos devem ser vistos no enterprise micro:

De acordo, a tela de visão geral do Home Assistant deve exibir o seguinte:

Se você não tiver visto o efeito, primeiro verifique se o link não está funcionando, ou seja, verifique se o Webhook está normal:

Em qualquer dispositivo (ReCamera, PC, etc.):

curl -X POST http://192.168.100.109:8123/api/webhook/recamera_detection \
-H "Content-Type: application/json" \
-d '{"payload":"Test from curl"}'

Se for bem-sucedido, o seguinte aparece na notificação do Home Assistant:

ReCamera Test Results

Test from curl


Lógica do sistema

┌────────────────────────────────────────────────────────────────────────┐
│ 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 │
└────────────────────────────────────────────────────────────────────────┘

Suporte Técnico e Discussão de Produtos

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...