亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用?Node-RED對?MQTT?數(shù)據流處理

 更新時間:2022年05月24日 16:28:23   作者:EMQX  
本文將介紹使用 Node-RED 連接到 MQTT 服務器,并對 MQTT 數(shù)據進行過濾和處理后再將其發(fā)送至 MQTT 服務器的完整操作流程。讀者可以快速了解如何使用 Node-RED 對 MQTT 數(shù)據進行簡單的流處理

Node-RED 是一個可視化的編程工具,可以創(chuàng)新和有趣的方式將硬件設備、API 和在線服務等連接起來。它提供了一個基于瀏覽器的編輯器,通過調色板中廣泛的節(jié)點將流程輕松連接起來,而這些節(jié)點只需通過一次點擊即可部署到其運行時。

除 HTTP、WebScoket 等一些基礎的網絡服務應用節(jié)點外,Node-RED 還提供對于 MQTT 協(xié)議的連接支持。目前同時提供了一個 MQTT 的訂閱節(jié)點和 MQTT 的發(fā)布節(jié)點,訂閱節(jié)點用于數(shù)據的輸入,而發(fā)布節(jié)點可以用于數(shù)據的輸出。

本文將介紹使用 Node-RED 連接到 MQTT 服務器,并對 MQTT 數(shù)據進行過濾和處理后再將其發(fā)送至 MQTT 服務器的完整操作流程。讀者可以快速了解如何使用 Node-RED 對 MQTT 數(shù)據進行簡單的流處理。

Node-RED 安裝

Node-RED 無論是在你本地的電腦上,還是樹莓派等設備,亦或是云端服務器,都可以快速安裝和使用,下面將使用兩種比較常見的安裝方式:

使用 npm 進行全局安裝:

1npm install -g --unsafe-perm node-red

使用 Docker 進行安裝:

1docker run -it -p 1880:1880 --name mynodered nodered/node-red

運行

如果使用的是 npm 進行的全局安裝,那么在提示安裝成功后,只需要在全局運行 node-red 命令就可以立即啟動 Node-RED。

無論是使用 Docker 還是 npm 在啟動成功后,我們只需要打開瀏覽器,輸入當前地址加 1880 端口號,即可打開 Node-RED 的瀏覽器編輯器頁面,例如在本地運行的話,打開瀏覽器,輸入 http://127.0.0.1:1880,當看到如下圖所示頁面后,說明 Node-RED 已經成功啟動:

在 Node-RED 中使用 MQTT

本文將使用 EMQ 提供的 免費公共 MQTT 服務器,該服務基于 MQTT 物聯(lián)網云平臺 - EMQX Cloud 創(chuàng)建,服務器接入信息如下:

  • Broker: broker-cn.emqx.io
  • TCP Port: 1883
  • WebSocket Port: 8083

在下面的功能演示中,我們將提供一個使用 Node-RED 來處理接收到的包含溫濕度信息的 JSON 數(shù)據,然后對溫度值進行規(guī)則判斷,當溫度發(fā)生改變的時候,就將當前發(fā)生改變的溫度值通過 MQTT 再次發(fā)送出去的簡單使用案例。

連接 MQTT 服務器

我們首先在左側菜單欄中,拖拽一個 MQTT in 的節(jié)點到頁面中,雙擊節(jié)點后,右側出現(xiàn)一個編輯 MQTT 節(jié)點的配置頁面,我們根據內容提示,新建一個連接信息后,再填入 MQTT 的其它連接信息后,點擊 Done 按鈕后,即可保存該節(jié)點信息。

對 MQTT 數(shù)據進行處理

接入數(shù)據:我們拖拽一個 JSON 節(jié)點到頁面中,可以在 JSON 節(jié)點的配置頁面中,配置一個 Action,我們設置為 Always convert to JavasScript Object,因為我們無法確定發(fā)送過來的數(shù)據是一個 JSON 格式的數(shù)據還是一個 JSON 字符串,因此第一步都將接收到的消息進行一個 JSON 轉換。配置完成后,我們將該節(jié)點與 MQTT in 節(jié)點進行連接。

過濾數(shù)據

我們配置完成格式化發(fā)送過來的消息數(shù)據后,我們就可以拖拽一個 filter 節(jié)點到頁面中,同樣雙擊節(jié)點后,在配置頁面中配置規(guī)則,我們先選擇一個 Mode,我們設置為 blcok unless value changes,過濾規(guī)則為需要當前接收到數(shù)據的值發(fā)生改變,因為目前數(shù)據為 JSON 格式,我們判斷的是 JSON 數(shù)據內的某一個值,因此我們需要在 Property 這里設置值為 msg.payload.temperature 配置完成后我們點擊 Done 按鈕來保存數(shù)據過濾節(jié)點的配置,最后將該節(jié)點連接到上一步配置完成后的 JSON 節(jié)點。

使用模版

當過濾完數(shù)據后,同樣拖拽一個 template 節(jié)點到頁面中,雙擊節(jié)點后來配置模版內容,使過濾完成后的數(shù)據,能通過模版將數(shù)據進行輸出。當然也可以不需要這個步驟,直接將過濾后的數(shù)據進行輸出。

發(fā)送經過處理后的 MQTT 數(shù)據

