Arduino-pyFirmata-Python Windows错误(5,访问被拒绝)

FrAxl93

早上好

我想使用来将我的开发Arduino连接到PC,pyFirmata lib但是发生了一个奇怪的问题。前提:pySerial并且pyFirmata已成功安装在我的计算机上。我有windows 8.0 64 bitArduino和USB端口的驱动程序工作正常(因为我可以将每个草图上载到Arduino)。

我要运行的代码非常简单:

如果按下button(连接到引脚4,由method.get_pin()from设置为输入firmata library),则红色指示灯将闪烁,否则绿色指示灯将闪烁。我通过简单的功能使它们闪烁:

from time import sleep
def Blink(pin):
    board.digital(pin).write(1)
    sleep(1)
    board.digital(pin).write(0)
    sleep(1)

董事会在全球范围内定义为 pyfirmata.Arduino('com3')

所有接触都工作正常,因为我已经使用它们进行了测试,firmata_test.exe并且我确定在启动python之前没有打开任何串行连接。

这是奇怪的事情:

如果我在python shell上写了每个命令,那么整个程序就可以正常工作,led闪烁正确!但是,如果我在模块上编写了所有命令,然后运行它,则会发出此错误:

"Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    board = pyfirmata.Arduino('com3')
  File "C:\Python27\lib\site-packages\pyfirmata\__init__.py", line 16, in __init__
    super(Arduino, self).__init__(*args, **kwargs)
  File "C:\Python27\lib\site-packages\pyfirmata\pyfirmata.py", line 89, in __init__
    self.sp = serial.Serial(port, baudrate, timeout=timeout)
  File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 38, in __init__
    SerialBase.__init__(self, *args, **kwargs)
  File "C:\Python27\lib\site-packages\serial\serialutil.py", line 282, in __init__
    self.open()
  File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 66, in open
    raise SerialException("could not open port %r: %r" % (self.portstr, ctypes.WinError()))
SerialException: could not open port 'com3': WindowsError(5, 'Access denied.')"

也就是说,它无法打开端口。我尝试了一些调试,但没有帮助。

如果我通过以下方式检查端口的状态

por = serial.Serial()
    por.port = 'com3'
    por.isOpen()
>>False

但是如果我使用

por = serial.Serial('com3')

它弹出同样的错误。

看着ArduinoTX指示灯定期闪烁,因此我可以想象它正在向串行端口发送一些数据。如果我打开arduino应用程序,它会告诉我该端口正忙。如果这是管理员许可的问题,我无法确定,因为我以py IDLE作为管理员运行。即使我以admin模式从CMD运行脚本,错误仍然存​​在。

非常感谢您的每一个回答。

FrAxl93

伙计们,我解决了这个问题!我重新启动了计算机,然后(首先),我以管理员模式启动了CMD并运行了该模块。不知道为什么,看来直到现在我还是第一次没有管理员权限就运行。此后,即使我以管理员模式打开CMD,错误仍然继续出现。

希望这对某人有帮助。

谢谢你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法从Processing.py访问pyFirmata

来自分类Dev

Python py pyfirmata代码显示不正确的值

来自分类Dev

Arduino和Python通讯错误

来自分类Dev

Python从arduino读取数据错误

来自分类Dev

Arduino Python串行通信错误

来自分类Dev

使用python 3在树莓派2上运行pyfirmata时遇到问题

来自分类Dev

串行python到arduino

来自分类Dev

Arduino Uno + WifiShield:Telnet错误“连接被拒绝”

来自分类Dev

python Selenium PermissionError:[WinError 5]访问被拒绝

来自分类Dev

Arduino:上载超时错误

来自分类Dev

Arduino错误编译

来自分类Dev

Arduino错误。找不到

来自分类Dev

使用python从arduino读取数据

来自分类Dev

使用python arduino移动伺服

来自分类Dev

python至arduino串行读写

来自分类Dev

Python线程和Arduino通信

来自分类Dev

Arduino Python 3 读取串口

来自分类Dev

OSError:[Errno 13]权限被拒绝:'/ dev / ttyACM0'-使用从Python到Arduino的pyserial

来自分类Dev

从Arduino C到Raspberry pi python-线程内的易失变量访问

来自分类Dev

Arduino POST错误请求行''

来自分类Dev

多定义错误-Arduino库

来自分类Dev

多定义错误-Arduino库

来自分类Dev

Arduino 上的位移错误

来自分类Dev

带有C的Arduino:standard / pins_arduino.h错误

来自分类Dev

Python mysql连接器访问被拒绝错误

来自分类Dev

Python MySQLdb-错误1045:拒绝用户访问

来自分类Dev

Python MySQLdb-错误1045:拒绝用户访问

来自分类Dev

在python中读取arduino串行连接

来自分类Dev

如何使用python获取arduino端口