AI 驱动文档
您想了解什么?
使用 Node-RED 向 Microsoft Teams 发送消息
本教程演示如何将来自 OV10i 相机的检验通知直接发送到 Microsoft Teams 频道。您将学习设置包含检验结果和可点击图像链接的自动通知,使您的团队能够即时掌握生产状态。
您将构建的内容: 一个自动化系统,将 OV10i 的检验结果(包括图片和通过/不通过状态)直接发布到 Microsoft Teams 频道。
实际应用场景: 当检验失败时立即通知、与远程团队分享检验图像,或在您的团队协作空间中创建自动化的质量报告。
用简单英文描述您需要的 Teams 通知,Auto-Integration Builder 将在几秒钟内为您生成一个完整的 Node-RED 流程。
前提条件
- OV10i 相机已连接至工厂网络
- 具备添加连接器权限的 Microsoft Teams 访问权限
- 要接收通知的 Teams 频道
- OV10i 与 Microsoft Teams 之间的网络连通性
- 对 Node-RED 流程有基本了解
教程概览
我们将构建的内容: 一个 Node-RED 流,自动将检验结果发送到 Microsoft Teams,并附带可点击的图像链接。
所需时间: 15-20 分钟
学习到的技能: Teams webhook 集成、Node-RED HTTP 请求、自动化通知系统
第 1 步:设置 Microsoft Teams Webhook
1.1 访问您的 Teams 频道
- 打开 Microsoft Teams 并导航至用于检验通知的频道
- 点击频道名称旁的 三点图标 (•••)
- 从下拉菜单中选择 “管理频道”
1.2 添加 Incoming Webhook 连接器
- 在频道管理菜单中单击 “Connectors”(连接器)
- 在连接器列表中搜索 “Incoming Webhook”(传入 Webhook)
- 在 Incoming Webhook 选项旁边点击 “Add”(添加)
1.3 配置 Webhook 设置
- 名称(Name):输入一个描述性名称(例如“OV10i 检验警报”)
- 图标(Icon):可选,上传自定义图标用于通知
- 点击 “Create” 以生成 Webhook
1.4 保存 Webhook URL
- 复制生成的 Webhook URL——这对 Node-RED 设置至关重要
- 将 URL 保存在安全的位置(在第 2 步会用到)
- 点击 “Done” 完成 Teams 设置
检查点: 你现在应该拥有一个类似以下的 webhook URL:https://yourcompany.webhook.office.com/webhookb2/...
第 2 步:访问 OV10i Node-RED
2.1 导航到 Node-RED
- 打开您的 OV10i 网页界面
- 转到 配方编辑器,点击 配置 I/O,或从面包屑导航中选择 “IO Block”(IO 块)
2.2 准备工作区
- 在 Node-RED 画布上为你的 Teams 集成流程清出一个区域
- 识别左侧的调色板中可用的节点
- 规划你的流程:触发器 → 处理 → 发送到 Teams
第 3 步:构建 Node-RED 流
3.1 添加所需节点
从调色板将以下节点拖到你的画布:
- Inject node(用于测试)
- Function node(用于格式化消息)
- HTTP request node(用于发送到 Teams)
- Debug node(可选,用于故障排除)
3.2 连接节点
- 将 Wire inject 的输出连接到 function 的输入
- 将 Wire function 的输出连接到 HTTP request 的输入
- 将 Wire HTTP request 的输出连接到 debug 输入(可选)
Flow structure:
Inject → Function → HTTP Request → Debug
第4步:配置 Function 节点
4.1 基本消息配置
- Double-click the function node 以打开配置
- Replace the default code 使用以下基本消息格式替换默认代码:
// Basic Teams message
msg.headers = {
"Content-Type": "application/json"
};
msg.payload = {
text: "You got a new message from your OV10i"
};
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 保存 Function 配置
- 点击 "Done" 以保存函数节点
- 为节点起一个描述性名称,如 "Format Teams Message"
第5步:配置 HTTP Request 节点
5.1 设置 HTTP 请求
- Double-click the HTTP request node 进行配置
- Set Method: 从下拉菜单选择 "POST"
- Set URL: 粘贴来自步骤 1.4 的 Teams webhook URL
- Set Return: 选择 "UTF-8 string"
5.2 附加设置
- Name: 为清晰起见输入 "Send to Teams"
- Headers: 保留为空(由 function node 处理)
- Payload: 保持为 "Ignore"(由 function node 处理)
5.3 保存 HTTP 配置
- 点击 "Done" 保存 HTTP 请求节点
- Verify the webhook URL 是否正确 - 这对成功至关重要
第6步:测试您的集成
6.1 部署流程
- 点击右上角的 "Deploy" 按钮
- 等待 "Successfully deployed" 确认
- 检查节点上的错误指示器(红色三角形)
6.2 使用 Inject Node 进行测试
- 点击注入节点左侧的按钮
- 检查调试面板(右侧边栏)是否有错误消息
- 验证消息是否在您的 Teams 通道中显示
6.3 验证 Teams 通知
- 切换到 Microsoft Teams,并检查目标频道
- 查找来自 OV10i 的测试消息
- 测试任何可点击链接,以确保它们正常工作
第7步:与检查流程的集成
7.1 连接检查结果
要在每次检查后发送自动通知:
- 找到你的主检查流程(通常以 All Block Outputs 开头)
- 将 Teams 通知添加为主流程的分支
- 在检查处理完成后但在最终结果之前进行连接
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 常见问题
| 问题 | 症状 | 解决方法 |
|---|---|---|
| 在 Microsoft Teams 中无通知 | 调试显示成功但未收到 Microsoft Teams 通知 | 检查 webhook URL,验证网络连通性 |
| HTTP 错误 400 | 调试中的错误请求 | 检查消息格式,确保 Content-Type 标头 |
| 图像链接无法工作 | 信息出现但图像无法打开 | 验证图像 URL 是否可被 Teams 用户所在网络访问 |
| 流程未触发 | 预期无调试输出 | 检查流程连接,验证触发条件 |
8.2 调试您的 Flow
- 在每一步之后添加调试节点,以跟踪数据流
- 检查调试面板,查看错误消息和数据结构
- 使用 inject 节点进行测试,以排除配置问题
- 通过外部工具测试来验证 webhook URL(如有需要)
8.3 网络连通性
- 确保 OV10i 能访问互联网(从相机执行 ping 测试)
- 检查可能阻止出站 HTTPS 的防火墙设置
- 验证 Teams webhook URL 的 DNS 解析
- 在与相机同一网络的浏览器上进行测试
成功!您的 Teams 集成已完成
您的 OV10i 相机现在可以:
✅ 发送自动通知 到 Microsoft Teams 通道
✅ 包含可点击的图片链接,以便立即查看检查结果
✅ 基于检测结果筛选通知
✅ 提供带检测详情和时间戳的丰富格式
✅ 支持针对不同通知类型的多个通道

下一步
完成 Teams 集成后:
- 为不同的检查类型创建不同的通知通道
- 为关键故障设置升级工作流
- 与其他团队工具集成(电子邮件、短信等)
- 构建仪表板,将 Teams 与其他监控工具结合
- 培训您的团队,了解如何对自动通知做出响应
Integration Builder 可以根据简单的英文描述生成完整的 Teams 通知流程。描述你想要的内容(例如“当部件失败时,将带有图像的检查结果发布到 Teams 频道”)并在几秒钟内获得生产就绪的 Node-RED 流。