我的操作系统是 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
当我尝试将草图上传到 Arduino 时,我遇到了类似的问题。该问题与缺乏读取/写入串行端口的权限有关。我能够使用以下命令进行修复:
要确认端口存在,请从根目录输入以下内容。
要设置读/写权限,请输入以下内容
重新安装从 Ubuntu 软件中心安装的 arduino:
重新安装是必要的,因为
which avrdude
根据您的评论您的命令不会返回任何内容,但应该是/usr/bin/avrdude
. 再检查一遍:重新安装并关闭它后运行您的 Arduino IDE。
检查您的 arduino 配置。打开
/home/sergio/.arduino/preferences.txt
文件并检查那里serial.port
的选项。尝试将其更改为/dev/ttyACM0
. 打开那个文件:并应用相应的更改,即选项应该看起来
之后重启电脑。
这对我有用:
sudo apt uninstall arduino; sudo apt autoremove
)sudo apt install avrdude
因为网站上的那个不包括它sudo usermod -a -G dialout $USER
因为来自网站的人不会自动执行此操作(该dialout
组拥有设备文件;这会将当前用户添加到该组)现在一切都恢复正常了!
$USER
从 Ubuntu Software 下载 Arduino 后,这可以解决“无法打开串行端口”问题(将您的 Ubuntu 用户名放入而不是)。结合我阅读的所有帖子,这就是我通过遵循该线程的指示来解决该问题的方法。
在一个新的终端中,我输入了以下内容,如下所示。
请注意,fourplus 是我的用户名。
我遇到了同样的问题,我尝试在 18.04 上从 Ubuntu Store 安装并在此处尝试所有解决方案。没有什么对我有用。所以我下载了最新的
我提取并运行以下命令来安装它: $ sudo ./install.sh
安装后,我通过运行以下命令运行最新版本附带的脚本:
$ ./arduino-linux-setup.sh <用户名>
脚本完成后,它会显示一条消息“请重新预订您的系统”。我在这里尝试解决方案时没有重新启动,可能这是下一个用户应该尝试的东西。
重要提示:当您按照这些步骤安装软件时,您需要转到 Ubuntu 软件并授予“直接访问 USB 硬件”的权限。
我看到这个问题已经被接受,但没有一个解决方案适合我,所以我有一个不同的解决方案。我通过 Ubuntu 软件安装程序安装了 arduino IDE。你需要做的是。
哈我是新手,我犯了一些错误))不要像我那样做。
然后我执行了以下命令:
当我在 arduino 程序菜单(工具 -> 板)中寻找板时,我没有找到“Arduino/Genuino Uno”,只是有一个“Arduino Uno”(我想没关系)
对我来说,以上两个答案的混合有效:首先是我找不到 avrdude,
which avrdude
这没有给我任何东西。所以,我不得不重新安装arduino。这安装了 avrdude,我可以在
/usr/bin/avrdude
. 接下来是设置串口的读/写权限:然后我可以将草图上传到我的arduino!
chmod
对我来说,任何udev
规则都不起作用。仅强制
avrdude
以 root 身份运行: