这篇文章来结合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
结果确认
拖动一个Inject节点至Flow 1的编辑页面上
同样添加一个Debug的Node
点击Inject类型Node的右侧连接点,将其与Debug类型Node的左侧节点进行关联,这样一个最为简单的示例就完成了
修改需要执行Deploy操作才能生效,点击Deploy按钮即可,Deploy执行完毕之后,如果没有新的修改内容,会如下图一样显示为灰色。
部署之后点击Inject类型的Node的左侧按钮即可手动发起触发,这个效果是显示当前的时间信息,点击两次之后,选择Debug messages,可以从右侧边脸看到如下结果:
点击数字类型的时间信息,也可以进行转换
在接下来的示例中我们添加Function类型的Node进行时间转换:
步骤1: 添加一个Function类型的节点
双击添加的Function类型的Node,进行如下设定
代码说明:在前面的文章中介绍过Function类型的Node中可以执行JavaScript脚本,这里就是进行了一个简单的时间的转换,转换为字符类型进行显示
// 使用payload创建日期对象 var date = new Date(msg.payload); // 转换payload的时间格式 msg.payload = date.toString(); // msg中的payload的格式已经转换 return msg;步骤2: 删除之前的连线,重新连接
注意如果不执行Deploy操作,虽然已经是使用了Function类型的Node在中间进行转换,但是没有生效,此时手动触发日期格式仍然跟之前一样。
点击Deploy进行部署
部署之后,从结果中即可确认到变更之后的时间信息了
https://nodered.org/docs/tutorials/first-flow