2

我正在开发一个从 gps usb 加密狗读取的 python 应用程序。到目前为止,一切都在基于 ubuntu/debian 的系统中运行,在该系统中,我以一种相当直率的方式与 gps 通信,使用 pySerial 扫描所有 /dev/ttyUSB0-9 以查找以 38400 波特率说出 NMEA 语句的内容。现在我被要求让这个应用程序跨平台工作,我有点困惑,哪个是找到 gps 加密狗的最佳方式。

我已经考虑了以下内容:

if os.name == "posix":
    self.conn = serial.Serial("/dev/ttyUSB%i" % usb)
elif os.name == "nt":
    ...

但我宁愿有一个跨平台工作的单一解决方案。有谁知道这样的解决方案?

4

2 回答 2

2

您可以使用pySerial 文档中提供comportsscanwin32.py模块中的函数来确定哪些 COM 端口可用,然后使用返回的有关打开端口的信息,找到您的 GPS 加密狗。

编辑:文档还提供了一个scan.py模块,该模块仅包含一个非常简单的函数,该函数探测每个 256 个端口以查找哪些端口是打开的,也许它足以满足您的需要。

于 2010-11-05T13:22:55.753 回答
0

我想从长远来看,你可能会更多地使用跨平台,所以为什么不继续使用它呢?

于 2010-11-05T19:24:44.393 回答