- 打印
如何使用在 Node-RED 中使用串行接口
关于连接串行设备、在 node-RED 中配置串行端口以及 node-RED 库流程介绍的指南
本文将介绍如何使用 Node-RED 从 Tulip Edge 设备读写串行数据。它将介绍如何连接到每种 Edge 设备上的不同串行端口,以及两个使用串行通信的 Tulip Node-RED 库流程。
您需要
在您的 Tulip 账户中注册的 Edge IO 或 Edge MC。
能与 Edge 设备进行串行通信的设备
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 编辑器将节点添加到调色板中,如此处所述。
串行节点将出现在网络
选项卡下:
要读取串行输入,拖放串行
输入节点。要写入串行输出,拖放串行
输出节点。在任一节点上,要配置串行端口,请单击 "串行端口 "属性的编辑按钮:
然后填写以下属性:
- 串行端口:串行端口的 devpath(例如:/dev/ttyS0)。这取决于您要连接的 Edge 设备和物理串行端口(请参阅有关 EdgeIO或Edge MC 的文章)。单击搜索按钮可查看可用路径,如下所示。
注意:Node-RED 目前不支持热插拔 USB 设备。这意味着 USB 设备必须在设备启动时插入,Node-RED 才能访问它。
- 设置:波特率和其他设置应与通信的串行设备的波特率一致。
- 输入:选择节点何时输出信息。选项包括等待分割字符(如换行符、逗号或空格),如果输出是固定长度的,则每隔
n 个字符
等待一次,也可以设置超时,每隔n
秒输出一次。
- 输出:为输出信息添加字符(例如,添加换行符)。
部署后,如果节点状态为 "connected"(已连接),则表明已连接到有效的串行端口:
3.Node-RED 库流程:与 Tulip 通信
Tulip 提供了多个库流程,用于使用 Node-RED 在 Tulip Edge 设备上读取串行输入和写入串行输出。有关如何导入Tulip库流程的信息,请参阅导入 TulipNode-RED 流程。
要从 Tulip 应用程序向 Tulip Edge 设备写入串行输出,可以使用serial_http_endpoint
流程,并在 Edge 设备连接器主机上运行的 Tulip 实例上设置 HTTP 连接器。您需要为该连接器添加一个连接器函数,向/serial
HTTP 端点发送 POST 请求,并从应用程序中调用该连接器函数。有关使用连接器主机向 Node-RED 写入值的更多信息,请参阅《使用 Edge MC 的连接器主机和 Node-RED 与机器通信》(Communicate with Machines using Edge MC's Connector Host & Node-RED)。
要读取 Tulip Edge 设备上的串行输入并发送到 Tulip,可以使用表 API(将数据写入表)或机器 API(将数据写入机器属性)。库流serial_to_tulip_table
是一个如何将新行分隔的串行输入写入郁金香表的示例。您需要配置串行节点和两个郁金香表节点,并根据使用情况进行正确设置。有关如何使用郁金香表 API 节点的更多信息,请参阅《将Node-RED 与郁金香 API 结合使用》(Using Node-RED with the Tulip API)。