跳到主要内容

AI 驱动文档

您想了解什么?

使用 Node-RED 向 Microsoft Teams 发送消息

本教程将向您展示如何直接从 OV80i 相机向 Microsoft Teams 频道发送检查通知。您将学习如何设置自动警报,包括检查结果和可点击的图像链接,让您的团队即时了解生产状态。

您将构建的内容: 一个自动化系统,将 OV80i 检查结果(包括图像和合格/不合格状态)直接发布到 Microsoft Teams 频道。

实际应用: 当检查失败时立即获得通知,与远程团队共享检查图像,或在团队协作空间中创建自动化质量报告。

先决条件

  • 连接到您工厂网络的 OV80i 相机
  • 具有添加连接器权限的 Microsoft Teams 访问权限
  • 您希望接收通知的 Teams 频道
  • OV80i 与 Microsoft Teams 之间的网络连接
  • 对 Node-RED 流程的基本理解

教程概述

我们将构建的内容: 一个 Node-RED 流程,自动将检查结果发送到 Microsoft Teams,并附带可点击的图像链接。

所需时间: 15-20 分钟

学习技能: Teams webhook 集成、Node-RED HTTP 请求、自动化通知系统

第 1 步:设置 Microsoft Teams Webhook

1.1 访问您的 Teams 频道

  1. 打开 Microsoft Teams,导航到检查通知的频道
  2. 点击频道名称旁边的 三个点 (•••)
  3. 从下拉菜单中选择 "管理频道"

1.2 添加传入 Webhook 连接器

  1. 在频道管理菜单中点击 "连接器"
  2. 在连接器列表中 搜索 "传入 Webhook"
  3. 点击传入 Webhook 选项旁边的 "添加"

1.3 配置 Webhook 设置

  1. 名称:输入描述性名称(例如,“OV80i 检查警报”)
  2. 图标:可选地上传自定义图标以用于您的通知
  3. 点击 "创建" 以生成 webhook

1.4 保存 Webhook URL

  1. 复制生成的 webhook URL - 这对 Node-RED 设置至关重要
  2. 将 URL 保存 在安全的位置(您将在第 2 步中需要它)
  3. 点击 "完成" 以完成 Teams 设置

检查点: 您现在应该拥有一个看起来像这样的 webhook URL:https://yourcompany.webhook.office.com/webhookb2/...

第 2 步:访问 OV80i Node-RED

2.1 导航到 Node-RED

  1. 打开您的 OV80i 网页界面
  2. 转到 配方编辑器 并点击 配置 I/O 或从面包屑菜单中选择 "IO 块"

2.2 准备您的工作区

  1. 在 Node-RED 画布中 清理一个区域 用于您的 Teams 集成流程
  2. 识别左侧的调色板,查看可用节点
  3. 规划您的流程:触发 → 处理 → 发送到 Teams

第 3 步:构建 Node-RED 流程

3.1 添加所需节点

从调色板中将以下节点拖到画布上:

  1. Inject node(用于测试)
  2. Function node(格式化消息)
  3. HTTP request node(发送到 Teams)
  4. Debug node(可选,用于故障排除)

3.2 连接节点

  1. 将 inject 输出连接到 function 输入
  2. 将 function 输出连接到 HTTP request 输入
  3. 将 HTTP request 输出连接到 debug 输入(可选)

流程结构:

Inject → Function → HTTP Request → Debug

第 4 步:配置功能节点

4.1 基本消息配置

  1. 双击功能节点以打开配置
  2. 用以下基本消息格式替换默认代码
// Basic Teams message
msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: "You got a new message from your OV80i"
};

return msg;

4.2 带图像链接的高级消息

用于动态检查结果和可点击图像:

// Dynamic message with inspection image
let imageUrl = msg.payload.image_url;

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `Inspection Complete - [View Image](${imageUrl})`
};

return msg;

4.3 完整检查通知

用于完整的检查详情:

// Complete inspection notification
const inspectionData = msg.payload;
const imageUrl = inspectionData.image_url;
const result = inspectionData.result ? "PASS" : "FAIL";
const timestamp = new Date().toLocaleString();

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `🔍 **Inspection ${result}** - ${timestamp}\n\n[View Image](${imageUrl})`
};

return msg;

4.4 保存功能配置

  1. 点击 "完成" 以保存功能节点
  2. 给节点一个描述性名称,例如 "格式化 Teams 消息"

第 5 步:配置 HTTP 请求节点

5.1 设置 HTTP 请求

  1. 双击 HTTP 请求节点以进行配置
  2. 设置方法:从下拉菜单中选择 "POST"
  3. 设置 URL:粘贴您在第 1.4 步中获得的 Teams webhook URL
  4. 设置返回:选择 "UTF-8 字符串"

