跳到主要內容

AI 驅動文件

您想了解什麼?

使用 Node-RED 傳送電子郵件

本教程演示如何使用 Node-RED 從 OV10i 相機設定自動化電子郵件通知。您將學習如何配置 Gmail 整合,並建立將檢測警報、系統狀態更新和故障通知直接傳送到您的郵箱的工作流。

您將構建的內容: 一個自動化電子郵件系統,使用 Gmail SMTP 將 OV10i 的檢測結果、警報和通知傳送給指定收件人。

實際應用場景: 當檢測失敗時立即收到電子郵件警報,將每日質量報告傳送給管理層,或在系統出現問題時通知維護團隊——全部由您的視覺檢測系統自動完成。

跳過手動設定

請用簡短英文描述您需要的電子郵件通知型別, Auto-Integration Builder 將在幾秒鐘內為您生成一個完整的 Node-RED 流。

先決條件

  • OV10i 相機,具備 Node-RED 訪問許可權
  • 用於傳送郵件的 Gmail 帳戶
  • 對 Node-RED 流的基本理解
  • 訪問 Google 帳號的安全設定

教程概覽

將要構建的內容: 一個 Node-RED 流,自動傳送帶檢測結果及系統警報的郵件通知。

所需時間: 20-30 分鐘(含 Gmail 設定)

所學技能: Gmail 應用密碼設定、SMTP 配置、自動化郵件通知

Step 1: 設定 Gmail App Password

1.1 啟用兩步驗證

  1. 在 Google 帳號登入頁面 訪問 accounts.google.com
  2. 在左側導航選單中點選 “Security”
  3. **找到“Signing in to Google”**部分
  4. 點選“2-Step Verification”
  5. 按提示啟用 2-Step Verification(若尚未啟用)
備註

在建立應用密碼之前,需要啟用 2-Step Verification。

1.2 生成 App Password

  1. 在啟用 2-Step Verification 後返回 Security 頁面
  2. 點選“App passwords”(位於“Signing in to Google”下)
  3. 將應用型別選為“Mail”
  4. 將裝置型別選為“Other”
  5. 輸入一個名稱,如“OV10i Node-RED Email”
  6. 點選“Generate”

1.3 儲存您的 App Password

  1. 複製 Google 顯示的 16 位密碼
  2. 妥善保管——您將在 Node-RED 配置中使用它
  3. 備註:此密碼僅顯示一次。若丟失,請生成新的

檢查點: 您應儲存有一個 16 位 Gmail 應用密碼,以供 Node-RED 使用。

Step 2: 安裝 Email 節點(如有需要)

2.1 檢查是否已有 Email 節點

  1. 在 OV10i 相機上開啟 Node-RED
  2. 在左側調色盤的輸出部分查詢名為“email”的節點
  3. 若缺少,則需要安裝 email 包

2.2 如需安裝 Email 包

  1. 在 Node-RED 中點選漢堡選單(≡)
  2. 選擇“Manage palette(管理調色盤)”
  3. 點選“Install(安裝)”選項卡
  4. 搜尋“node-red-node-email”
  5. 點選該包旁的“Install(安裝)”

Step 3: 建立基礎郵件流

3.1 新增所需節點

  1. 導航到 IO Block 以訪問 Node-RED
  2. 從調色盤拖動以下節點到畫布上:
    • Inject 節點(用於測試)
    • Email 節點(來自輸出部分)
  3. 將 Inject 的輸出連線到 Email 的輸入

3.2 基本流程結構

Inject → Email

流程目的: 用於測試和基本通知的簡單郵件傳送。

image.png

步驟 4:配置郵件內容

4.1 設定 Inject Node

  1. Double-click the inject node 以開啟屬性
  2. Set the payload:
    • Payload type: "string"
    • Payload value: 您的郵件正文文字(例如 "Inspection alert from OV10i")
  3. Add email subject:
    • Click "+ add" 以新增屬性

    • Property name: "topic"

    • Property value: 您的郵件主題(例如 "OV10i Inspection Alert")

      image.png

4.2 示例基本配置

Payload (email body):

Inspection completed at Station 1
Status: Alert triggered
Time: Check timestamp for details

Topic (email subject):

OV10i Inspection Alert - Station 1

4.3 儲存 Inject 配置

  1. 為節點命名,如 "Email Trigger"
  2. 點選 "Done" 以儲存配置

步驟 5:配置 Email SMTP 設定

