在跨平台python中查找usb gps

时间:2010-11-05 13:06:44

标签: python gps usb cross-platform pyserial

我正在研究一个从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":
    ...

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

我猜想从长远来看,无论如何你可能会更多地使用跨平台,那么为什么不留下来呢?