IBM Node-RED 安裝與使用教程


IBM Node-RED安裝與使用教程

1.Node-RED

Node-RED 是構建物聯網(IOT, Internet of Things)應用程序的一個強大工具,其重點是簡化代碼塊的“連接”以執行任務。它使用可視化編程方法,允許開發人員將預定義的代碼塊(稱為“節點”,Node)連接起來執行任務。連接的節點,通常是輸入節點、處理節點和輸出節點的組合,當它們連接在一起時,構成一個“流”(Flows)。

IBM Node-RED安裝與使用教程

Node-RED最初是IBM在2013年末開發的一個開源項目,以滿足他們快速連接硬件和設備到Web服務和其他軟件的需求——作為物聯網的一種粘合劑,它很快發展成為一種通用的物聯網編程工具。重要的是,Node-RED已經迅速形成一個重要的、不斷增長的用戶基礎和一個活躍的開發人員社區,他們正在開發新的節點,同時允許程序員復用Node-RED代碼來完成各種各樣的任務。

  • Node-Red是一個開源的可視化編程工具
  • Node-RED由IBM開發,主要用於連接連接計算機、傳感器和在線服務等協議或組件,以簡化它們之間的布線工作
  • Node-RED允許通過組合各部件來編寫應用程序。這些部件也可以是硬件設備、Web API 、在線服務

2.Node-RED應用意義

2.1 Node-RED所屬層次

Node-RED所屬層次如下圖:

IBM Node-RED安裝與使用教程

主打的是業務邏輯層,但是也包含一些可視化展示層功能,第4部分有詳細介紹

由此可見:

  • Node-RED並不是取代了代碼,而是簡化了代碼
  • 人們可以利用軟件塊和設備塊更容易連線連成有用的系統,簡化了開發
  • 開發者也是想通過這個新穎的形式讓人們更注重於創新,而不是正在重復地做什么

3.Node-RED安裝【Docker版】

3.1 下載Node-RED Docker容器

  • Node-RED的1.0系列在Docker Hub上已經改名為nodered/node-red.
  • Node-RED的0.20.x在Docker Hub上仍然叫nodered/node-red-docker,
docker pull nodered/node-red

3.2 運行容器

kubernetes@kubernetes-virtual-machine:~$ docker run -it -p 1880:1880 --name nodered nodered/node-red

> node-red-docker@1.0.4 start /usr/src/node-red
> node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"

18 Mar 07:53:36 - [info]

Welcome to Node-RED
===================

18 Mar 07:53:36 - [info] Node-RED version: v1.0.4
18 Mar 07:53:36 - [info] Node.js  version: v10.19.0
18 Mar 07:53:36 - [info] Linux 4.15.0-74-generic x64 LE
18 Mar 07:53:36 - [info] Loading palette nodes
18 Mar 07:53:37 - [info] Settings file  : /data/settings.js
18 Mar 07:53:37 - [info] Context store  : 'default' [module=memory]
18 Mar 07:53:37 - [info] User directory : /data
18 Mar 07:53:37 - [warn] Projects disabled : editorTheme.projects.enabled=false
18 Mar 07:53:37 - [info] Flows file     : /data/flows.json
18 Mar 07:53:37 - [info] Creating new flow file
18 Mar 07:53:37 - [warn]

---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------

18 Mar 07:53:37 - [info] Server now running at http://127.0.0.1:1880/
18 Mar 07:53:37 - [info] Starting flows
18 Mar 07:53:37 - [info] Started flows

客戶端訪問http://IP:1880,可以看到node-red 的工作界面,左側是元素選擇區,中間是畫布區,右側是信息/終端打印區,如下圖:

IBM Node-RED安裝與使用教程

4.使用Node-RED的准備工作

4.1 下載所需插件

操作順序依次是:節點管理-控制面板-安裝-搜索

IBM Node-RED安裝與使用教程

4.2 搭建MQTT服務器

EMQ 是一個由國人開發的百萬級分布式開源物聯網 MQTT 消息服務器。

docker run --name emq -p 18083:18083 -p 1883:1883 -p 8084:8084 -p 8883:8883 -p 8083:8083 -d emqx/emqx

端口 所屬協議

  • 1883 MQTT 協議端口
  • 8883 MQTT/SSL 端口
  • 8083 MQTT/WebSocket 端口
  • 8080 HTTP API 端口
  • 18083 Dashboard 管理控制台端口

然后打開http://ip:18083即可打開界面

IBM Node-RED安裝與使用教程

5.Node-RED的使用

5.1 輸入與輸出

1.首先拖進來輸入和輸出

IBM Node-RED安裝與使用教程

2.配置輸入節點

IBM Node-RED安裝與使用教程

由於我當前選擇的json模式,那需要編寫一段json腳本

IBM Node-RED安裝與使用教程

3.點擊部署,並運行

IBM Node-RED安裝與使用教程

