【问题标题】:Share serial port on Windows using python使用 python 在 Windows 上共享串口
【发布时间】:2012-01-30 14:56:48
【问题描述】:

我有一个通过串行端口(USB->虚拟 COM 端口)连接的 GPS 模块。测量软件正在使用此端口,因此使用其他软件我无法访问数据。我想创建两个虚拟 COM 端口并通过它共享这些数据。可以使用 Python 吗?是否有任何用 Python 编写的开源示例?

【问题讨论】:

标签: python serial-port


【解决方案1】:

如果您无法修改测量软件的来源,我认为您无法做到这一点。

串行端口协议被编写为“点对点”协议,因此没有通用的方法来复用它们。您可以编写一个程序来共享 GPS 模块的访问权限(以独占方式处理它并将一个 API 公开给多个程序),但是每个想要使用 GPS 模块的程序都应该编写为与您的API 而不是直接连接到串行端口 - 在这种情况下,只有您可以更改测量软件才能完成。

请注意,实现您的“虚拟端口”解决方案可能并非不可能,但这将是一种临时破解(它只适用于该特定协议)并且可能相当复杂:您需要模拟两个GPS模块并将请求复用到真正的GPS模块;取决于它是如何工作的(例如,如果它具有“复杂”的持久状态),它可能很简单或非常复杂。但是 Python 肯定是不够的,要模拟串行端口,你必须进入内核模式。

【讨论】:

    【解决方案2】:

    您需要双向沟通,还是只是阅读?您可以构建或购买硬件来物理拆分 Rx 数据线,这样您就可以使用两个 COM 端口,每个端口都可以读取相同的数据。您也可以对 Tx 数据执行此操作,但如果两个端口同时尝试写入,则必须小心丢弃数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      • 1970-01-01
      • 2014-07-25
      • 2016-03-13
      • 2012-08-22
      • 2021-01-24
      相关资源
      最近更新 更多