我正在开发一个项目,其中有许多硬件传感器通过RS232串口连接到部署机器。
但是...我正在一台没有物理 RS232 串口的机器上进行开发,但我想制作一个可以连接并输出数据的假串口,目的是伪造来自硬件传感器的输入。
有谁知道在 Windows XP 上创建假串口并控制它的方法吗?
一个非常好的选择是来自 Eterlogic 的虚拟串行端口仿真器 (VSPE) 它提供了一个用于创建内核模式虚拟端口设备的 API,即连接器、映射器、分离器等。这是一家小公司,但仍在不断扩展和维护其产品列表。 (2023 年初注意到)
另一个不错的选择是Eltima。该产品在其虚拟产品的各个方面都如广告中所宣传的那样,并且包括良好的技术支持。产品选项包括桌面应用程序以及带有 API 的软件开发套件。该公司仍然活跃并不断发展,产品类别不断扩大。 (2023 年初注意到)
这两个产品都不是开源的,也不是免费的。然而,正如其他帖子所指出的,还有其他选择。以下是各种串行实用程序的列表:
com0com(当前)
com0com - 带签名驱动程序(旧版本)
com0com 与签名驱动程序的另一个地方 (Pete 的博客)
战术软件
白蚁
AGG 软件串口仿真器
Kermit(已过时,但仍可下载)
HW 集团 - HWVSP3
HHD 软件(免费版)
如果您发现陈旧的链接,请评论我。 (链接于 2023 年初验证。)
我在 Windows 7 x64 上使用 com0com - 带签名驱动程序来模拟 COM3 和 COM4。
然后我使用COM Dataport Emulator从COM4接收。
然后我用正在开发的应用程序(c#)打开COM3并将数据发送到COM3。
通过 COM3 发送的数据由 COM4 接收并由“COM 数据端口模拟器”显示,该模拟器还可以发回响应(非自动)。
因此,通过这两个出色的程序,我成功地模拟了串行 RS-232 通信。
希望有帮助。
这两个程序都是免费的!!!!
硬件路线总是存在的。购买两个 USB 转串口转换器,并通过 NULL 调制解调器连接它们。
专业提示: 1) 每次设备睡眠或重新启动后,Windows 可能会向适配器分配新的 COM 端口。 2) USB转串口芯片的市场领导者是Prolific和FTDI。两家公司都在与假冒产品作斗争,并且可能会在未来的官方 Windows 驱动程序中被屏蔽。然而,Linux 驱动程序与克隆版本配合得很好。
另一种选择,即使OP没有要求:
存在 USB 转串口适配器。 根据适配器的类型,您可能还需要一根 nullmodem 电缆。
它们在 Linux 下非常容易使用,如果您安装了可用的驱动程序,它们也可以在 Windows 下工作。
这样您就可以直接使用传感器,而不必尝试模拟数据。 这样你甚至可以避免构建一个贫血的系统。 (由于您的模拟数据输入未涵盖所有情况,导致系统脆弱。)
使用真实的东西通常会更好。
我使用 eltima 为我的 modbus 应用程序调试工作制作虚拟串行端口。在开发阶段无需连接硬件即可检查串口程序,确实是一个非常好的应用。
我发现免费虚拟串行端口非常适合我的非商业用例。对于其他用例来说,它不是免费的。话虽如此 - 即使在基于 arm64 的 Windows 11 上,它也运行得非常好。