ibm node-red 安装与使用教程
node-red 是构建物联网 (iot, internet of things) 应用程序的一个强大工具,其重点是简化代码块的 “连接” 以执行任务。它使用可视化编程方法,允许开发人员将预定义的代码块(称为 “节点”,node)连接起来执行任务。连接的节点,通常是输入节点、处理节点和输出节点的组合,当它们连接在一起时,构成一个 “流”(flows)。
node-red 最初是 ibm 在 2013 年末开发的一个开源项目,以满足他们快速连接硬件和设备到 web 服务和其他软件的需求——作为物联网的一种粘合剂,它很快发展成为一种通用的物联网编程工具。重要的是,node-red 已经迅速形成一个重要的、不断增长的用户基础和一个活跃的开发人员社区,他们正在开发新的节点,同时允许程序员复用 node-red 代码来完成各种各样的任务。
node-red 所属层次如下图:
主打的是业务逻辑层,但是也包含一些可视化展示层功能,第 4 部分有详细介绍
由此可见:
docker pull nodered/node-red
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
客户端访问可以看到 的工作界面,左侧是元素选择区,中间是画布区,右侧是信息/终端打印区,如下图:
操作顺序依次是:节点管理 - 控制面板 - 安装 - 搜索
emq 是一个由国人开发的百万级分布式开源物联网 mqtt 消息服务器。
docker run --name emq -p 18083:18083 -p 1883:1883 -p 8084:8084 -p 8883:8883 -p 8083:8083 -d emqx/emqx
端口 所属协议
然后打开即可打开界面
1.首先拖进来输入和输出
2.配置输入节点
由于我当前选择的 json 模式,那需要编写一段 json 脚本
3.点击部署,并运行
可以看出上图输出是 json 模式
这里以读文件举例 1.首先我在本地创建一个 aaa.txt,并在里面写入 “hello node-red”
2.拖出来 file in 组件,注意这里演示的事读文件操作
3.拖出来 function 组件,用来编写文件路径
4.然后将输入和输出与其进行连接
5.部署运行即可输出文件中的内容
1.找到 http in 和 http response 节点
2.编辑 http in 节点,输入接口路径 url
3.将 http in 和 http response 整体连接
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.连接并运行
1.首先拖出计算节点
2.查看计算机点配置项
5.6 mqtt 操作 1.查看当前 mqtt 主题有哪些
2.选取 mqtt 节点组件
其中 mqtt in 是订阅节点,mqtt out 是发布节点
3.配置 mqtt in 节点,先选择服务器
然后配置服务器地址
4.配置主题
5.将 mqtt out 也同样配置
6.查看主题是否订阅成功
7,实现完整连线
8.部署运行
1.找到邮件节点
2.配置邮件信息
3.连接
4.部署运行,查看邮件
1.查看 dashboard 区域
以上便是界面中的菜单,界面如下:
2.下面以创建自定义表单和绘制折线图为例,首先是创建表单,找到 dashboard 中的表单组件
填写表单信息 所属页面 调用主题
连接邮件
部署查看界面
由于表单太长,需要设置一下布局
一种是窗口设置
另一种是在布局 layout 中设置,推荐这一种
调整之后为:
输入信息并点击按钮,查看邮箱
3.折线图
找到随机数和折线图组件
配置折线图
配置输入节点的周期性,然后查看界面
原文链接:
nodered 澳门人威尼斯3966官网:
noderedgithub:
nodered 英文社区:
nodered 中文社区:https://www.iotschool.com/topics/node81
nodered 中文社区 qq 群:8604461