使用Virtual Serial Port Driver+com2tcp(tcp2com)进行两台电脑的串口通讯

使用Virtual Serial Port Driver+com2tcp或tcp2com进行两台电脑的串口通讯

问题说明

最近想进行串口通讯的一个测试,一开始在一台电脑上使用Virtual Serial Port Driver创了虚拟串口,然后两个程序连接这个虚拟串口做通讯。

现在我希望在两台电脑之间进行串口通讯。

解决方案

使用两台电脑进行串口通讯测试,关于这种方法有以下说明:

  1. 不能直接拿一个双头usb线直接把两个电脑连接在一起进行串口通讯,这种方法不行;
  2. 方案一:两台电脑分别连接usb转ttl设备,两个usb转ttl设备连接,可以进行串口通讯,这种方法需要额外的硬件设备,拓扑图如下所示
  1. 方案二:单个电脑使用usb转ttl设备进行回环通讯,具体实现方式我没有研究。
  2. 方案三:使用网线将两个电脑连接在一起,然后使用com2tcp(tcp2com)工具将com口映射到网口,实现串口通讯。

本教程介绍方案三的具体方法。

方案三具体操作流程

网上教程

之前参阅网上的一些教程,例如教程1教程2,他们的方法我没有尝试成功,而我是使用一种很奇怪的方法通讯成功了。

软件安装

本例使用了两个软件,Virtual Serial Port Driver和com2tcp,Virtual Serial Port Driver的下载地址我不记得了请大家自行寻找。

下载安装com2tcp之后,其实包括了两个软件,分别是com2tcp和tcp2com,这两个软件在本例中都被使用。

很多教程使用的是com0com而不是Virtual Serial Port Driver来建立虚拟串口,那也是可以的。

此外,还需要任意的串口通讯助手软件来验证是否通讯成功。

拓扑图

官方教程给出的拓扑图如下所示,这种方法我没有尝试成功

本例的拓扑图,这个是我瞎试出来发现可以用,具体原理是什么有待后面补充。

此外, 我A电脑是win11,B电脑是win10,证明了这种方法在两个系统上均可正常运行。

准备工作

  1. 使用一根网线将两个电脑连接。
  2. 将两个电脑的ip地址设置在同一网段,例如,我的A电脑是192.168.1.40,B电脑是192.168.1.41,两个电脑子网掩码都是255.255.255.0。设置ip地址的方法为:控制面板------查看网络状态和任务------以太网------属性------选择"Internet协议版本4(TCP/IP)"然后点击属性------然后进行设置。

com2tcp和tcp2com操作

在A电脑上,打开Virtual Serial Port Driver,创建com1和com2两个虚拟串口,如下所示

然后,在A电脑上,双击打开TCP2COM软件,然后进行如下设置,然后点击Connect。

然后打开电脑B,双击打开COM2TCP软件,进行如下设置后点击Connect(注意这里的Remote IP是A电脑的ip地址)。

进行如上操作后,在看A电脑的Virtual Serial Port Driver,可以看到此时COM2后面有了串口通讯参数的显示。

使用串口助手进行验证

在A电脑上打开串口助手,端口选择COM1,打开串口,在B电脑上打开串口助手,端口选择COM3,打开串口,即可实现两台电脑的串口通讯,如下图所示

A电脑的串口助手

B电脑的串口助手:

到此为止,使用Virtual Serial Port Driver+com2tcp(tcp2com)进行两台电脑的串口通讯成功实现。

方案三存在的问题

数据错误

我使用A电脑给B电脑发送数据时,发送的一帧数据是

复制代码
0x01 0x03 0x06 0x12 0x34 0x56 0x78 0x9A 0xBC 0x69 0x43

然而收到的却是

复制代码
0x01 0x03 0x06 0x12 0x34 0x56 0x78 0x3F 0x3F 0x69 0x43

目前没有找到原因

通讯延时

理论上来说,一帧11字节数据在15200-E-8-1的情况下,一帧数据传输时间约为1ms,然而,使用这种方法实际测试,一帧数据传输时间约为300ms,猜测原因是这种方法由于经过了TCP/IP这个媒介,多了一道程序,在这个环节中产生了较大的延迟。

相关推荐
YJlio17 小时前
[编程达人挑战赛] 用 PowerShell 写了一个“电脑一键初始化脚本”:从混乱到可复制的开发环境
数据库·人工智能·电脑
RoboWizard18 小时前
PCIe 5.0 SSD有无独立缓存对性能影响大吗?Kingston FURY Renegade G5!
人工智能·缓存·电脑·金士顿
j***57683 天前
电脑可以连接wifi,但是连接后仍然显示没有网络
网络·电脑·php
星空的资源小屋5 天前
极速精准!XSearch本地文件搜索神器
javascript·人工智能·django·电脑
云飞云共享云桌面5 天前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑
远程软件小帮手5 天前
UU远程上线mac被控!如何远程控制 macOS 设备办公?
游戏·macos·智能手机·电脑
驱动小百科6 天前
华硕笔记本触摸板驱动下载 完整指南
电脑·华硕笔记本触摸板驱动·asus touchpad·华硕触摸板失灵·华硕驱动下载
uestc_Venn6 天前
Windows 11系统出现User Profile Service 服务登录失败。无法加载用户配置文件。 的解决办法
windows·电脑
Digitally7 天前
如何将照片从安卓手机传输到电脑?
android·智能手机·电脑
std78798 天前
华为擎云将发布新一代鸿蒙电脑及鸿蒙电脑企业版 专为企业而生
华为·电脑·harmonyos