可以看出上圖輸出是json模式

5.2 文件操作

這里以讀文件舉例
1.首先我在本地創建一個aaa.txt,並在里面寫入“Hello Node-RED”

IBM Node-RED安裝與使用教程

2.拖出來file in組件,注意這里演示的事讀文件操作

IBM Node-RED安裝與使用教程

3.拖出來function組件,用來編寫文件路徑

IBM Node-RED安裝與使用教程

IBM Node-RED安裝與使用教程

4.然后將輸入和輸出與其進行連接

IBM Node-RED安裝與使用教程

5.部署運行即可輸出文件中的內容

IBM Node-RED安裝與使用教程

5.3 接口操作

1.找到http in和http response節點

IBM Node-RED安裝與使用教程

2.編輯http in節點,輸入接口路徑url

IBM Node-RED安裝與使用教程

3.將http in和http response整體連接

IBM Node-RED安裝與使用教程

4.在部署之后在瀏覽器中運行

IBM Node-RED安裝與使用教程

5.4 數據庫操作

先提前創建數據表

IBM Node-RED安裝與使用教程

1.拖出mysql組件並配置數據庫信息

IBM Node-RED安裝與使用教程

2.拖出function,編寫select函數

IBM Node-RED安裝與使用教程

代碼段如下:

var selectTmp="select data from NodeRED_source where name='%s'";

var newMsg = {
"topic": util.format(selectTmp, msg.payload.name)
}

return newMsg;

3.連接並運行

IBM Node-RED安裝與使用教程

IBM Node-RED安裝與使用教程

5.5 數學公式操作

1.首先拖出計算節點

IBM Node-RED安裝與使用教程

2.查看計算機點配置項

IBM Node-RED安裝與使用教程

5.6 MQTT操作
1.查看當前mqtt主題有哪些

IBM Node-RED安裝與使用教程

2.選取mqtt節點組件

IBM Node-RED安裝與使用教程

其中mqtt in是訂閱節點,mqtt out是發布節點

3.配置mqtt in節點,先選擇服務器

IBM Node-RED安裝與使用教程

然后配置服務器地址

IBM Node-RED安裝與使用教程

4.配置主題
IBM Node-RED安裝與使用教程

5.將mqtt out也同樣配置

6.查看主題是否訂閱成功

IBM Node-RED安裝與使用教程

7,實現完整連線

IBM Node-RED安裝與使用教程

8.部署運行

IBM Node-RED安裝與使用教程

5.7 發郵件操作

1.找到郵件節點

IBM Node-RED安裝與使用教程

2.配置郵件信息

IBM Node-RED安裝與使用教程

3.連接

IBM Node-RED安裝與使用教程

4.部署運行,查看郵件

IBM Node-RED安裝與使用教程

5.8 可視化界面操作

1.查看dashboard區域

IBM Node-RED安裝與使用教程

以上便是界面中的菜單,界面如下:

IBM Node-RED安裝與使用教程

2.下面以創建自定義表單和繪制折線圖為例,首先是創建表單,找到dashboard中的表單組件

IBM Node-RED安裝與使用教程

填寫表單信息+所屬頁面+調用主題

IBM Node-RED安裝與使用教程

連接郵件

IBM Node-RED安裝與使用教程

部署查看界面

IBM Node-RED安裝與使用教程

由於表單太長,需要設置一下布局

一種是窗口設置

IBM Node-RED安裝與使用教程

另一種是在布局layout中設置,推薦這一種
IBM Node-RED安裝與使用教程

IBM Node-RED安裝與使用教程

調整之后為:

IBM Node-RED安裝與使用教程

輸入信息並點擊按鈕,查看郵箱

IBM Node-RED安裝與使用教程

3.折線圖

找到隨機數和折線圖組件

IBM Node-RED安裝與使用教程

配置折線圖

IBM Node-RED安裝與使用教程

配置輸入節點的周期性,然后查看界面

IBM Node-RED安裝與使用教程

IBM Node-RED安裝與使用教程

6.Node-RED的不足分析

  • 1、復雜的多功能物聯網應用:純拿Node-RED構建物聯網應用,UI是瓶頸
  • 2、基於流程的編程是一種並不總是最適合應用程序開發的編程模型:基於流程的編程是一個通用模型,不針對特定需求進行定位或優化,例如數據分析或交互界面開發
  • 3、功能實現基礎受限:Node-RED的基礎技術是JavaScript,不能構建功能原型,常使用Node-RED進行整體控制
  • 4、性能受限:極限數據操作性能不行

原文鏈接:https://blog.csdn.net/fnFenNuDManMan/article/details/104834919

NodeRED官網:https://nodered.org/

NodeREDGITHUB:https://github.com/node-red

NodeRED英文社區:https://discourse.nodered.org/

NodeRED中文社區:https://www.iotschool.com/topics/node81

NodeRED中文社區QQ群:8604461

iotschool


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM