如何使用在 Node-RED 中使用串行接口
  • 04 Nov 2023
  • 1 分钟阅读
  • 贡献者

如何使用在 Node-RED 中使用串行接口


文章摘要

如何使用在 Node-RED 中使用串行接口

关于连接串行设备、在 node-RED 中配置串行端口以及 node-RED 库流程介绍的指南

本文将介绍如何使用 Node-RED 从 Tulip Edge 设备读写串行数据。它将介绍如何连接到每种 Edge 设备上的不同串行端口,以及两个使用串行通信的 Tulip Node-RED 库流程。

您需要

  • 在您的 Tulip 账户中注册的 Edge IO 或 Edge MC。

  • 能与 Edge 设备进行串行通信的设备

    • Edge IO支持以下串行设备

      • RS-232

      • RS-485 (半双工)

      • 通过 USB 进行串行通信

        • Edge MC支持使用以下功能的串行设备
      • USB 串口

      • 带 TX/RX 的 TTY UART

1.硬件设置:连接串行设备

首先,确保将串行外设与 Edge 设备物理连接。

可选项: 如果您想先通过与主机设备(即您的笔记本电脑、另一台 Tulip Edge 设备等)通信来测试 Node-RED 流程,可以使用带无效调制解调器的 RS-232 或带交叉 TX/RX 线的 USB-UART 电缆(不要连接电源)。

您可以在主机设备上使用以下程序与 Edge 设备通信:

  • **screen (MacOS):**用于串行通信的命令行实用程序。
  • PuTTY (Windows/Linux):一个免费的终端仿真器,可用作串行控制台。
  • Node-RED:在主机设备上运行的 Node-RED 实例中创建补充 Node-RED 流程。

2.2. Node-RED 设置:配置串行端口

我们将在 Node-RED 中使用node-red-contrib-serialport软件包中的节点进行串行通信。如果使用的是 Tulip Edge 设备 OS44+,该软件包已预装。否则,你可以使用 Node-RED 编辑器将节点添加到调色板中,如此处所述。

串行节点将出现在网络选项卡下:

Node RED Serial Setup Port Config

要读取串行输入,拖放串行输入节点。要写入串行输出,拖放串行输出节点。在任一节点上,要配置串行端口,请单击 "串行端口 "属性的编辑按钮:

Node RED Serial Set Up Edit Port Modal

然后填写以下属性:

  • 串行端口:串行端口的 devpath(例如:/dev/ttyS0)。这取决于您要连接的 Edge 设备和物理串行端口(请参阅有关 EdgeIOEdge MC 的文章)。单击搜索按钮可查看可用路径,如下所示。

Node RED Serial Setup Add New Port

注意:Node-RED 目前不支持热插拔 USB 设备。这意味着 USB 设备必须在设备启动时插入,Node-RED 才能访问它。

  • 设置:波特率和其他设置应与通信的串行设备的波特率一致。

Node RED Serial Setup Settings

  • 输入:选择节点何时输出信息。选项包括等待分割字符(如换行符、逗号或空格),如果输出是固定长度的,则每隔n 个字符等待一次,也可以设置超时,每隔n秒输出一次。

Node RED Serial Setup Input

  • 输出:为输出信息添加字符(例如,添加换行符)。

Node RED Serial Setup Output

部署后,如果节点状态为 "connected"(已连接),则表明已连接到有效的串行端口:

Node RED Serial Setup Connected Status

3.Node-RED 库流程:与 Tulip 通信

Tulip 提供了多个库流程,用于使用 Node-RED 在 Tulip Edge 设备上读取串行输入和写入串行输出。有关如何导入Tulip库流程的信息,请参阅导入 TulipNode-RED 流程

要从 Tulip 应用程序向 Tulip Edge 设备写入串行输出,可以使用serial_http_endpoint流程,并在 Edge 设备连接器主机上运行的 Tulip 实例上设置 HTTP 连接器。您需要为该连接器添加一个连接器函数,向/serialHTTP 端点发送 POST 请求,并从应用程序中调用该连接器函数。有关使用连接器主机向 Node-RED 写入值的更多信息,请参阅《使用 Edge MC 的连接器主机和 Node-RED 与机器通信》(Communicate with Machines using Edge MC's Connector Host & Node-RED)。

Node RED Serial Setup Flow1

要读取 Tulip Edge 设备上的串行输入并发送到 Tulip,可以使用表 API(将数据写入表)或机器 API(将数据写入机器属性)。库流serial_to_tulip_table是一个如何将新行分隔的串行输入写入郁金香表的示例。您需要配置串行节点和两个郁金香表节点,并根据使用情况进行正确设置。有关如何使用郁金香表 API 节点的更多信息,请参阅《将Node-RED 与郁金香 API 结合使用》(Using Node-RED with the Tulip API)。

Node RED Serial Setup Flow2


本文对您有帮助吗?