Node-RED 教學IoT 自動化MQTTDashboard 2.0n8n 比較

Node-RED 教學 2026:安裝到 Dashboard 2.0 全流程

照這份 Node-RED 教學完成安裝、第一個流程、MQTT 串接與 Dashboard 2.0 儀表板。

n8nmarket-team 2026年7月31日

Node-RED 教學 2026:從安裝到第一個能動的 Dashboard 2.0 流程

想開始 Node-RED,不必先做大型專案。用約 15 分鐘,你可以在瀏覽器看到第一條會動的流程:按一下按鈕,資料出現在 debug 面板;接著再把 MQTT 資料畫成 Dashboard 2.0 圖表。本文採用目前的 FlowFuse Dashboard,而不是許多舊文章使用的 Dashboard 1.x,每一步都有明確驗證點。

Node-RED 是什麼?30 秒搞懂再開始

Node-RED 是跑在 Node.js 上的視覺化流程編輯器:把節點拖到畫布、拉線傳遞事件資料,再一鍵部署。它適合把裝置、協定與資料處理串成一條可觀察的流程。

  • 開源軟體本身沒有授權費;在自己的電腦練習,額外軟體成本是 NT$0。
  • 社群已分享超過 5,000 個節點,可擴充不同協定與服務。
  • 強項是 IoT、邊緣運算與硬體整合,例如 MQTT、Modbus、序列埠。

若你要讀感測器、控制設備或在區網內處理資料,Node-RED 很合適;若重點是 SaaS、CRM、試算表與 AI 的商業流程,請看後面的比較。

安裝 Node-RED:三種路線怎麼選

路線適合誰難度重點
本機 npm第一次學習本文主線,最快看到結果
Docker已會 Docker、需要環境隔離★★必須保留 /data 資料卷
Raspberry Pi接實體設備、長時間常駐★★適合放在 IoT 現場

標準安裝流程(Windows/macOS)

  1. 安裝 Node.js LTS,開啟終端機執行 node -vnpm -v。看到兩個版本號,才往下做。

  2. macOS/Linux 執行:

    sudo npm install -g node-red

    Windows 不要加 sudo

    npm install -g node-red

  3. 執行 node-red 啟動服務。

  4. **驗證點:**終端機出現 Server now running at http://127.0.0.1:1880/

  5. 開啟 http://127.0.0.1:1880。看到左側節點面板與中間畫布,就完成了。

官方文件列出的預設連接埠是 1880;若已被其他程式使用,改用 node-red -p 1881,再開啟 http://127.0.0.1:1881Node-RED 官方安裝說明也列出了完整參數。

Docker 與 Raspberry Pi 何時用?

Docker 的快速啟動範例如下,重點是 -v node_red_data:/data:它會把流程、設定與已安裝節點保存在容器外。

docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red

**驗證點:**容器日誌同樣出現 Server now running,瀏覽器能開啟 1880。沒有掛載 /data 時,刪除或重建容器可能連帶遺失流程;這是 Docker 新手最常踩的坑。官方 Docker 文件也以 /data 作為持久化目錄。

需要 24 小時接感測器,可考慮 Raspberry Pi。以 2026 年台灣通路價格為例,Raspberry Pi 5 2GB 單板可見約 NT$2,788 的售價,另要預留電源、外殼與儲存卡;先用本機確認流程再搬過去,通常比較省時間。

第一個能動的流程:inject → function → debug

先學會這三個節點:inject 是觸發器、function 用 JavaScript 加工資料、debug 則把結果印在右側面板。資料通常放在 msg.payload,可把它理解成節點之間傳遞的包裹。

先讓 timestamp 出現

  1. 從左側拖一個 inject 到畫布。
  2. 拖一個 debug 到右邊,從 inject 右側小圓點拉線到 debug 左側。
  3. 按右上角 Deploy
  4. 點 inject 左側的小方塊。
  5. **驗證點:**右側 debug 面板出現帶有 timestamp 的訊息,代表資料已成功流動。

加上 function 節點

function 放在 inject 與 debug 中間,雙擊 function,貼入以下三行:

const now = new Date(msg.payload);
msg.payload = `現在時間是 ${now.toLocaleTimeString("zh-TW", { hour: "2-digit", minute: "2-digit" })}`;
return msg;

重新 Deploy 後再按 inject。**驗證點:**debug 面板會顯示「現在時間是 HH:mm」,而不是純數字。沒有變化時,先確認線是否真的接到 function 和 debug,以及是否重新 Deploy。

進階實作:接上 MQTT 讀取感測器資料

MQTT 是 IoT 常見的發布/訂閱協定。最小接收流程是 mqtt in → debug;最小發送流程是 inject → mqtt out

mqtt in 的設定中填 broker 位址與 topic。本機已安裝 Mosquitto 時,常用位址是 localhost、連接埠 1883。設定完部署後,先看節點下方狀態。

