运行 Pyserial 时出错
Posted
技术标签:
【中文标题】运行 Pyserial 时出错【英文标题】:Error running Pyserial 【发布时间】:2012-12-29 18:38:36 【问题描述】:我刚刚安装了 Pyserial 2.6 并且我有 Python 2.7.3 不幸的是它没有正确安装或者我没有正确使用它。我使用该行通过终端安装它
sudo easy_install pyserial
不幸的是,它给了我 2 个警告:
warning: no files found matching 'examples/miniterm.py'
warning: no files found matching 'test/test_io_lib.py'
除此之外,它似乎安装正确。
当我在 Python 中运行它时,我不断收到更远的错误
import serial
serial_input = serial.Serial('/dev/tty/.usbmodem3d241',9600)
while True:
ser.readline()
错误:
Traceback (most recent call last):
File "/Users/ben/Documents/Arduino_to_Python.py", line 5, in <module>
serial_input = serial.Serial('/dev/tty/.usbmodem3d241',9600)
File "build/bdist.macosx-10.7-intel/egg/serial/serialutil.py", line 261, in __init__
self.open()
File "build/bdist.macosx-10.7-intel/egg/serial/serialposix.py", line 278, in open
raise SerialException("could not open port %s: %s" % (self._port, msg))
SerialException: could not open port /dev/tty/.usbmodem3d241: [Errno 20] Not a directory: '/dev/tty/.usbmodem3d241'
无论我尝试什么串行端口,它似乎都无法正常工作。我已经尝试了 Arduino 程序 Tools>Serial Port 中的那些以及http://pyserial.sourceforge.net/shortintro.html#opening-serial-ports的所有提示
任何帮助将不胜感激。谢谢。
【问题讨论】:
您确定该路径确实存在吗?在 shell 中查看/dev/tty
。
dmesg | grep usbmodem
是否提供有关设备路径的任何线索?
我在 pyserial 网站上试过这个,但没有 avial。对路径应该是什么有任何想法? >>> ser = serial.Serial() >>> ser.baudrate = 19200 >>> ser.port = 0 >>> ser.open() Traceback(最近一次调用最后):文件“这个serial_input = serial.Serial('/dev/tty/.usbmodem3d241',9600)
应该没有/dev/tty
和usbmodem3d241
之间的额外/.
。
另外,打开您的控制台并查看ttyusbmodem3d241
是否存在。在控制台中输入cd /dev
,然后输入ls
,看看它是否在列表中。
【讨论】:
【参考方案2】:从左上角的菜单转到 arduino ide-> 工具 -> 端口 -> 看看你的端口在串行端口下说什么我说 COM3(Arduino .....) 在蟒蛇 serial_input = serial.Serial('portName',9600)
我的是 COM3 serial_input = serial.Serial('COM3',9600)
我知道为时已晚,但还是添加了它。
【讨论】:
以上是关于运行 Pyserial 时出错的主要内容,如果未能解决你的问题,请参考以下文章
从 Mac 上运行的 pyserial 打开串行端口时禁用 DTR