2015-04-23 96 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进行连接。如果你不知道这一点,只需迭代,直到找到合适的。

感谢大家谁试图帮助