我正在研究一个从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":
...
但我宁愿有一个跨平台的解决方案。有谁知道这样的解决方案?
答案 0 :(得分:2)
您可以使用pySerial文档中提供的scanwin32.py模块中的comports
函数来确定哪些COM端口可用,然后使用返回的有关开放端口的信息找到哪一个是你的GPS加密狗。
编辑:该文档还提供了一个scan.py模块,其中只包含一个非常简单的函数,可以探测每个256个端口以查找哪些端口是打开的,也许它就足够了需要。
答案 1 :(得分:0)
我猜想从长远来看,无论如何你可能会更多地使用跨平台,那么为什么不留下来呢?