Node-RED教程(三):Node-RED公共节点的使用

物联网 同时被 2 个专栏收录
30 篇文章 7 订阅
20 篇文章 54 订阅

Node-RED系列文章目前已经写了16篇,介绍了Node-RED的安装以及默认安装的一些基本节点的使用,作为物联网的一个可视化拖动的流程,Node-RED的确实很容易上手。还没开始学习的同学可以先看下我以前的文章。

  • 公共节点 用于调试,注入消息,跨流操作
  • 功能节点 逻辑判断,函数处理,命令行执行,
  • 网络节点 使用各种通信,http,websocket,tcp,udp
  • 序列节点 对消息体进行格式化,分割,排序
  • 解析节点 解析html,csv,json,xml,yaml
  • 存储节点 读取,写入文件,监听文件目录

有些节点只有出口没有入口,有些节点有入口却没有出口,还有一些节点既有出口也有入口,也有一个节点既没有入口也没有出口。处理不同的数据,编写复杂的逻辑需要使用不同的节点.
每一个节点的配置区域底部都有一个有效单选,可以将该节点设置为失效或有效。
这次我们一起来研究一下公共节点这一模块的所有节点

该模块共有8个节点分别是

  • inject 手动或定期地将消息注入流中。
  • debug 打印流中的数据
  • complete 当另一个节点完成对消息的处理时触发流
  • catch 捕获在同一个流中的所有或指定节点引发的错误。
  • status 获取在同一流所有节点或指定节点的状态消息
  • link in 在流之间创建虚拟连线。
  • link out 在流之间创建虚拟连线。
  • comment 可用于向流添加注释的节点

让我们来一个一个地分析如何使用这些节点完成Iot中流的处理。

inject

该节点的作用是手动或定期得将消息注入流中,可以是文本,变量,表达式,时间戳等。该节点前面没有可以流入的节点,消息体只能往后流。


点击节点的前部分可以触发该节点,也可以设置该节点为循环触发。
该节点单独使用没有任何意义,我们可以和debug节点放到一起来进行演示。
编写一个inject节点和debug节点,将它们首尾相连.inject在前,debug在后,部署之后,点击inject节点的头部,就能在调试面板里看到被注入到消息体的内容了

debug

该节点用于调试流中的消息体,只能用于打印,无法看到真正的堆栈,使用方法是,将该节点连接到一个可输出的节点后,配置要打印的参数,以msg开头,默认打印msg.payload。也可以打印消息体的全部内容,只需要在配置该节点时选择,与调试输入相同。此外还要注意要勾选控制台选项,只有这样才能在调试面板打印出消息体。

缺少图片

由于是web拖拽式来创建流,不是通过IDE编程的方式,所有无法通过步进的方式来调试程序。

complete

当另一个节点完成对消息的处理时会触发该节点。可以配置用于监控那些节点。没有输入,只需要将该节点拖拽到流中即可,不需要与现有流中的其他节点连线。比如我们要在发送完邮件后触发一些逻辑,就可以使用这个节点来监听发送邮件的节点。并不是所有的节点都可以被监听。
如下图我们配置complete监听inject节点的完成,触发后在debug节点打印由complete触发的调试流程

缺少图片

catch

catch节点是为了处理流中报错的节点,有时程序并不像我们想的那样健壮,也会有很多意外情况发生,这时候我们就可以使用catch节点来监听这些节点的错误信息,进行上报,或者给出友好提示。可以配置捕获那些节点的错误信息。
输出的信息为

error对象类型描述
error.message字符串错误消息。
error.source.id字符串引发错误的节点的ID。
error.source.type字符串引发错误的节点的类型。
error.source.name字符串引发错误的节点的名称。(如果已设置)

catch节点的设置

status

status是用于监控某些节点的状态变化,比如http节点,tcp,udp节点,只有节点存在状态发生了改变,被status节点监听到了之后才会被触发,而像inject,debug节点是不存在状态改变的,所以即使被status监听了也不会被触发。

下面这个即使使用status监听所有节点的状态改变,但也只有http节点触发了。有关http请求节点后面也会讲到。

该节点的输出信息为

status消息体类型描述
status.text字符串状态文本。
status.source.type字符串报告状态的节点的类型。
status.source.id字符串报告状态的节点的ID。
status.source.name字符串报告状态的节点的名称(如果已设置)。

link in

link in节点是用于在流之间创建连接,是为了实现将另一个流流入当前的流中,即设置当前流的上游。如果一个流存在link in节点,那么该流会被流入,对拥有 link out的流可见,也可以配置包含link out节点的流 link inlink out 必须搭配使用, 后者为前者的上级。

link out

将当前流流出,能够配置下一级的流,或节点.只能配置含有link in的节点作为下一级或下游。
用于二个流之间的通信。
如下图

commont

用于备注当前流。相当于代码中的注释。不会被执行。没有输入也没有输出。

  • 9
    点赞
  • 0
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

<p> <span style="color:#313d54;font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;font-size:16px;background-color:#ffffff;">Node-RED是工业网物联网重要组成部分,我最开始接触Node-RED,也算是一个偶然机会吧,上班后领导安排我第一个任务就是调研一下Node-RED,我之后上网查了一下,那个时候网上相对于Node-RED资料也比较少,只知道它是IBM公司一个开源项目。直到最近,发现许多大公司产品都支持Node-RED,比如西门子公司IoT2000,研华公司WISE PaaS 网关,美国OPTO 22等设备中都安装了Node-RED,表明它在工业物联网和控制中已经广泛应用了。</span> </p> <p> <img src="https://img-bss.csdnimg.cn/202010200935441926.png" alt="" width="1316" height="524" /> </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> 那么工业物联网为什么要用它?它又处于工业物联网那个层次?它具有哪些特性?它帮助物联网解决了什么问题?为什么说它是柔性动态可重构解决方案呢? </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;">   </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;">   </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> 本门课程,老师将带领你从Node-RED发展,工业物联网定位开始讲解,并带领着大家进行手把手安装Node-RED,实际操作演练Node-RED,并搭建一个物联网小平台,给大家带来更好学习效果。 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> <img src="https://img-bss.csdnimg.cn/202010200936289051.png" alt="" width="1841" height="948" /> </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> <img src="https://img-bss.csdnimg.cn/202010200936561564.png" alt="" width="1920" height="977" /> </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;">   </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;">   </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> 为了能够让小伙伴们快速了解本门课程结构,本门课程从以下几个方面展开 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED入门 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED安装与配置 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED教学实战 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED优势与不足 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED能为我们带来什么 </p> <p style="font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;color:#313d54;font-size:16px;background-color:#ffffff;"> Node-RED总结与展望 </p>
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值