Node-RED安装与使用

Node-RED安装与使用

1.Node-RED

Node-RED 是构建物联网(IOT, Internet of Things)应用程序的一个强大工具,其重点是简化代码块的“连接”以执行任务。它使用可视化编程方法,允许开发人员将预定义的代码块(称为“节点”,Node)连接起来执行任务。连接的节点,通常是输入节点、处理节点和输出节点的组合,当它们连接在一起时,构成一个“流”(Flows)。
在这里插入图片描述

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所属层次如下图:
Node-RED安装与使用_第1张图片
主打的是业务逻辑层,但是也包含一些可视化展示层功能,第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 的工作界面,左侧是元素选择区,中间是画布区,右侧是信息/终端打印区,如下图:
Node-RED安装与使用_第2张图片

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

4.1 下载所需插件

操作顺序依次是:节点管理-控制面板-安装-搜索
Node-RED安装与使用_第3张图片

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即可打开界面
Node-RED安装与使用_第4张图片

5.Node-RED的使用

5.1 输入与输出

1.首先拖进来输入和输出
Node-RED安装与使用_第5张图片
2.配置输入节点
Node-RED安装与使用_第6张图片
由于我当前选择的json模式,那需要编写一段json脚本
Node-RED安装与使用_第7张图片
3.点击部署,并运行
Node-RED安装与使用_第8张图片
可以看出上图输出是json模式

5.2 文件操作

这里以读文件举例
1.首先我在本地创建一个aaa.txt,并在里面写入“Hello Node-RED”
在这里插入图片描述
2.拖出来file in组件,注意这里演示的事读文件操作
Node-RED安装与使用_第9张图片
3.拖出来function组件,用来编写文件路径
在这里插入图片描述
Node-RED安装与使用_第10张图片
4.然后将输入和输出与其进行连接
Node-RED安装与使用_第11张图片
5.部署运行即可输出文件中的内容
Node-RED安装与使用_第12张图片

5.3 接口操作

1.找到http in和http response节点
Node-RED安装与使用_第13张图片
2.编辑http in节点,输入接口路径url
Node-RED安装与使用_第14张图片
3.将http in和http response整体连接
Node-RED安装与使用_第15张图片
4.在部署之后在浏览器中运行
Node-RED安装与使用_第16张图片

5.4 数据库操作

先提前创建数据表
Node-RED安装与使用_第17张图片
1.拖出mysql组件并配置数据库信息
Node-RED安装与使用_第18张图片
2.拖出function,编写select函数
Node-RED安装与使用_第19张图片
代码段如下:

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

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

return newMsg;

3.连接并运行
Node-RED安装与使用_第20张图片
Node-RED安装与使用_第21张图片

5.5 数学公式操作

1.首先拖出计算节点
Node-RED安装与使用_第22张图片
2.查看计算机点配置项
Node-RED安装与使用_第23张图片

5.6 MQTT操作

1.查看当前mqtt主题有哪些
Node-RED安装与使用_第24张图片
2.选取mqtt节点组件
Node-RED安装与使用_第25张图片
其中mqtt in是订阅节点,mqtt out是发布节点
3.配置mqtt in节点,先选择服务器
Node-RED安装与使用_第26张图片
然后配置服务器地址
Node-RED安装与使用_第27张图片
4.配置主题
Node-RED安装与使用_第28张图片
5.将mqtt out也同样配置
6.查看主题是否订阅成功
Node-RED安装与使用_第29张图片
7,实现完整连线
Node-RED安装与使用_第30张图片
8.部署运行
Node-RED安装与使用_第31张图片

5.7 发邮件操作

1.找到邮件节点
Node-RED安装与使用_第32张图片
2.配置邮件信息
Node-RED安装与使用_第33张图片
3.连接
Node-RED安装与使用_第34张图片
4.部署运行,查看邮件
Node-RED安装与使用_第35张图片

5.8 可视化界面操作

1.查看dashboard区域
Node-RED安装与使用_第36张图片
以上便是界面中的菜单,界面如下:
Node-RED安装与使用_第37张图片
2.下面以创建自定义表单和绘制折线图为例,首先是创建表单,找到dashboard中的表单组件
Node-RED安装与使用_第38张图片
填写表单信息+所属页面+调用主题
Node-RED安装与使用_第39张图片
连接邮件
Node-RED安装与使用_第40张图片
部署查看界面
Node-RED安装与使用_第41张图片
由于表单太长,需要设置一下布局
一种是窗口设置
Node-RED安装与使用_第42张图片
另一种是在布局layout中设置,推荐这一种
Node-RED安装与使用_第43张图片
Node-RED安装与使用_第44张图片
调整之后为:
Node-RED安装与使用_第45张图片
输入信息并点击按钮,查看邮箱
Node-RED安装与使用_第46张图片
3.折线图
找到随机数和折线图组件
Node-RED安装与使用_第47张图片
配置折线图
Node-RED安装与使用_第48张图片
配置输入节点的周期性,然后查看界面
Node-RED安装与使用_第49张图片
Node-RED安装与使用_第50张图片

6.Node-RED的不足

序号 不是首选的情况 情况描述
1 复杂的多功能物联网应用 纯拿Node-RED构建物联网应用,UI是瓶颈
2 基于流程的编程是一种并不总是最适合应用程序开发的编程模型 基于流程的编程是一个通用模型,不针对特定需求进行定位或优化,例如数据分析或交互界面开发
3 功能实现基础受限 Node-RED的基础技术是JavaScript,不能构建功能原型,常使用Node-RED进行整体控制
4 性能受限 极限数据操作性能不行

你可能感兴趣的:(核心技术类,docker,nodejs,物联网,java)