从郁金香向 Node-RED 发送信息
  • 20 Feb 2024
  • 1 分钟阅读
  • 贡献者

从郁金香向 Node-RED 发送信息


Article Summary

要从 Tulip 发送信息(例如从应用程序内触发器或自动操作),可以使用连接器。在所有 Tulip Edge 设备上安装连接器主机后,就可以轻松实现这一功能。

使用 Tulip Edge 设备

以下流程将用于从 Tulip 触发器向 Tulip Edge 设备上运行的 Node-RED 发送消息:

Communicate with Machines using Edge MC's Connector Host & Node-RED_314676359.png

完成后,在任何 Tulip 应用程序或自动化中使用新创建的连接器向 Node-RED 发送消息,如设备命令或流量输入。

在 Tulip 中配置连接器和连接器主机

注:如果您不熟悉 Tulip 中的连接器主机和连接器功能,请查看本文。

  1. 在 Tulip 实例的连接器页面创建一个新连接器。
  2. 在出现的模态中,填写以下信息:

名称:为连接器主机选择一个名称描述:为连接器主机选择名称 连接器类型:选择HTTP

  1. 单击 "保存"。
  2. 要指定连接器主机的详细信息,请单击左侧的生产、测试和开发按钮。在出现的模态中,输入以下信息:

Running On:选择目标边缘设备的连接器主机注意:如果找不到边缘设备的连接器主机,请导航到边缘设备的门户,确保已启用 "连接器主机*"*。 主机:输入 localhost 端口:输入 1880(这是 Node-RED 运行的端口) TLS:输入 No 无需添加头或证书。

  1. 单击 "测试",验证连接是否通过。最后点击保存。

现在,该连接器可以与目标边缘设备上的 Node-RED 通信。


在 Node-RED:配置 HTTP IN 节点

注意:本节假定熟悉 Node-RED。

为了接收来自设备上连接器主机的信息,将使用 HTTP IN 节点。

  1. 单击并拖动将 HTTP IN 节点从 Node-RED 编辑器左侧的调色板添加到流程中:

image.png

输入以下信息:
**方法:POSTURL:**任何用户定义的路径,如/nodeRED/myMachine/0013。下面的示例将 URL 配置为/test
image.png

  1. 单击 "完成 "保存更改。

如果没有向服务器(本例中为 Tulip)返回响应,HTTP 请求将失败。
1.拖入一个HTTP 响应节点。
2.2. 将HTTP 请求节点连接到HTTP 响应节点。双击HTTP 响应节点,输入200作为状态代码。单击 "完成"。

image.png

:::(Info) (HTTP 响应和高级反馈)修改状态代码和/或使用HTTP响应节点中的**+add按钮修改或添加到连接器的响应中。这些数据(通常是流程生成的系统或设备输出)将出现在连接器的响应中。根据此处的**指南配置连接器输出!!!这是正确的措辞吗?

  1. 最后,从调色板拖入一个调试节点。使用msg.下拉菜单配置该节点输出"完整信息对象"image.png

现在,该 Node-RED 流程将接收来自郁金香的消息,并将其显示在 Node-RED 调试日志中。

已完成的流程可能如下所示:image.png

单击右上角的 "部署"提交所有更改。

在 Tulip 中:配置和测试连接器功能

完成 Node-RED Flow 配置后,返回到 Tulip 中的连接器。
1.创建一个新的连接器功能。
2.将 Connector Function 从 GET 改为 POST。
3.3. 在 URL 中输入在 Node-RED 中配置的路径(本例中为/test)。
4.(可选)向连接器添加内容(如消息或命令),向连接器添加输入。
5.(可选)将输入添加到请求正文,首先将内容类型更改为JSON,然后添加一个项目到根目录

下面的截图显示了一个配置到上面指定的/test端点并包含名为testValue 的输入的连接器:image.png

点击 "运行 "测试连接器功能。将出现两个成功指标:
1.连接器功能将收到200 OK响应,其中包含(如适用): 1:
1.1. 连接器配置的任何输入 2.在 Node-RED 的HTTP 响应节点中配置的任何其他输出 2.Node-RED 的调试日志将显示连接器信息。*注意:根据 Node-RED 的当前版本,连接器请求正文可在以下位置找到:*a.msg.payload 或 b.msg.req.body

两种成功状态如下:

连接器成功:image.png

Node-RED 成功:image.png


本文对您有帮助吗?