驗證點:mqtt in 顯示綠色「已連接」才代表 Node-RED 已連到 broker。若一直顯示黃點、連線中或未連接,先核對 broker 是否真的在跑、位址與 port 是否一致;再用獨立 MQTT 客戶端測試 broker,別一開始就懷疑流程。

Dashboard 2.0:做出可看的介面

網路上不少中文文章仍使用舊版 node-red-dashboard。目前應選用 FlowFuse Dashboard,也就是 @flowfuse/node-red-dashboard;它是舊 Dashboard 的後繼方案,節點與設定結構不同。

  1. 在右上角選單開啟「節點管理」→「安裝」,搜尋 node-red-dashboard
  2. 選擇並安裝 @flowfuse/node-red-dashboard,不要選舊的 node-red/node-red-dashboard
  3. 拖入 ui-chart,在設定中建立或選擇 ui-baseui-pageui-group
  4. 將 MQTT 的數值資料接到 ui-chart,然後 Deploy。
  5. 開啟 http://127.0.0.1:1880/dashboard

**驗證點:**首頁出現圖表元件,且新 MQTT 訊息進來時資料會更新。Dashboard 的結構是 Base → Page → Group → Widget;Base 預設路徑可設為 /dashboard。若畫面空白,先確認 ui-chart 的 Group 是否已連到 Page,而 Page 是否連到 Base。FlowFuse Dashboard 文件提供目前節點結構與安裝步驟。

Node-RED、n8n、Zapier/Make 差在哪?

工具最適合的情境操作特色成本模式
Node-RED感測器、MQTT、Modbus、邊緣設備視覺化流程加 JavaScript開源,可自行部署
n8nSaaS、CRM、試算表、AI 流程工作流與 API 整合開源,可自行部署
Zapier/Make純 SaaS 串接、快速試做雲端服務、低門檻多依用量訂閱

可依資料來源選擇:讀感測器、控制繼電器或處理 MQTT/Modbus,選 Node-RED;串 Google Sheets、Slack、CRM 或 LLM 做商業流程,n8n 是常見的外部開源平台;完全不想處理主機與指令,再考慮 Zapier 或 Make。延伸閱讀可看 n8n 安裝教學n8n vs Zapier 差異比較Node-RED 與 n8n 分工做法

常見錯誤與除錯對照表

症狀最可能原因先做什麼
node-red 指令找不到全域安裝失敗或終端機未重開重開終端機,再執行 npm install -g node-red
1880 打不開程式未啟動或 port 被占用看終端機日誌;改用 node-red -p 1881
Deploy 後沒反應忘了 Deploy、線未接上檢查線是否連到節點,重新部署
MQTT 未連接broker 位址、port、帳密不正確先獨立測試 broker,再查節點設定
Docker 重啟後流程不見未掛載 /data使用 named volume 或 bind mount
Dashboard 找不到節點裝到舊套件或教學版本不符確認套件為 @flowfuse/node-red-dashboard

常見問答

Node-RED 免費嗎?有隱藏費用嗎?

Node-RED 軟體是開源的,沒有授權費與節點數上限。本機學習的額外軟體成本為 NT$0;真正成本來自你放置它的硬體、電力或雲端主機,而不是 Node-RED 本身。

不會寫程式也可以學 Node-RED 嗎?

可以。安裝與大多數流程都靠拖拉節點完成。function 節點才會用到少量 JavaScript,但你可先以 inject、switch、change、debug 等內建節點完成許多工作。

Node-RED 和 n8n 該選哪一個?

看資料從哪裡來。硬體、感測器與 MQTT/Modbus 偏向 Node-RED;SaaS、資料庫、通知與 AI 商業流程偏向 n8n。兩者也能在同一架構各自處理擅長的部分。

裝在電腦、Raspberry Pi 還是 Docker 比較好?

學習期先裝本機;要長時間連接實體設備時再用 Raspberry Pi;已有 Docker 經驗,或想讓服務與資料隔離時選 Docker。Docker 最不能省的是 /data 持久化。

為什麼 Deploy 後 MQTT 節點仍未連接?

通常是 broker 位址、1883 port 或帳密不正確,也可能 broker 根本尚未啟動。先用 MQTT 客戶端連線測試 broker 本身,確認它可用後再回 Node-RED 檢查 topic 與憑證。

為什麼中文教學畫面跟我看到的不一樣?

許多舊文章使用 Dashboard 1.x。現在請認明 @flowfuse/node-red-dashboard;新版使用 Base、Page、Group、Widget 的結構,不能照舊版節點名稱逐步操作。

下一步:把設備資料接到商業流程

到這裡,你已完成「觸發/感測器資料 → 處理 → 儀表板」的最小鏈路。下一個常見問題是:這些資料如何進 CRM、通知團隊或送往 AI 流程?這類延伸可用 n8n 等外部工具處理;若你正在找可直接修改的做法,可瀏覽 n8nstart.cc 的 1,700+ n8n 工作流模板