伪造RS232串口

问题描述 投票:0回答:7

我正在开发一个项目,其中有许多硬件传感器通过RS232串口连接到部署机器。

但是...我正在一台没有物理 RS232 串口的机器上进行开发,但我想制作一个可以连接并输出数据的假串口,目的是伪造来自硬件传感器的输入。

有谁知道在 Windows XP 上创建假串口并控制它的方法吗?

windows mocking serial-port hardware-interface virtual-serial-port
7个回答
91
投票

如果您正在为 Windows 进行开发,那么 com0com 项目可能就是您正在寻找的。

它提供通过 nullmodem 连接链接的成对虚拟 COM 端口。然后,您可以使用您最喜欢的终端应用程序或任何您喜欢的应用程序将数据发送到一个 COM 端口并从另一个端口接收数据。

编辑:

正如 Thomas 指出的,该项目缺乏签名驱动程序,这在某些 Windows 版本(例如 Windows 7 x64)上尤其成问题。

有几个非官方的 com0com 版本确实包含签名的驱动程序。可以下载一个最新版本 (3.0.0.0),例如从这里


73
投票

一个非常好的选择是来自 Eterlogic 的虚拟串行端口仿真器 (VSPE) 它提供了一个用于创建内核模式虚拟端口设备的 API,即连接器、映射器、分离器等。这是一家小公司,但仍在不断扩展和维护其产品列表。 (2023 年初注意到)

另一个不错的选择是Eltima。该产品在其虚拟产品的各个方面都如广告中所宣传的那样,并且包括良好的技术支持。产品选项包括桌面应用程序以及带有 API 的软件开发套件。该公司仍然活跃并不断发展,产品类别不断扩大。 (2023 年初注意到)

这两个产品都不是开源的,也不是免费的。然而,正如其他帖子所指出的,还有其他选择。以下是各种串行实用程序的列表:

com0com(当前)
com0com - 带签名驱动程序(旧版本)
com0com 与签名驱动程序的另一个地方 (Pete 的博客)
战术软件
白蚁
AGG 软件串口仿真器
Kermit(已过时,但仍可下载)
HW 集团 - HWVSP3
HHD 软件(免费版)

如果您发现陈旧的链接,请评论我。 (链接于 2023 年初验证。)


43
投票

我在 Windows 7 x64 上使用 com0com - 带签名驱动程序来模拟 COM3 和 COM4。

然后我使用COM Dataport Emulator从COM4接收。

然后我用正在开发的应用程序(c#)打开COM3并将数据发送到COM3。

通过 COM3 发送的数据由 COM4 接收并由“COM 数据端口模拟器”显示,该模拟器还可以发回响应(非自动)。

因此,通过这两个出色的程序,我成功地模拟了串行 RS-232 通信。

希望有帮助。

这两个程序都是免费的!!!!


6
投票

硬件路线总是存在的。购买两个 USB 转串口转换器,并通过 NULL 调制解调器连接它们。

专业提示: 1) 每次设备睡眠或重新启动后,Windows 可能会向适配器分配新的 COM 端口。 2) USB转串口芯片的市场领导者是Prolific和FTDI。两家公司都在与假冒产品作斗争,并且可能会在未来的官方 Windows 驱动程序中被屏蔽。然而,Linux 驱动程序与克隆版本配合得很好。


4
投票

另一种选择,即使OP没有要求:

存在 USB 转串口适配器。 根据适配器的类型,您可能还需要一根 nullmodem 电缆。

它们在 Linux 下非常容易使用,如果您安装了可用的驱动程序,它们也可以在 Windows 下工作。

这样您就可以直接使用传感器,而不必尝试模拟数据。 这样你甚至可以避免构建一个贫血的系统。 (由于您的模拟数据输入未涵盖所有情况,导致系统脆弱。)

使用真实的东西通常会更好。


1
投票

我使用 eltima 为我的 modbus 应用程序调试工作制作虚拟串行端口。在开发阶段无需连接硬件即可检查串口程序,确实是一个非常好的应用。


1
投票

我发现免费虚拟串行端口非常适合我的非商业用例。对于其他用例来说,它不是免费的。话虽如此 - 即使在基于 arm64 的 Windows 11 上,它也运行得非常好。

© www.soinside.com 2019 - 2024. All rights reserved.