【问题标题】:Arduino Tools > Serial Port greyed outArduino工具>串口灰显
【发布时间】:2013-10-11 15:58:45
【问题描述】:

我正在运行 Debian 7 (Linux Crunchbang),并想使用 Arduino IDE 对我的 Arduino UNO 进行编程。为此,我安装了包arduino。当我启动 Arduino 时,我被要求将我的用户添加到 dialout 组。所以我用sudo usermod -a -G dialout <my-username> 做了。

但是,当我在命令行中使用 arduino 启动 Arduino IDE 时,IDE 会打开,但我无法将程序加载到 Arduino。错误消息是“找不到串行端口 COM1。您是否从工具 > 串行端口菜单中选择了正确的端口?”当我去选择串行端口时,选项“工具>串行端口”是灰色的。

我认为这是因为我没有授予我的 USB 端口 (ttyACM0) 的读写权限。所以我做了sudo chmod a+rw /dev/ttyACM0,但该选项仍然是灰色的。

【问题讨论】:

标签: arduino arduino-ide


【解决方案1】:

chdmod 适用于我的 debian (proxmox):

# chmod a+rw /dev/ttyACM0

用于安装 arduino IDE:

# apt-get install arduino arduino-core arduino-mk

将用户添加到拨出组:

# gpasswd -a user dialout

重启 Linux。

尝试使用文件 > 示例 > 01.Basic > 闪烁,将 2 个延迟更改为延迟(60),然后单击上传按钮以在 arduino 上进行测试,LED 必须更快地闪烁。 ;)

【讨论】:

  • 每次重启 Linux 时都需要运行这些命令。知道为什么吗?
  • 更改 /dev 文件的权限听起来是一个“好”的解决方案,但事实并非如此。有了这个,您就允许任何应用程序访问设备,这不是永久性的。
  • @Seanny123 这就是为什么 ^
  • 就我而言:sudo chmod a+rw /dev/ttyS0
  • 在我的情况下:将用户添加到拨出组并重新启动。
【解决方案2】:

sudo arduino 是我让 Arduino IDE 在 ubuntu 12.04 (64) 上工作(串行端口和上传)的唯一方法 实际上,在我的情况下,要使用的串行端口也是 /dev/ttyACM0 。 其他两个(ttyS4 和 ttyS0)在尝试上传到 Uno 时出错。 玩得开心

【讨论】:

  • 这可能是因为您没有添加到正确的组中并且以 root 身份运行 arduino。当您尝试直接编辑、复制、剪切或删除文件时,这肯定会让您头疼,因为它们归根用户所有。 The correct solution is adding yourself to the group and log out and in.
  • 天哪,谢谢你,在过去的一个小时里,我一直在努力让它发挥作用。只需要 sudo 就可以了
  • 从终端启动 Arduino IDE 并使用“sudo”也为我解决了这个问题。我想IDE必须以root权限运行。这样它就可以访问驱动程序目录。
  • 这个答案应该被接受。拯救我的一天。非常感谢
【解决方案3】:

尝试断开 USB 并重新插入。它只是灰显,因为 ide 找不到 uno 已插入的任何 com 端口。

另一种解决方案是尝试所有的 com 端口,看看哪个有效。

最后,如果一切都失败了,请尝试重新启动您的计算机。

