跳到主要内容

AI 驱动文档

您想了解什么?

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

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

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

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

先决条件​

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

教程概述​

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

所需时间: 15-20 分钟

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

第一步:设置 Microsoft Teams Webhook​

1.1 访问您的 Teams 频道​

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

1.2 添加传入 Webhook 连接器​

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

1.3 配置 Webhook 设置​

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

1.4 保存 Webhook URL​

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

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

第二步:访问 OV20i Node-RED​

2.1 导航到 Node-RED​

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

2.2 准备您的工作区​

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

第三步:构建 Node-RED 流程​

3.1 添加所需节点​

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

  1. 注入节点(用于测试)
  2. 功能节点(用于格式化消息)
  3. HTTP 请求节点(发送到 Teams)
  4. 调试节点(可选,用于故障排除)

3.2 连接节点​

  1. 将注入 输出连接到 功能 输入
  2. 将功能 输出连接到 HTTP 请求 输入
  3. 将 HTTP 请求 输出连接到 调试 输入(可选)

流程结构:

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

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. 查找来自您的 OV20i 的测试消息
  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. 确保 OV20i 可以访问互联网 (从相机进行 ping 测试)
  2. 检查可能阻止出站 HTTPS 的防火墙设置
  3. 验证 Teams webhook URL 的 DNS 解析
  4. 在与相机相同的网络上从浏览器测试

成功!您的 Teams 集成已完成​

您的 OV20i 相机现在可以:

✅ 向 Microsoft Teams 频道发送自动通知

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

✅ 根据检查结果过滤通知

✅ 提供丰富的格式,包括检查细节和时间戳

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

最佳实践​

消息管理​

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

安全考虑​

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

性能优化​

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

image.png

下一步​

设置 Teams 集成后:

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

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

🔗 另请参阅​