如何在I/O网关上使用通用的串行驱动程序
  • 02 Nov 2022
  • 1 分钟阅读
  • 贡献者

如何在I/O网关上使用通用的串行驱动程序


Article Summary

如何在I/O Gateway上使用通用串行驱动程序

了解如何让I/O Gateway与任何串行设备进行通信。

**2021年11月1日,Tulip将不再销售I/O Gateway设备。Edge IO和Edge MC设备仍然可用。了解更多

Edge IO 串行指南

Edge MC 串行 设置指南

本文将解释如何使用I/O网关上的通用串行驱动程序与大多数串行设备进行通信。本文可推广到其他Tulip Edge设备,如Edge MCEdge IO

本文假设你已经完成了I/O网关的设置

请注意,该驱动与目前仅适用于Windows Tulip播放器的串行驱动(仅播放器)不同。

什么是通用串行驱动程序?

通用串行驱动程序允许I/O网关使用通用串行协议与其他设备进行通信。这些设备可以是这样的。

  • Arduino
  • 树莓派
  • 其他Tulip Edge设备
  • 微型控制器
  • 许多其他设备

由于这个驱动器的多功能性,它有一个复杂的配置。这个配置需要与你其他设备的配置完全匹配。

这个驱动程序可以支持同时与多个设备进行通信。

注意:Tulip不会为你连接到通用串行驱动程序的设备编写自定义代码。

开启通用串行驱动程序

通过登录I/O网关创建的本地网络,将您的计算机连接到I/O网关。

打开设备门户。在仪表盘页面,点击页面左侧的 "配置驱动程序 "按钮。

在驱动程序配置页面,点击 "通用串行 "选项。

默认情况下,"通用串行 "选项应该已经是绿色的(启用),并配置了一些常用设置。

Windows倾向于使用回车键(\r)。

通用串行驱动程序需要一些配置,以便继续打开该驱动程序。

下面是每个字段的选项。

写入后缀

  • 预期的输入。任何字符串 - 这将被附加到I/O网关将发送给设备的任何消息上,通常是换行(\n)或回车(\n\r)。
  • 需要。不需要

路径匹配器

  • 预期的输入。到你的设备的系统路径 - 这可以是*,与任何未使用的串行设备相匹配(这对使用usb-to-serial适配器很有用)
  • 需要: 是

名称

  • 预期的输入。该设备的名称(这将用于从你的应用程序中引用该设备)。
  • 必需的: 是

分隔符

  • 预期的输入。任何字符串(这将用于把来自你的设备的信息分成几块,然后发送到你的Tulip账户上)
  • 要求:是

波特

  • 预期的输入。设备将使用的通信波特率
  • 需要:是

本地DB9端口

如果你打算使用I/O网关上的本地DB9端口,你将需要在你的路径匹配器中使用/dev/ttyO4路径**。** 这是一个大写的O,而不是一个0。

构建一个与你的串行驱动程序一起工作的应用程序

下面是如何建立一个应用程序来测试你的驱动程序。

首先,创建一个新的应用程序并添加一个按钮。

在该按钮上添加一个触发器,用你用来配置驱动程序的名称呼出通用串行设备。

这里是你在 "然后 "语句中需要的字段。

  • "运行设备功能"
  • "通用的串行设备"
  • "发送字符串到串行设备"
  • 在 "此站"
  • 要发送的设备。"text" "RS232"
  • 要发送的信息。"文本" "测试通用串行"

在该应用程序中添加一个触发器,当通用串行驱动器发出数据时,将数据记录到一个变量中。使用一个 "If "语句,只有在正确的设备输出数据时才存储数据。

  • "设备""通用串行设备 "在 "此站 "输出数据

如果

  • "设备输出"
  • "名称"
  • "="
  • "文本" "RS232"

那么

  • "数据操作"
  • "存储"
  • "设备输出" "数据"
  • 位置。"通用序列"(这是一个变量的名称)

将该变量添加到你的应用程序中。它将是一个具有 "名称 "和 "数据 "属性的对象。

测试该应用程序

使用一个空调制解调器和一个USB到RS232的转换器来测试该应用程序。

将USB连接到你的电脑。然后将空调制解调器适配器连接到RS232适配器和I/O网关的DB9端口。

从开始。

如果你是在Windows上,使用Putty来测试连接。通过使用设备管理器获得端口号。

在 "速度 "框中输入COM端口号,并选择 "连接类型 "为 "串行"

Putty终端只有在你点击运行的应用程序中的按钮时,才会向I/O网关打印消息。

通过Putty输入消息 "Tulip "并按下回车键,将其发送至。

如何使用Node.js在Linux或Mac上测试通用串行驱动程序

这需要node.js和npm。然后,通过npm安装serialport包。

const SerialPort = require('serialport') 


const Readline = require('@serialport/parser-readline') 


const port = new SerialPort('/dev/ttyUSB0', { baudRate: 19200 }) 


const parser = new Readline() 


port.pipe(parser) 


parser.on('data', line => { 


console.log(> ${line}) 


}); 


let test = false; 


摄取量(()=>{ 


如果(test){ 


port.write('output/n')。 


test = false 


} 


else { 


port.write('other output\n'); 


test = true 


} 


},1000)

本文对您有帮助吗?