2010-11-05 66 views
2

我正在研究一個從gps usb加密狗讀取的python應用程序。迄今爲止,一切都在基於ubuntu/debian的系統中運行,在這些系統中,我使用pySerial掃描所有/ dev/ttyUSB0-9,以38400波特率對NMEA語句進行掃描,這種方式與gps進行通信非常直接。現在我被要求讓這個應用程序能夠跨平臺工作,而且我很困惑哪一個是尋找gps加密狗的最佳方式。在跨平臺python中查找usb gps

我已經考慮沿着線的東西:

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

但我寧願有一個作品跨平臺的單一解決方案。有誰知道這樣的解決方案?

回答

2

您可以使用pySerial文檔中提供的scanwin32.py模塊中的comports函數來確定哪些COM端口可用,然後使用返回的有關打開端口的信息找到哪一個是您的GPS加密狗。

編輯:該文檔還提供了一個scan.py模塊只包含一個非常簡單的函數,每個探測256個端口找到哪些是開放的,也許這將是夠你所需要的。

+0

好主意!這不是真正的平臺獨立我希望但也許這不會被發現... – Norling 2010-11-05 13:31:29

+0

嘗試了他們的所有三個演示腳本尋找串行端口,但沒有得到任何人在OS X中工作...將需要再檢查一下!將發佈,如果我找到東西。 – Norling 2010-11-05 13:45:48

0

我想,從長遠來看,無論如何你可能會有更多的跨平臺的使用,所以去爲什麼不留下來呢?