伪造一个RS232串口
我正在开发一个项目,其中有一些硬件传感器通过RS232串行端口连接到部署机器上。
但是…我正在一台没有物理RS232串口的机器上开发,但是我想制作假的串口,我可以连接并输出数据,以伪造来自硬件传感器的input。
有谁知道一种方法来创build一个假的串行端口,并在Windows XP上控制它?
如果您正在为Windows开发,那么com0com项目可能就是您要查找的内容。
它提供了通过nullmodem连接链接的虚拟COM端口对。 然后,您可以使用您喜欢的terminal应用程序或任何您喜欢的数据发送到一个COM端口,并从另一个接收。
编辑:
正如托马斯指出的那样,这个项目缺乏一个签名的驱动程序,这在某些Windows版本(例如Windows 7 x64)上尤其有问题。
有一些非官方的com0com版本,包含一个签名的驱动程序。 最近的一个版本(3.0.0.0)可以从这里下载。
我知道这是一个旧的post,但万一别人发生这个问题,一个好的select是来自Eterlogic的虚拟串行端口仿真器(VSPE)它提供了一个API来创build内核模式虚拟comport设备,即连接器,映射器,分离器等。
但是 , 一些广告的function 根本不是function 。
编辑
一个更好的select , Eltima 。 这个产品是完全烘烤的。 良好的开发者技术支持 产品做它声称做的一切。
这些产品都不是开源的,或免费的。 不过,正如其他职位所指出的那样,还有其他的select。 以下是各种串行实用程序的列表:
com0com (当前)
com0com – 使用签名的驱动程序(旧版本)
和另一个与签名驱动程序 (皮特的博客) com0com的地方
战术软件
白蚁
COM端口串行仿真器
Kermit (已过时,但仍可下载)
HWVSP3
HHD软件(免费版)
我使用com0com – 使用签名驱动程序 ,在Windows 7 x64上模拟COM3和COM4作为一对。
然后我使用COM数据端口模拟器从COM4接收。
然后我打开COM3与应用程序开发(C#)并发送数据到COM3。
通过COM3发送的数据由COM4接收,并由'COM数据端口模拟器'显示,他们也可以发回一个响应(不是自动的)。
所以有了这两个伟大的程序,我设法模拟串行RS-232通信。
希望它有帮助。
这两个程序都是免费的!
另一种select,即使OP没有要求:
有USB到串口适配器。 根据适配器的types,您也可能需要一根nullmodem电缆。
它们在linux下非常容易使用,也可以在windows下工作,如果你已经安装了驱动程序。
这样,您可以直接使用传感器,而不必尝试模拟数据。 这样,你甚至可以从build立一个贫血的系统中拯救。 (由于您的模拟数据input不涵盖所有情况,导致您的系统脆弱。)
与真实的东西一起工作通常会更好。
总是有硬件路线。 购买两个USB到串行转换器,并通过一个NULL调制解调器连接它们。
专业提示:1)每次设备睡眠或重新启动后,Windows都可能为适配器分配新的COM端口。 2)USB串口芯片的市场领先者是Prolific和FTDI。 这两家公司都在争夺仿冒品,并可能在未来的官方Windows驱动程序中被阻止。 Linux的驱动程序,但是克隆工作正常。