我正在开发一个项目,该项目具有许多通过RS232串行端口连接到部署机器的硬件传感器。
但是...我在没有物理RS232串行端口的机器上进行开发,但是我想制作一些伪造的串行端口,我可以连接这些端口并从中输出数据,以伪造硬件传感器的输入。
有谁知道一种在Windows XP上创建伪串行端口并对其进行控制的方法吗?
我正在开发一个项目,该项目具有许多通过RS232串行端口连接到部署机器的硬件传感器。
但是...我在没有物理RS232串行端口的机器上进行开发,但是我想制作一些伪造的串行端口,我可以连接这些端口并从中输出数据,以伪造硬件传感器的输入。
有谁知道一种在Windows XP上创建伪串行端口并对其进行控制的方法吗?
Answers:
com0com
项目是一个出色的开源项目,但由于它应该安装没有数字签名的设备驱动程序,因此某些检查数字签名驱动程序的Windows系统将无法使用其虚拟串行端口。只想让人们知道。
我知道这是旧的文章,但如果别人发生就这个问题,一个好的选择是虚拟串行端口仿真器(VSPE)从Eterlogic
它提供了一个API,用于创建内核模式虚拟COMPORT装置,即连接器,映射器,功分器等。
然而,一些广告的能力是真的 没有能力 可言。
编辑
一个更好的选择, Eltima。该产品已完全烘烤。良好的开发人员技术支持。该产品完成了它声称的全部工作。产品选项包括桌面应用程序以及带有API的软件开发套件。
这些产品都不是开源的,也不是免费的。但是,正如这里的其他帖子所指出的那样,还有其他选择。以下是各种串行实用程序的列表:
com0com (当前)
com0com-带签名驱动程序(旧版本)
com0com带有签名驱动程序的另一个地方 (皮特博客)
战术软件
白蚁
COM端口串行仿真器
Kermit(已淘汰,但仍可下载)
HWVSP3
HHD软件(免费版)
我在Windows 7 x64上使用com0com-带签名的驱动程序,将COM3和COM4一对模拟。
然后,我使用COM Dataport Emulator从COM4接收。
然后,我使用开发中的应用程序(c#)打开COM3并将数据发送到COM3。
通过COM3发送的数据由COM4接收,并由“ COM数据端口仿真器”显示,后者也可以发送回响应(不是自动的)。
因此,通过这2个出色的程序,我设法模拟了RS-232串行通信。
希望能帮助到你。
这两个程序都是免费的!
即使OP没有要求,也可以使用另一种方法:
存在USB到串行适配器。根据适配器的类型,您可能还需要一根nullmodem电缆。
如果您已安装有效的驱动程序,则它们在linux下非常容易使用,在Windows下也可以工作。
这样,您可以直接使用传感器,而不必尝试模拟数据。这样,您甚至可以免于构建贫血系统。(由于模拟数据输入未涵盖所有情况,因此导致系统脆弱。)
与真实的东西一起工作通常更好。
screen /dev/ttyUSB0 9600
或minicom
在需要用于此类硬件的软件时使用。
总是有硬件路线。购买两个USB到串行转换器,然后通过NULL调制解调器连接它们。
专业提示:1)Windows可能会在每次设备睡眠或重新启动后为适配器分配新的COM端口。2)Prolific和FTDI是USB到串行芯片的市场领导者。两家公司都在与假货作斗争,并且可能会在将来的官方Windows驱动程序中受阻。但是,Linux驱动程序可与克隆正常工作。
我使用eltima make虚拟串行端口进行我的Modbus应用程序调试工作。在不连接硬件的情况下检查串行端口程序在开发阶段确实是非常好的应用程序。