2015-04-23 95 views
1

我剛剛嘗試連接到USB移動通過它使用AT命令發送短信。但是,當我使用pyserial連接到它在Windows操作系統,我得到錯誤無法打開端口,指定的文件無法找到。Python Pyserial Windows沒有找到端口

>>> import serial 
>>> ser = serial.Serial(0) # open first serial port 
>>> print ser.name   # check which port was really used 
>>> ser.write("hello")  # write a string 
>>> ser.close() 

即使我與任何其他值代替0,如0至10或「COM0」,「COM1」等等,我仍然得到指定的未找到錯誤文件,端口無法打開。

有pyserial文檔,其中列出端口或允許你打開一個端口

蟒蛇-m serial.tools.miniterm

這個命令應該列出所有串行端口中列出的命令。但它沒有顯示。

我在我的系統上有3個USB端口。是什麼導致了這個問題。

+0

您是否嘗試過COM0等大寫字母?我不知道它是否重要..也可能是USB0 ..?我不太確定。也許這是你的目標http://pyserial.sourceforge.net/pyserial_api.html?highlight=usb#urls? – zfb

回答

0

Pyserial是不是保證檢測所有端口。這取決於設備和操作系統的通信方式,以及pyserial是如何設計的。例如,pyserial無法檢測到我在Win8會話中插入的LabJack U3-LV或EPSOM-POS收據打印機(兩者都可以使用Linux會話進行檢測)。

嘗試serial.tools.list_ports.comports()看看它給你什麼。

你也可以看看pyusb模塊的USB連接。因爲映射可能不是「常識」邏輯(即,0可能不映射到COM0),所以我建議在使用端口號時要小心,因爲映射可能不是「常識」邏輯(即0可能不映射到COM0)。改用明確的字符串名稱。

+0

這個問題是另一回事......我自己發佈了答案。謝謝你的幫助 – MYNE

0

我自己找到了解決方案。它非常簡單,並在問題中使用相同的代碼..我被阻塞的錯誤,因爲我的設備管理器中沒有調制解調器(諾基亞手機)。儘管我已將我的手機插入USB,但未安裝諾基亞PC套件。一旦你安裝諾基亞PC套件並連接你的諾基亞手機,在設備管理器 - >調制解調器中,你的手機將會出現。只要檢查其屬性 - >調制解調器,你會發現com5或其中的任何一個數字。然後使用該ID進行連接。如果你不知道這一點,只需迭代,直到找到合適的。

感謝大家誰試圖幫助