Node-RED使用指南:9:创建示例:Inject&Debug&Function

在这里插入图片描述
这篇文章来结合Node-RED创建一条flow并进行说明,第一个示例主要用到Debug、Inject和Function类型的Node。

事前准备

以容器方式启动Node-RED服务,启动命令如下所示:

启动命令:docker run -it -p 1880:1880 -v $PWD/data:/data -e TZ=Asia/Shanghai --name nodered -d nodered/node-red:1.0.4

结果确认
Node-RED使用指南:9:创建示例:Inject&Debug&Function_第1张图片

示例1: 使用Inject和Debug的Node输出显示信息

步骤1: 添加一个Inject的Node

拖动一个Inject节点至Flow 1的编辑页面上
Node-RED使用指南:9:创建示例:Inject&Debug&Function_第2张图片

步骤2: 添加一个Debug的Node

同样添加一个Debug的Node
Node-RED使用指南:9:创建示例:Inject&Debug&Function_第3张图片

步骤3: 添加连线

点击Inject类型Node的右侧连接点,将其与Debug类型Node的左侧节点进行关联,这样一个最为简单的示例就完成了
Node-RED使用指南:9:创建示例:Inject&Debug&Function_第4张图片

步骤4: 执行Deploy

修改需要执行Deploy操作才能生效,点击Deploy按钮即可,Deploy执行完毕之后,如果没有新的修改内容,会如下图一样显示为灰色。
Node-RED使用指南:9:创建示例:Inject&Debug&Function_第5张图片

步骤5: 结果确认

部署之后点击Inject类型的Node的左侧按钮即可手动发起触发,这个效果是显示当前的时间信息,点击两次之后,选择Debug messages,可以从右侧边脸看到如下结果:
Node-RED使用指南:9:创建示例:Inject&Debug&Function_第6张图片
点击数字类型的时间信息,也可以进行转换
Node-RED使用指南:9:创建示例:Inject&Debug&Function_第7张图片

示例2: 使用Function类型的Node添加转换功能

在接下来的示例中我们添加Function类型的Node进行时间转换:

步骤1: 添加一个Function类型的节点

Node-RED使用指南:9:创建示例:Inject&Debug&Function_第8张图片
双击添加的Function类型的Node,进行如下设定
Node-RED使用指南:9:创建示例:Inject&Debug&Function_第9张图片
代码说明:在前面的文章中介绍过Function类型的Node中可以执行JavaScript脚本,这里就是进行了一个简单的时间的转换,转换为字符类型进行显示

// 使用payload创建日期对象
var date = new Date(msg.payload);
// 转换payload的时间格式
msg.payload = date.toString();
// msg中的payload的格式已经转换
return msg;

步骤2: 删除之前的连线,重新连接

Node-RED使用指南:9:创建示例:Inject&Debug&Function_第10张图片

步骤3: 执行Deploy操作

注意如果不执行Deploy操作,虽然已经是使用了Function类型的Node在中间进行转换,但是没有生效,此时手动触发日期格式仍然跟之前一样。
Node-RED使用指南:9:创建示例:Inject&Debug&Function_第11张图片
点击Deploy进行部署

步骤4: 确认结果

部署之后,从结果中即可确认到变更之后的时间信息了
Node-RED使用指南:9:创建示例:Inject&Debug&Function_第12张图片

参考内容

https://nodered.org/docs/tutorials/first-flow

你可能感兴趣的:(#,Node-Red)