Node-RED 教學 2026:安裝到 Dashboard 2.0 全流程
照這份 Node-RED 教學完成安裝、第一個流程、MQTT 串接與 Dashboard 2.0 儀表板。
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)
-
安裝 Node.js LTS,開啟終端機執行
node -v與npm -v。看到兩個版本號,才往下做。 -
macOS/Linux 執行:
sudo npm install -g node-red
Windows 不要加
sudo:npm install -g node-red
-
執行
node-red啟動服務。 -
**驗證點:**終端機出現
Server now running at http://127.0.0.1:1880/。 -
開啟
http://127.0.0.1:1880。看到左側節點面板與中間畫布,就完成了。
官方文件列出的預設連接埠是 1880;若已被其他程式使用,改用 node-red -p 1881,再開啟 http://127.0.0.1:1881。Node-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 出現
- 從左側拖一個
inject到畫布。 - 拖一個
debug到右邊,從 inject 右側小圓點拉線到 debug 左側。 - 按右上角 Deploy。
- 點 inject 左側的小方塊。
- **驗證點:**右側 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 的後繼方案,節點與設定結構不同。
- 在右上角選單開啟「節點管理」→「安裝」,搜尋
node-red-dashboard。 - 選擇並安裝
@flowfuse/node-red-dashboard,不要選舊的node-red/node-red-dashboard。 - 拖入
ui-chart,在設定中建立或選擇ui-base、ui-page、ui-group。 - 將 MQTT 的數值資料接到
ui-chart,然後 Deploy。 - 開啟
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 | 開源,可自行部署 |
| n8n | SaaS、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 工作流模板。