将代码上传到arduino会给我错误:“ avrdude:ser_open():无法打开设备” / dev / ttyACM0“:权限被拒绝”


13

我的操作系统是Ubuntu 18.04,而arduino一直可以使用。

尽管有一些解决方案,但似乎没有一个对我有用。

我在arduino网站上遵循了这些说明

然后,我在arduino Stack Exchange上尝试了此方法,该方法在第一个解决方案无效的情况下也可以使用。答案说我们应该在/etc/udev/ruled.d/路径上创建一些规则。

但是他们都没有为我工作。

我还在Windows 10中测试了arduino,以查看这是否是硬件问题,但工作正常。

是否有人对如何解决此问题有其他想法?

更新:

  • 我的用户名sergio是这两个组(tty和Dialout)的一部分;
  • 我注销并按照arduino官方教程的说明重新登录;
  • 在Arduino IDE中,配置正确:Arduino UNO和ttyACM0
  • 这是ll /dev/ttyACM0运行教程命令后的输出:

    crw-rw-rw- 1 root dialout 166, 0 Jul 15 05:41 /dev/ttyACM0
    

更新2:

我创建了一个脚本来解决此问题:https : //github.com/sergiomafra/iniarduino


5
如何安装最新的Arduino IDE的可能重复项运行后,您是否忘记注销并再次登录usermod
N0rbert

不。首先,我尝试注销并登录。然后,我尝试重新启动笔记本。似乎没有任何工作...
塞尔吉奥马夫拉

crw-rw-rw- 1根拨出166,0 Jul 15 05:41 / dev / ttyACM0登录名:sergio名称:SérgioMafra目录:/ home / sergio Shell:/ bin / bash自Sun Jul 15 08:26开始03)从:0到0:0(无讯息)无邮件。没有计划。
塞尔吉奥马夫拉

拨出:x:20:sergio。当我试图运行第二个命令,BASH还给我没有这样的文件或目录
塞尔吉奥马夫拉

2
@ N0rbert我不认为应该关闭此问题作为如何安装最新的Arduino IDE的副本因为该问题的公认答案更特定于所提出的问题。
karel

Answers:


9

重新安装从Ubuntu软件中心安装的arduino:

sudo apt install --reinstall arduino

必须重新安装,因为which avrdude根据您的注释的命令不会返回任何内容,但应为/usr/bin/avrdude。再检查一遍:

which avrdude

重新安装后运行Arduino IDE并关闭它。

检查您的arduino配置。打开/home/sergio/.arduino/preferences.txt文件并检查那里的serial.port选项。尝试将其更改为/dev/ttyACM0。打开该文件:

sudo nano /home/sergio/.arduino/preferences.txt

并应用相应的更改,即该选项应看起来

serial.port=/dev/ttyACM0

之后重新启动计算机。


1
感谢您的所有帮助。我从Ubuntu Software Center卸载了它,并从arduino网站安装了该版本,它可以正常工作。
塞尔吉奥马夫拉

23

当我尝试将草图上传到Arduino时,我遇到了类似的问题。问题与缺少对串行端口的读/写权限有关。我可以使用以下命令进行修复:

要确认端口存在,请从根目录输入以下内容。

ls /dev/ttyACM0

要设置读/写权限,请输入以下内容

sudo chmod a+rw /dev/ttyACM0

解决了我的问题。谢谢!
FunkSoulBrother

解决了我的问题..
anuraag tummanapally

3

这对我有用:

  • 从Apt卸载该版本,它无法正常运行(sudo apt uninstall arduino; sudo apt autoremove
  • 从Arduino网站安装版本
  • sudo apt install avrdude 因为网站上的一个不包含
  • sudo usermod -a -G dialout [your_username] 因为网站上的人不会自动执行此操作

现在一切又恢复正常了!


0

结合我阅读的所有文章,这是我按照该线程的指示来解决此问题的方法。

在一个新的终端中,我键入了以下内容,如下所示。

https://i.stack.imgur.com/ifRmx.png

请注意,fourplus是我的用户名。


2
欢迎问ubuntu。将来,您应该尽可能张贴文字而不是图片。
杰夫


0

我看到这个问题已经被接受,但是没有一个解决方案对我有用,所以我有一个不同的解决方案。我通过Ubuntu软件安装程序安装了arduino IDE。您需要做的是。

  1. 转到Ubuntu软件商店中的arduino IDE
  2. 点击权限
  3. 将on直接设置为访问USB硬件

0

哈,我是新手,但我犯了一些错误))请不要像我那样做。

  1. 首先,在我的书中,关于led连接方案的描述很糟糕。我找到了新的并重新连接了电线。现在它们已正确连接。
  2. 然后,我将arudino连接到计算机(这很重要)。
  3. 然后我执行了以下命令:

    • ls -l / dev / ttyACM0
    • sudo usermod -a -G拨出[my_username]
    • 须藤chmod a + rw / dev / ttyACM0

当我在arduino programm菜单(工具-> Board)中寻找一块板子时,我没有找到一个'Arduino / Genuino Uno',只是有一个'Arduino Uno'(我想没关系)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.