Node-RED核心节点Nodes

Node-RED调色板包括一组默认的节点,它们是基本的构建 用于创建流的块。本页重点介绍了您应该了解的核心集。

所有节点都包含文档,您可以在选择节点时在Info侧栏选项卡中看到。


Inject注入

image

使用Inject节点,通过单击该节点左侧的方块按钮,可以在编辑器中手动触发流 。它还可以用于定期自动触发流 间隔。

Inject节点发送的消息有其 payloadtopic 属性 集。

payload 可以设置为多种不同的类型:

  • Flow流上下文Global全局上下文以及环境变量属性值
  • 字符串数字布尔值二进制流JSON对象
  • 从1970年1月1日开始以毫秒为单位的时间戳
  • 表达式
  • msg的其他变量映射

image

从node – red 1.1.0开始,Inject节点现在可以在消息上设置任何属性。

示例:

类型 设置值

输出

文本 8jxn.com

msg.payload : string[8]

“8jxn.com”

数字 1234567.890

msg.payload : number

1234567.89

布尔值 true

msg.payload : boolean

true

Json {“性别”:”男”,”年龄”:”12″}

msg.payload : Object

{ 性别: “男”, 年龄: “12” }

二进制流 [56,106,120,110,46,99,111,109]

msg.payload : buffer[8]

[ 56, 106, 120, 110, 46, 99, 111, 109 ]

时间戳

msg.payload : number

1717896721683

表达式 $split(“12 13 14 15″, ” “, 4)   

msg.payload : array[4]

[ “12”, “13”, “14”, “15” ]

interval 最多可设置596小时(约24天)。 如果您考虑的时间间隔大于一天,请考虑使用可以处理断电和重新启动的调度器节点。

image

interval between timesat a specific time 选项使用标准的cron系统。

image

image


Debug调试

image

Debug节点可用于在编辑器的Debug侧栏中显示消息。

侧边栏提供了它所发送的消息的结构化视图,使其更容易 检查信息。

除每条消息外,调试侧栏还包含有关消息时间的信息 是哪个调试节点发送的。单击源节点id将显示 工作区中的那个节点。

节点上的按钮可用于启用或禁用其输出。这是推荐的 禁用或删除任何未被使用的调试节点。

还可以将节点配置为将所有消息发送到运行时日志,或发送到 向调试节点下的状态文本发送短消息(32个字符)。

关于处理消息的页面提供了更多信息 有关使用“调试”侧栏的信息。

image


Function函数

image

Function节点允许针对传入的消息运行JavaScript代码。

关于使用Function节点的完整指南可以在这里找到


Change改变

image

Change节点可用于修改消息的属性和设置上下文属性 而不必求助于Function节点。

image

每个节点都可以配置多个按顺序应用的操作。 可用的操作有:

  • 设定值-设置属性。该值可以是各种不同的类型,或者 可以从现有消息或上下文属性中获取。
  • 替换值-搜索和替换消息属性的某些部分。
  • 转移-移动或重命名属性。
  • 删除-删除属性。

在设置属性时,值也可以是JSONata表达式的结果。 JSONata是一种用于JSON数据的声明式查询和转换语言。

关于使用Change节点的指南可以参考这里


Switch开关

image

Switch节点允许通过将消息路由到流的不同分支 针对每个消息评估一组规则。

“switch”这个名字来自于“switch语句” 在许多编程语言中都是通用的。这不是指实际的 switch

节点配置了要测试的属性——它可以是消息 属性或上下文属性。

image

规则有四种类型:

  • Value 根据配置的属性计算值规则
  • Sequence 序列规则可用于消息序列,例如通过拆分节点生成的消息序列
  • Expression 可以提供一个JSONata表达式,它将根据 如果表达式返回 true 值,则匹配整个消息。
  • Otherwise 如果前面的规则都没有匹配,可以使用else规则进行匹配。

节点将把消息路由到与匹配规则相对应的所有输出。

image

image

还可以将其配置为在找到匹配的规则时停止计算规则。

image


Template模板

image

Template节点可用于使用消息的属性来生成文本 填写模板。

它使用Mustache模板 生成结果的语言。

image

例如,模板:

This is the payload: {{payload}} !

如果上面模板的输入是时间戳,则输出消息为:

msg.payload : string[36]

"This is the payload: 1717897648647 !

{{payload}} 替换为消息的 payload 属性的值。

默认情况下,Mustache将用它们的HTML转义码替换某些字符。 为了防止这种情况发生,可以使用三括号: {{{payload}}}

Mustache支持简单的列表循环。例如,如果 msg.payload 包含 名称数组,如: ["Nick", "Dave", "Claire"] ,模板如下 将创建一个名称的HTML列表:

<ul>
{{#payload}}
  <li>{{.}}</li>
{{/payload}}
</ul>
<ul>
  <li>Nick</li>
  <li>Dave</li>
  <li>Claire</li>
</ul>

节点将使用结果设置已配置的消息或上下文属性 的模板。如果模板生成有效的JSON或YAML内容,则可以 配置为将结果解析为相应的JavaScript对象。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据