node-red 安装和使用实例
发布日期:2021-10-03 22:59:29 浏览次数:35 分类:技术文章

本文共 2428 字,大约阅读时间需要 8 分钟。

Node-RED是一个可视化物联网编排工具,可基于浏览器的流程编辑器连接设备、服务器和 API 应用。

本文介绍在Ubuntu18.04 上的安装和使用。

详细的官方文档可以查看https://nodered.org/docs/

1 安装

1.1安装nodejs

$sudo apt-get install nodejs

1.2 安装cnpm

Npm资源在国外,比较慢,所以安装cnpm并使用taobao镜像

$npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm安装完成后,默认会放在/local/npm/bin/cnpm -> ../lib/node_modules/cnpm/bin/cnpm

直接运行cnpm会报找不到命令,这时需要在/usr/bin/目录下创建一个软连接,运行:

$ sudo ln -s /local/npm/lib/node_modules/cnpm/bin/cnpm /usr/bin/cnpm

这时就可以运行cnpm了。

1.3安装node-red

$cnpm install -g node-red

安装完成后,默认也会放在/local/npm/bin/ 下,直接运行会报错。所以需要创建软连接:

$sudo ln -s /local/npm/lib/node_modules/node-red/red.js /usr/bin/node-red

$sudo ln -s /local/npm/lib/node_modules/node-red/bin/node-red-pi /usr/bin/node-red-pi

这样就可以启动node-red 了

运行: $node-red

默认会监听1880端口

在浏览器输入就可以使用了,界面如下图所示:

2 使用

2.1 例子1:创建一个Flow

使用Inject node,Debug node, Function node 创建一个简单的数据流,功能时将时间信息输出到debug里。

1 从左侧栏里拖动一个inject node到工作区

2 拖动一个debug node到工作区

3 拖动一个function node 到工作区

4 将三个node连接起来

5 双击function node

会弹出如下的编辑框,在代码栏里粘贴如下的代码,然后点击“Done”button。

// Create a Date object from the payloadvar date = new Date(msg.payload);// Change the payload to be a formatted Date stringmsg.payload = date.toString();// Return the message so it can be sent onreturn msg;

 

6 deploy

首先点击”Deploy” 按钮,应用此flow。然后点“Debug”来显示debug 的信息。

最后点击Inject node的按钮,每点击一次,就会在右侧的debug栏输出一条信息。

2.2 导入/导出Flow

一个Flow创建好之后,可以将其导出,格式为json文件。这样,别人就可以使用了。

2.2.1导出Flow

1 首先点击功能栏,在弹出的列表中点击“Export”,如下图所示。

 

2 点击“export”后,会弹出如下窗口

点击“Download”按钮就可以将配置文件保存本地。

 

2.2.2 导入Flow

如果别人保存好的flow配置文件可以直接导入到node red中使用。

1首先点击功能栏,在弹出的列表中点击“Import”,如下图所示。

 2 点击“Import”后会弹出对话框,如下图:

3 然后点击“select a file to import”选择想要导入的json文件,最后点击“import”就完成了导入操作

4 最后点击主页面的“Deploy”就可以使用了。

2.3 例子2: 从website获取CSV文件并解析

这个例子比较复杂一些:从一个网站获取CSV文件,进行解析,根据数据做一些处理。

需要用到Inject node,  Http request node, csv node, switch node, change node 和debug node.

 

1 添加一个Inject node

双击node,repeat改为interval, 值改为2 minutes,如下图。

这样,每2分钟会触发一次操作。

 

2 添加一个http request node

双击node,将URL改为:

然后点击“done”

3 添加CSV node

双击此node, 勾选 ‘First row contains column names’,其他选项保持不动。

 

4 添加debug node

添加完debug node之后,将上面四个node按照如下图所示的顺序连接起来。

 

5 添加switch node

双击此node,配置msg.payload.mag属性,设置条件为 “>=” ,选择类型为“number”, 值可以填任何值,这里填了6.7,意思是如果上一个node 来的值>=6.7的话,会满足此switch node条件,然后会被传到下一个node。

 

6 添加一个change node

双击此node,设置msg.payload的string内容为“TooHighValue”

 

7 再添加一个debug node

将switch node, change node和debug node 按如下图的顺序连接起来。

 

8 Deploy

Deploy之后,在debug输出中如果从URL取得的值大于6.7,则会输出TooHighValue字符串。

 

 

 

转载地址:https://blog.csdn.net/lclfans1983/article/details/112297291 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Docker Compose network配置
下一篇:2020,我的CSDN博文之路

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年03月18日 11时26分27秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章