【讨论】:

    【解决方案4】:

    关闭 arduino IDE 的所有实例 打开 ~/.arduino/preferences.txt 并查找以下行:

    serial.port=<not your port>
    

    并将其更改为您的端口:

    serial.port=/dev/ttyACM0
    

    您可能需要注销才能生效

    【讨论】:

      【解决方案5】:

      在文本编辑器中打开 $arduinoHome/arduino 并修改最后一个字符串:

      java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel processing.app.Base "$@"
      

      java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dgnu.io.rxtx.SerialPorts="/dev/ttyACMN" processing.app.Base "$@"
      

      (将属性 gnu.io.rxtx.SerialPorts 设置为 /dev/ttyACMN,其中 ttyACMN 是您使用的串行端口的名称)

      它可能会临时修复 rxtx 库中的错误。帮助我用 arduino1.0.5 IDE 上传草图。

      也许会对某人有所帮助。

      【讨论】:

      • 如何在文本编辑器中打开 $arduinoHome/arduino?
      • (win)通过上下文菜单 -> "open with..." 或 (linux) 从终端类似gedit $arduinoHome/arduino
      【解决方案6】:

      在我的情况下,这被证明是一个坏的 USB 集线器。

      “lsusb”命令可用于显示所有已识别的设备。如果设备未插入,设置速度的选项将被禁用。

      如果您的设备被识别,lsusb 命令应输出类似字符串“Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)”的内容。我的是一个 RFDuino

      【讨论】:

        【解决方案7】:

        就我而言,我通过卸载我通过apt-get 安装的Arduino 版本解决了这个问题,而是通过official website 安装。

        使用最新版本的 Arduino,我没有遇到 Ubuntu 18.04 上描述的问题。

        【讨论】:

          【解决方案8】:

          所以我使用sudo usermod -a -G dialout &lt;my-username&gt;

          您需要在将自己添加到组后退出,以便应用这些更改。只需注销并重新登录,菜单应该可用。

          【讨论】:

            【解决方案9】:

            为 java 安装 rx-tx lib 在终端中运行此命令

            sudo apt-get install librxtx-java -y
            

            输出端口

            sudo usermod -aG dialout $USER 
            sudo apt-get install gnome-system-tools 
            

            帮助 regconize USB 设备

            【讨论】:

              【解决方案10】:

              我在ubuntu 18.04中解决了以下串口相关问题如下:

              问题 1:无法打开 /dev/ttyACM0:权限被拒绝
              解决方案:使用此终端命令授予对串行端口的读/写权限 ---> sudo chmod a+rw /dev/ttyACM0 此处将 tty 端口替换为您各自的 ubuntu 端口。

              问题 2:无法打开 /dev/ttyACM0(端口繁忙) 解决方案:当串口繁忙或已被占用时会出现此问题。所以用命令杀死繁忙的串口--->fuser -k /dev/ttyACM0。此处将 tty 端口替换为您各自的 ubuntu 端口。

              问题 3:/dev/ttyACM0 的板不可用 解决方案:在这种情况下,工具菜单中的串行端口将显示为灰色。我为此搜索了很多,但没有一个解决方案对我有用。 Atlast 我尝试了不同的 arduino 板和 USB 连接器,它对我有用。所以,如果你有旧的 arduino 板(可以使用所需的驱动程序解决)或有缺陷的 arduino 板,那么只会出现这个问题。

              【讨论】:

                【解决方案11】:

                与 Philip Kirkbride 相同的评论。 这不是权限问题,但使用从他们网站下载的 Arduino IDE 解决了我的问题。 谢谢! 迈克尔

                【讨论】:

                  【解决方案12】:

                  以下步骤安装 IDE 并删除错误java.lang.NullPointerException thrown while loading gnu.io.RXTXCommDriver,该错误通常伴随 arduino 在 Ubuntu 中使用apt-get 命令安装。

                  安装 IDE

                  sudo apt-get install arduino
                  

                  用于消除 IDE 中的 java 错误

                  sudo add-apt-repository ppa:webupd8team/java
                  sudo apt update
                  sudo apt install oracle-java8-set-default
                  

                  这也显示了由于错误而变灰的串行端口

                  【讨论】:

                    【解决方案13】:

                    我遇到了同样的问题,为此我苦苦挣扎了几天,阅读了所有的博客文章,观看了视频,最后在我更换了我的 uno 板之后,它运行得非常好。但是在我这样做之前,我尝试了一些事情,我认为这也有效果。

                    • 将文件解压到 opt 文件夹,更改首选项 --> 行为 --> 可执行文本文件 --> 询问要做什么。之后,双击文件夹上的arduino,选择由终端运行
                    • 添加了用户拨出,如其他答案中所述。

                    希望这个答案对你有所帮助。

                    【讨论】:

                      【解决方案14】:

                      对于 Windows 解决方案,我发现在设备管理器中禁用和重新启用 Arduino,然后重新启动 Arduino IDE 可以成功(无需拔下电源)。为什么这个错误首先发生在我之外。也许Linux的相应方法可以解决您的问题。

                      有点相关(不是真的),不久前我遇到了一个 AVR 板的问题,通过在驱动程序设置中将设备设置为新的 COM 端口来解决这个问题。再说一次,不管你们 linux 兔子怎么做,我敢肯定它会是饼干和奶油。

                      兄弟,干杯,

                      【讨论】:

                        【解决方案15】:

                        我遇到了同样的问题。我的解决方案是安装和使用 java7:

                        sudo apt-get install openjdk-7-jre
                        sudo update-alternatives --config java
                        

                        选择引用java-7路径的数字。

                        【讨论】:

                          【解决方案16】:

                          您可能没有正确的权限。尝试将自己添加到这些组中。

                          sudo adduser username ttyl
                          sudo adduser username serial
                          sudo adduser username uucp
                          

                          然后重新启动系统并检查您是否已添加到组中。

                          groups username
                          

                          祝你好运!

                          【讨论】:

                            【解决方案17】:

                            尝试以管理员身份运行... 运行终端,输入 sudo arduino,输入你的 root 密码,然后... :)

                            【讨论】:

                              猜你喜欢
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 2011-06-02
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              相关资源
                              最近更新 更多