5.2 其他设置

  • 名称:输入 "发送到 Teams" 以便于理解
  • 头部:保持为空(由功能节点处理)
  • 有效载荷:保持为 "忽略"(由功能节点处理)

5.3 保存 HTTP 配置

  1. 点击 "完成" 以保存 HTTP 请求节点
  2. 验证 webhook URL 是否正确 - 这对成功至关重要

第 6 步:测试您的集成

6.1 部署流程

  1. 点击右上角的 "部署" 按钮
  2. 等待 "成功部署" 确认
  3. 检查节点上的任何错误指示器(红色三角形)

6.2 使用注入节点进行测试

  1. 点击注入节点左侧的按钮
  2. 检查调试面板(右侧边栏)是否有任何错误消息
  3. 验证消息是否出现在您的 Teams 频道中

6.3 验证 Teams 通知

  1. 切换到 Microsoft Teams 并检查您的目标频道
  2. 查找来自 OV80i 的测试消息
  3. 测试任何可点击链接 以确保它们正常工作

第 7 步:与检查流程集成

7.1 连接到检查结果

要在每次检查后发送自动通知:

  1. 找到您的主要检查流程(通常以 "所有块输出" 开头)
  2. 将您的 Teams 通知 作为主流程的一个分支添加
  3. 在检查处理后连接,但在最终结果之前

7.2 示例集成流程

All Block Outputs → [Inspection Logic] → Final Pass/Fail

Format Teams Message → Send to Teams

7.3 过滤通知(可选)

仅在检查失败时发送通知:

// Only send notifications for failures
const inspectionResult = msg.payload.result;

if (!inspectionResult) { // Only if inspection failed
const imageUrl = msg.payload.image_url;

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `⚠️ **INSPECTION FAILED** - Immediate attention required\n\n[View Failed Image](${imageUrl})`
};

return msg;
} else {
return null; // Don't send message for passing inspections
}

第 8 步:故障排除

8.1 常见问题

问题症状解决方案
Teams 中没有消息调试显示成功但没有 Teams 通知检查 webhook URL,验证网络连接
HTTP 错误 400调试中的错误请求检查消息格式,确保 Content-Type 头
图像链接无法打开消息出现但图像无法打开验证图像 URL 是否可从 Teams 用户的网络访问
流程未触发预期时没有调试输出检查流程连接,验证触发条件

8.2 调试您的流程

  1. 在每个步骤后添加调试节点 以跟踪数据流
  2. 检查调试面板 以获取错误消息和数据结构
  3. 使用注入节点进行测试 以隔离配置问题
  4. 通过外部工具测试 webhook URL 以进行验证(如有需要)

8.3 网络连接性

  1. 确保 OV80i 可以访问互联网(从相机进行 ping 测试)
  2. 检查可能阻止出站 HTTPS 的防火墙设置
  3. 验证 Teams webhook URL 的 DNS 解析
  4. 在与相机相同的网络上从浏览器测试

成功!您的 Teams 集成已完成

您的 OV80i 相机现在可以:

向 Microsoft Teams 频道发送自动通知

包含可点击的图像链接 以便立即检查

根据检查结果过滤通知

提供丰富的格式 以及检查详细信息和时间戳

支持多个频道 用于不同类型的通知

最佳实践

消息管理

  • 为不同类型的通知使用描述性频道名称
  • 在消息中包含时间戳 和站点标识符
  • 过滤消息 以避免通知过载
  • 在生产部署前进行彻底测试

安全注意事项

  • 保护 webhook URL - 将其视为敏感凭据
  • 对所有通信使用 HTTPS(与 Teams 默认设置一致)
  • 限制网络访问 仅限必要服务
  • 定期轮换 webhook URL 以防泄露

性能优化

  • 批量发送通知 如果发送多条消息
  • 对网络故障使用适当的重试逻辑
  • 监控消息传递 成功率
  • 实施速率限制 以避免 Teams API 限制

image.png

下一步

设置 Teams 集成后:

  1. 为各种检查类型创建不同的通知频道
  2. 为关键故障设置升级工作流程
  3. 与其他团队工具集成(电子邮件、短信等)
  4. 构建仪表板 将 Teams 与其他监控工具结合
  5. 培训您的团队 以响应自动通知
跳过手动设置

集成构建器 可以根据简单的英文描述生成完整的 Teams 通知流程。描述您想要的内容(例如,“在零件失败时将检查结果和图像发布到 Teams 频道”),并在几秒钟内获得可投入生产的 Node-RED 流程。

🔗 另请参见