新聞中心
PRESS CENTER據(jù)統(tǒng)計到 2025 年,物聯(lián)網(wǎng)設(shè)備的數(shù)量將超過 750 億。因此,能夠輕松連接到這些設(shè)備并允許低代碼編程的高效通信協(xié)議和平臺至關(guān)重要。MQTT 和 Node-RED 在物聯(lián)網(wǎng)領(lǐng)域脫穎而出。那如何在 Node-RED 中使用 MQTT尼?
MQTT請查看:MQTT協(xié)議是什么,它有什么用途-成都縱橫智控
Node-RED 請查看:Node-RED的用途及優(yōu)勢解析-成都縱橫智控
1.安裝MQTT Broker
常用的 Broker 有 Mosquitto,可以通過以下命令進(jìn)行安裝(適用于 Ubuntu):
sudo apt-get install mosquitto mosquitto-clients
2.啟動 Mosquitto Broker:
sudo systemctl start mosquito
3.安裝 MQTT 節(jié)點包:
打開 Node-RED 管理界面,選擇右上角菜單,進(jìn)入“管理包”,搜索并安裝 node-red-contrib-mqtt 節(jié)點包。
4.配置 MQTT發(fā)布節(jié)點
將 MQTT-out 節(jié)點從 Node-RED 調(diào)色板拖放到畫布上。
雙擊 MQTT-out 節(jié)點以打開其配置對話框。
在配置對話框中,單擊服務(wù)器字段旁邊的鉛筆圖標(biāo)來創(chuàng)建新的代理配置。通過在服務(wù)器字段中添加代理的地址、端口以及任何身份驗證憑據(jù)(如果需要)來編輯 MQTT 代理設(shè)置。
在配置對話框中,配置以下字段:
Server:理的地址、端口。
Topic::輸入要發(fā)布消息的 MQTT 主題。我們將添加傳感器/濕度作為主題。
QoS:選擇消息傳遞所需的 QoS 級別(0、1 或 2)。
Retain:選擇是否在代理上保留已發(fā)布的消息(true 或 false)。
5.配置 MQTT 訂閱節(jié)點
將 MQTT-in 節(jié)點從 Node-RED 調(diào)色板拖放到畫布上。
雙擊 MQTT-in 節(jié)點以打開其配置對話框。
在配置對話框中,配置以下字段:
Server:地址+端口。
Action:訂閱單個主題或進(jìn)行動態(tài)訂閱。使用動態(tài)訂閱,您可以使用功能節(jié)點或其他處理節(jié)點從消息的有效負(fù)載中提取所需的 MQTT 主題。
Topic:輸入訂閱的 MQTT 主題 (sensors/temperature)。
QoS:選擇消息傳遞所需的 QoS 級別(0、1 或 2)。
將注入節(jié)點從面板拖放到畫布上。將注入節(jié)點連接到將生成隨機(jī)值的函數(shù)節(jié)點,并連接到 MQTT-out 節(jié)點。您可以將注入節(jié)點設(shè)置為在設(shè)定的間隔(例如十秒)后重復(fù)。
// Generate a random humidity value between 0 and 100var randomHumidity = Math.random() * 15; // Create the message object with the random humidity value var msg = { payload: randomHumidity, topic: "sensors/humidity"}; // Return the message objectreturn msg;
將 MQTT-in 節(jié)點的輸出連接到流中的調(diào)試節(jié)點,以將消息負(fù)載傳遞到 Node-RED 編輯器右側(cè)的調(diào)試選項卡。通過單擊 Node-RED 界面右上角的部署按鈕來部署您的流程。
完成這些配置后,MQTT-out 節(jié)點將向指定主題發(fā)布消息,MQTT-in 節(jié)點將訂閱指定主題以從 MQTT 代理接收消息。確保 MQTT-out 和 MQTT-in 節(jié)點中的主題配置匹配,以建立正確的通信。
Node-RED 是一種強(qiáng)大的流式編程工具,適用于物聯(lián)網(wǎng)設(shè)備的連接、集成和自動化。在許多物聯(lián)網(wǎng)應(yīng)用中,MQTT 是一種廣泛使用的通信協(xié)議,因其輕量級和發(fā)布/訂閱機(jī)制而備受青睞。
更多知識敬請期待-成都縱橫智控