伪造RS232串口

时间:2009-10-22 08:21:05

标签: windows mocking serial-port hardware-interface virtual-serial-port

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

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

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

6 个答案:

答案 0 :(得分:61)

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

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

编辑:

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

有几个非官方的 com0com 版本包含已签名的驱动程序。最近的一个版本(3.0.0.0)可以下载,例如来自here

答案 1 :(得分:58)

我知道这是一个旧帖子,但万一其他人遇到这个问题,一个选项是来自Eterlogic的虚拟串口仿真器(VSPE) 它提供了用于创建内核模式虚拟comport设备的API,即连接器,映射器,分离器等      然而 部分宣传的功能实际上 不是功能 at所有

<强> 修改
更好的选择 Eltima 。该产品完全烘焙。良好的开发者技术支持该产品完成了它所声称的所有功能。产品选项包括桌面应用程序以及带有API的软件开发工具包。

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

com0com (当前)
com0com - With Signed Driver (old version)
and, yet another place for com0com with Signed Driver (皮特的博客)
Tactical Software
Termite
COM Port Serial Emulator
Kermit (已过时,但仍可下载)
HWVSP3
HHD Software (free edition)

答案 2 :(得分:28)

我在Windows 7 x64上使用com0com - With Signed Driver来模拟COM3和COM4作为一对。

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

然后我用app im developping(c#)打开COM3并将数据发送到COM3。

通过COM3发送的数据由COM4接收,并由COM数据端口仿真器&#39;显示。谁也可以发回回复(非自动化)。

因此,通过这两个伟大的程序,我设法模拟串行RS-232通信。

希望它有所帮助。

这两个节目都是免费的!!!!!

答案 3 :(得分:3)

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

存在usb-to-serial适配器。 根据适配器的类型,您可能还需要一个nullmodem电缆。

如果你安装了有效的驱动程序,它们在linux下非常容易使用,也可以在windows下工作。

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

通常更好地处理真实的东西。

答案 4 :(得分:2)

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

专业提示: 1)Windows可以在每次设备休眠或重启后为适配器分配新的COM端口。 2)USB转串口芯片的市场领导者是Prolific和FTDI。两家公司都在争夺仿冒品,并可能在未来的官方Windows驱动程序中受阻。然而,Linux驱动程序可以正常使用克隆。

答案 5 :(得分:1)

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