Node-RED安装与使用

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所属层次如下图:
在这里插入图片描述
主打的是业务逻辑层,但是也包含一些可视化展示层功能,第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 的工作界面,左侧是元素选择区,中间是画布区,右侧是信息/终端打印区,如下图:
在这里插入图片描述

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

4.1 下载所需插件

操作顺序依次是:节点管理-控制面板-安装-搜索
在这里插入图片描述

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
端口所属协议
1883MQTT 协议端口
8883MQTT/SSL 端口
8083MQTT/WebSocket 端口
8080HTTP API 端口
18083Dashboard 管理控制台端口

然后打开http://ip:18083即可打开界面
在这里插入图片描述

5.Node-RED的使用

5.1 输入与输出

1.首先拖进来输入和输出
在这里插入图片描述
2.配置输入节点
在这里插入图片描述
由于我当前选择的json模式,那需要编写一段json脚本
在这里插入图片描述
3.点击部署,并运行
在这里插入图片描述
可以看出上图输出是json模式

5.2 文件操作

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

5.3 接口操作

1.找到http in和http response节点
在这里插入图片描述
2.编辑http in节点,输入接口路径url
在这里插入图片描述
3.将http in和http response整体连接
在这里插入图片描述
4.在部署之后在浏览器中运行
在这里插入图片描述

5.4 数据库操作

先提前创建数据表
在这里插入图片描述
1.拖出mysql组件并配置数据库信息
在这里插入图片描述
2.拖出function,编写select函数
在这里插入图片描述
代码段如下:

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

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

return newMsg;

3.连接并运行
在这里插入图片描述
在这里插入图片描述

5.5 数学公式操作

1.首先拖出计算节点
在这里插入图片描述
2.查看计算机点配置项
在这里插入图片描述

5.6 MQTT操作

1.查看当前mqtt主题有哪些
在这里插入图片描述
2.选取mqtt节点组件
在这里插入图片描述
其中mqtt in是订阅节点,mqtt out是发布节点
3.配置mqtt in节点,先选择服务器
在这里插入图片描述
然后配置服务器地址
在这里插入图片描述
4.配置主题
在这里插入图片描述
5.将mqtt out也同样配置
6.查看主题是否订阅成功
在这里插入图片描述
7,实现完整连线
在这里插入图片描述
8.部署运行
在这里插入图片描述

5.7 发邮件操作

1.找到邮件节点
在这里插入图片描述
2.配置邮件信息
在这里插入图片描述
3.连接
在这里插入图片描述
4.部署运行,查看邮件
在这里插入图片描述

5.8 可视化界面操作

1.查看dashboard区域
在这里插入图片描述
以上便是界面中的菜单,界面如下:
在这里插入图片描述
2.下面以创建自定义表单和绘制折线图为例,首先是创建表单,找到dashboard中的表单组件
在这里插入图片描述
填写表单信息+所属页面+调用主题
在这里插入图片描述
连接邮件
在这里插入图片描述
部署查看界面
在这里插入图片描述
由于表单太长,需要设置一下布局
一种是窗口设置
在这里插入图片描述
另一种是在布局layout中设置,推荐这一种
在这里插入图片描述
在这里插入图片描述
调整之后为:
在这里插入图片描述
输入信息并点击按钮,查看邮箱
在这里插入图片描述
3.折线图
找到随机数和折线图组件
在这里插入图片描述
配置折线图
在这里插入图片描述
配置输入节点的周期性,然后查看界面
在这里插入图片描述
在这里插入图片描述

6.Node-RED的不足

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

7.如果您想进一步学习Node-RED

您可以进行视频课程学习:Node-RED从入门到实战教程

课程目录为:

第一章:课程简介

  • 1.1 课程简介 05:27

第二章:Node-RED入门

  • 2.1 Node-RED入门 07:18

第三章:Node-RED安装与配置

  • 3.1 Docker安装与配置 13:35
  • 3.2 Portainer安装与配置 12:32
  • 3.3 Node-RED安装与配置(容器版) 08:25
  • 3.4 EMQ安装与配置 11:14

第四章:Node-RED教学实战

  • 4.1 Node-RED 功能介绍 07:12
  • 4.2 Node-RED 基本逻辑操作 22:15
  • 4.3 Node-RED 文件操作与Rest接口操作 10:10
  • 4.4 Node-RED 数据库操作 11:46
  • 4.5 Node-RED MQTT操作 07:34
  • 4.6 Node-RED 邮件操作 08:21
  • 4.7 Node-RED Dashboard分组概念 10:09
  • 4.8 Node-RED Dashboard布局概念 06:10
  • 4.9 Node-RED 搭建物联网demo轮廓 10:10
  • 4.10 Node-RED Dashboard仪表盘配置 06:30
  • 4.11 Node-RED Dashboard雷达图配置 17:24
  • 4.12 Node-RED Dashboard雷达图结合MQTT 21:23
  • 4.13 Node-RED Dashboard饼状图配置 08:50
  • 4.14 Node-RED Dashboard折线图配置 05:08
  • 4.15 Node-RED Dashboard表单配置与工程移植 12:52

第五章:Node-RED的优势与不足

  • 5.1 Node-RED的优势与不足 05:01

第六章:Node-RED能给我们带来什么

  • 6.1 工业物联网的数据逻辑驱动 05:11
  • 6.2 工业物联网的工业计算公式开发 14:56

第七章:Node-RED总结与展望

  • 7.1 Node-RED总结与展望
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王凯琦

谢谢你们的支持,我会继续努力的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值