使用 Edge MC 的连接器主机和 Node-RED 与机器进行通信

Prev Next

了解如何使用 Edge MC 的连接器主机与 Node-RED 设备进行通信

在接下来的文章中,我们将……

  • 配置您的 Edge MC 的连接器主机
  • 构建连接器函数以与您的设备通信
  • 构建应用程序以与您的设备通信

先决条件

  • 请确保已在您的 Edge MC 上启用了 Node-RED。有关具体操作步骤,请参阅这篇文章。

概述

通过利用 Edge MC 的连接器主机,您可以使用应用程序触发连接器函数,从而与运行在 Tulip 设备上的 Node-RED 进行通信。这最终将使您能够通过 Tulip 应用程序向机器写入数据。

配置您的 Edge MC 连接器

注意:如果您不熟悉 Tulip 中的连接器和连接器函数,请参阅这篇文章。

开始设置前,请先导航至**“连接器”页面,然后点击“创建连接器”**。此时将弹出一个模态窗口,提示您填写以下信息:

  • 名称:为您的连接器选择一个名称
  • 描述:为您的连接器输入描述
  • 连接器类型:选择HTTP

接下来,您需要指定连接器的详细信息。点击**“生产、测试和开发**”按钮以打开**“编辑连接器详细信息**”弹出窗口,并输入以下信息:

  • 运行于:选择您的EMC 连接器主机注意:若未看到此选项,请转至您的 Edge MC 门户,并确保已启用**“连接器主机”功能**。
  • 主机:输入localhost
  • 端口:输入1880(这是 Node-RED 的运行端口)
  • TLS:输入**“否”**

无需添加标头或证书。现在您可以点击**“测试**”,验证连接是否通过。最后,点击**“保存”**。

创建连接器函数

既然您已成功设置连接器,现在就可以开始构建连接器函数,以便与您的 Tulip 设备进行通信。在此示例中,Node-RED 将充当 HTTP 服务器。

要设置连接器函数,您需要在 Tulip 和 Node-RED 编辑器中分别进行配置。在本示例中,我们将构建一个简单的函数:该函数接收firstName和lastName 作为输入,并返回“HellofirstName lastName!”的响应以及一个时间戳。

在 Tulip 中构建连接器函数

导航至您的 Edge MC 的“连接器”部分,并在右上角选择**“创建函数”**。

选择**“GET”作为请求类型,并输入端点:/helloWorld**。虽然这看起来似乎是任意的,但在后续步骤中,我们将在 Node-RED 编辑器中配置此端点:

{height="" width=""}配置函数的输入,包含**“名字”和“姓氏”:**

{height="" width=""}在“请求正文”中,选择“内容类型”为JSON,并为输入设置以下键。这些键将在稍后的 Node-RED 编辑器中被引用:

{height="" width=""}现在,向连接器函数中添加以下输出:Message和Time。同时将相应的 Body 添加到输出中,以便在 Node-RED 编辑器中引用:

{height="" width=""}接下来,请确认您的**“响应类型**”已设置为JSON。

至此,您已完成 Tulip 端连接器函数的配置。点击**“保存**”以保存该连接器函数。

在 Node-RED 中构建流程

现在,请从 Edge MC 门户打开 Node-RED 编辑器,并设置一个新的流程。

首先,从“网络”部分将一个http 节点拖放到编辑器中。将该节点配置为以下内容:

{height="" width=""}请务必确保**“请求方法**”和**“请求 URL**”与您在 Tulip 中配置的连接器函数一致。

接下来,拖放一个**“change”节点**,并进行以下配置:

{height="" width=""}将 msg.payload 设置为JSON,并保留为空对象:{}

现在插入一个模板节点。在此处,您可以提取传入消息的属性(连接器函数的输入),并利用这些属性构建字符串(例如“Hello World”)。


## {{req.body.firstName}}

## {{req.body.lastName}}!

现在是时候添加另一个**“更改”节点**,用于捕获时间戳,并将其作为响应的一部分发送回去。按以下方式配置该节点:

{height="" width=""}至此,我们的流程已接收来自 Tulip 的输入,现在需要配置响应。为此,请拖放一个HTTP 响应节点。将响应的状态码配置为200,OK:

{height="" width=""}整个流程现已完成,外观应与下图类似:

{height="" width=""}请注意,上述流程中的绿色节点是调试节点,用于在 Node-RED 编辑器中显示您的有效载荷。

最后一步是从 Node-RED 编辑器中部署您的流程。现在,您可以在 Tulip 测试环境中测试您的连接器函数,

通过应用程序运行连接器函数

现在,您已经配置好了连接器,并创建了一个利用 Node-RED 作为 HTTP 服务器与设备有效通信的连接器函数,接下来就可以将此功能集成到您的应用程序中了。

在此示例中,有两个输入框用于接收请求中将发送的firstName和lastName变量:

{height="" width=""}在“Say Hello!”按钮中,输入以下触发器以调用连接器函数:

{height="" width=""}输入内容并点击“Say Hello!”后,您便已成功向 Tulip 设备发送了 HTTP 请求,并收到了 JSON 响应。

要测试您的应用,请在应用编辑器中点击**“测试”**按钮,进入开发模式!