完成以上對數(shù)據的處理和過濾后,最后我們再來將處理完成后的數(shù)據使用 MQTT 將其發(fā)送出去,拖拽一個 MQTT out 的節(jié)點到頁面中,填入和 MQTT in 節(jié)點相同的連接信息,配置一個用戶接收數(shù)據的 Topic,最后保存完成后,再將其和 template 節(jié)點進行連接,點擊右上角的 Deploy 按鈕,即可對當前規(guī)則應用進行在線部署。

功能測試

在完成整個流數(shù)據處理的功能編排以后,我們使用 MQTT 5.0 客戶端工具 - MQTT X 來測試和驗證該功能的可用性。我們新建一個連接,連接到剛才在 Node-RED 中配置的 MQTT 云服務地址,然后輸入 MQTT in 節(jié)點內的 Topic 來發(fā)送一條消息,使 Node-RED 能夠接收到我們發(fā)送的 MQTT 數(shù)據。

然后我們再在 MQTT X 中訂閱一個在 MQTT out 節(jié)點內配置的 Topic,用于接收處理過的消息數(shù)據。當發(fā)送一條包含了溫濕度的消息數(shù)據后,我們可以接收到一條根據我們設定的消息模版發(fā)送過來的消息,再次發(fā)送就無法接收到。

因為此時溫度值沒有發(fā)生變化,當我們再次修改溫度值后,就會發(fā)現(xiàn)我們又接收到了一條包含提醒溫度值發(fā)生變化的消息。

總結

至此,我們完成了安裝并使用 Node-RED 連接到 MQTT 云服務,以及對 MQTT 消息數(shù)據進行過濾和處理,最后再將處理完成后的數(shù)據消息發(fā)送至 MQTT 服務器的全部流程。

Node-RED 的交互和使用方式,即用 UI 方式描述通用業(yè)務邏輯,可以降低非專業(yè)開發(fā)人員的上手門檻,使用一個可視化工具快速地創(chuàng)建需要的復雜執(zhí)行任務,可以通過簡單 Node 即節(jié)點連接構建出復雜的任務,特別是針對一些物聯(lián)網的應用場景,都很有幫助。

到此這篇關于使用 Node-RED 處理 MQTT 數(shù)據進行流處理的文章就介紹到這了,更多相關Node-RED 處理 MQTT 數(shù)據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • node以及npm版本不對應出錯的完美解決方法

    node以及npm版本不對應出錯的完美解決方法

    最近項目用到了node和npm,查看一下當前版本,發(fā)現(xiàn)有報錯,下面這篇文章主要給大家介紹了關于node以及npm版本不對應出錯的完美解決方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Nodejs Express 通過log4js寫日志到Logstash(ELK)

    Nodejs Express 通過log4js寫日志到Logstash(ELK)

    這篇文章主要介紹了Nodejs Express 通過log4js寫日志到Logstash(ELK),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • NodeJs測試框架Mocha的安裝與使用

    NodeJs測試框架Mocha的安裝與使用

    本文全面介紹如何使用Mocha,讓你輕松上手。如果你以前對測試一無所知,本文也可以當作JavaScript單元測試入門。
    2017-03-03
  • node.js不得不說的12點內容

    node.js不得不說的12點內容

    本文主要是分享下,個人對node.js的一些認識和理解,希望對大家有所幫助
    2014-07-07
  • NodeJs環(huán)境安裝與配置的實現(xiàn)步驟

    NodeJs環(huán)境安裝與配置的實現(xiàn)步驟

    本文主要介紹了NodeJs環(huán)境安裝與配置,包括配置環(huán)境和配置國內鏡像,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • Node.js?與并發(fā)模型的詳細介紹

    Node.js?與并發(fā)模型的詳細介紹

    這篇文章主要介紹了Node.js?與并發(fā)模型的詳細介紹,Node.js?現(xiàn)在已成為構建高并發(fā)網絡應用服務工具箱中的一員,文章圍繞主題展開詳細的內容介紹,需要的朋友可以參考一下
    2022-07-07
  • Node.js引入UIBootstrap的方法示例

    Node.js引入UIBootstrap的方法示例

    這篇文章主要介紹了Node.js引入UIBootstrap的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Node.js實現(xiàn)注冊郵箱激活功能的方法示例

    Node.js實現(xiàn)注冊郵箱激活功能的方法示例

    現(xiàn)在很多網站都需要有注冊郵箱激活的功能,本篇文章主要介紹了Node.js實現(xiàn)注冊郵箱激活功能的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Nodejs實現(xiàn)短信驗證碼功能

    Nodejs實現(xiàn)短信驗證碼功能

    使用Nodejs的開發(fā)者愈來越多,基于Nodejs的后臺開發(fā)也多了起來,像短信驗證碼、短信群發(fā)、國際短信這些需求,完全可以采用第三方接口來實現(xiàn),云片就提供了這樣的接口
    2017-02-02
  • Node.js API詳解之 dgram模塊用法實例分析

    Node.js API詳解之 dgram模塊用法實例分析

    這篇文章主要介紹了Node.js API詳解之 dgram模塊用法,結合實例形式分析了Node.js API中dgram模塊基本功能、函數(shù)、使用方法及操作注意事項,需要的朋友可以參考下
    2020-06-06

最新評論