5.1 設定 Email Node

  1. Double-click the email node 以開啟屬性
  2. 配置基本設定
    • Name: "Send Alert Email"(或描述性名稱)
    • To: 收件人郵箱地址(例如 quality@company.com

5.2 配置 Gmail SMTP

  1. Server: smtp.gmail.com
  2. Port: 465
  3. 勾選“Use secure connection”
  4. Auth type: Basic
  5. Userid: 您的完整 Gmail 地址(例如 alerts@company.com
  6. Password: 來自步驟 1 的 16 位應用程式密碼

5.3 安全設定

  1. 勾選 'Check server certificate is valid' -> 跨國語句中翻譯為 “勾選“驗證伺服器證書是否有效””
  2. 請驗證所有設定均已正確輸入
  3. 點選 "Done" 以儲存 Email Node 配置

Checkpoint: 您的 Email Node 應無錯誤指示並顯示收件人地址。

image.png

步驟 6:測試您的郵件流

6.1 部署與測試

  1. 點選右上角的 'Deploy' 按鈕
  2. 等待 'Successfully deployed' 訊息
  3. 點選 Inject Node 按鈕(左側的灰色方塊)

6.2 驗證郵件投遞

  1. 檢查收件人郵箱中的測試郵件
  2. 如未出現在收件箱,請檢查垃圾郵件資料夾
  3. 在 Node-RED 除錯面板中查詢任何錯誤資訊

6.3 如有需要,故障排除

常見問題:

  • 錯誤的應用程式密碼:重新生成 Gmail 應用程式密碼
  • SMTP 設定:請驗證伺服器和埠是否正確
  • 防火牆:確保允許出站 SMTP 流量

步驟 7:與檢測結果的整合

7.1 連線到 Inspection Flow

為基於檢測結果傳送郵件:

  1. 找到主檢測流程(以 All Block Outputs 開頭)
  2. 將您的郵件流 作為檢測處理的一個分支新增
  3. 在檢測邏輯之後連線,但與最終結果並行

7.2 示例整合流

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

Format Email → Send Email

image.png

7.3 動態郵件內容

將 inject 節點替換為用於動態內容的函式節點:

// Dynamic email based on inspection results
const result = msg.payload.result ? "PASSED" : "FAILED";
const timestamp = new Date().toLocaleString();
const station = global.get("station_name") || "Unknown Station";

// Set email subject
msg.topic = `Inspection ${result} - ${station}`;

// Set email body
msg.payload = `Inspection Report:
Status: ${result}
Station: ${station}
Time: ${timestamp}
Image: ${msg.payload.image_url || "No image available"}

Please review and take appropriate action.`;

return msg;

第8步:完整流程示例

8.1 匯入現成的流程 JSON

您可以匯入此完整流程 JSON:

[
{
"id": "email_node_1",
"type": "e-mail",
"name": "Send Inspection Alert",
"server": "smtp.gmail.com",
"port": "465",
"secure": true,
"authtype": "BASIC",
"to": "quality@company.com"
},
{
"id": "format_email",
"type": "function",
"name": "Format Email Content",
"func": "const result = msg.payload.result ? 'PASSED' : 'FAILED';\nmsg.topic = `Inspection ${result}`;\nmsg.payload = `Status: ${result}\\nTime: ${new Date()}`;\nreturn msg;"
}
]

8.2 根據需要進行自定義

  1. 更新貴組織的電子郵件地址
  2. 根據您的具體需求修改電子郵件內容
  3. 調整時機與觸發條件
  4. 在投產部署前進行徹底測試

故障排除

常見問題

問題症狀解決方案
身份驗證失敗"Login failed" 錯誤驗證應用程式密碼是否正確並且已啟用兩步驗證
連線超時未傳送郵件,超時錯誤檢查防火牆設定,驗證 SMTP 伺服器和埠
郵件被標記為垃圾郵件郵件雖送達但在垃圾郵件資料夾中將發件人新增到安全列表,改進郵件內容
流未觸發無除錯輸出檢查流程連線和觸發條件

除錯您的郵件流程

  1. 在每個步驟後新增除錯節點 以跟蹤資料
  2. 檢查 Node-RED 日誌 以獲取詳細錯誤資訊
  3. 如有需要,使用外部郵件客戶端測試 SMTP 設定
  4. 驗證從相機到 Gmail 伺服器的網路連通性

成功!您的郵件整合已完成

您的 OV10i 相機現在可以:

傳送關於檢查結果的自動化郵件通知
傳送包含檢查細節的豐富、格式化訊息
支援多收件人及升級工作流
提供定期報告及摘要
基於檢查結果處理有條件的訊息

最佳實踐

郵件管理

  • 使用具有清晰狀態指示的描述性主題
  • 保持訊息簡潔但資訊豐富
  • 包含時間戳與工位識別符號
  • 在通知中提供可操作的資訊

安全性與可靠性

  • 保護應用密碼 - 安全儲存並定期輪換
  • 為系統通知使用專用郵箱賬戶
  • 定期測試郵件投遞,以確保可靠性
  • 監控投遞失敗情況,並具備備用通知方法

效能考慮因素

  • 限制郵件傳送頻率 以避免垃圾郵件檢測
  • 為不同告警型別使用合適的收件人名單
  • 對高容量系統實現速率限制
  • 在包含大附件時考慮郵件大小

下一步

在設定郵件通知後:

  1. 為不同型別的告警建立郵件模板
  2. 為各相關方設定分發名單
  3. 為關鍵問題實施升級工作流
  4. 為管理層建立定期報告
  5. 與其他通知系統整合(SMS、Teams 等)
跳過手動配置

Integration Builder 可以從簡單的英文描述生成完整的電子郵件通知流程。請描述您需要的內容(例如“在發現缺陷時傳送帶有檢查影象的郵件”),即可在幾秒鐘內獲得生產就緒的 Node-RED 流。

🔗 相關連結