コードをarduinoにアップロードすると、「avrdude:ser_open():ca n't open device」/ dev / ttyACM0“:Permission denied”というエラーが表示されます。


13

私のOSはUbuntu 18.04で、arduinoはこれまで機能していました。

いくつかの解決策がありますが、どれも私にはうまくいかないようです。

私はarduinoのWebサイトでこれらの指示に従いました。

次に、これを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 root dialout 166、0 Jul 15 05:41 / dev / ttyACM0 Login:sergio Name:SérgioMafra Directory:/ home / sergio Shell:/ bin / bash On since Sun Jul 15 08:26(- 03)オン:0から:0(メッセージオフ)メールなし。ノープラン。
セルジオマフラ

dialout:x:20:sergio。私は2番目のコマンドを実行しようとすると、bashは私にそのようなファイルやディレクトリを返さない
セルジオマフラ

2
@ N0rbertこの質問は、最新のArduino IDEをインストールする方法の複製として閉じるべきではないと思いますか?この質問に対する受け入れられた回答は、尋ねられた質問により具体的だからです。
karel

回答:


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のWebサイトからバージョンをインストールしたところ、問題なく動作しました。
セルジオマフラ

23

Arduinoにスケッチをアップロードしようとしたときにも同様の問題がありました。この問題は、シリアルポートへの読み取り/書き込みの権限がないことに関連しています。次のコマンドを使用して修正できました。

ポートが存在することを確認するには、ルートディレクトリから次のように入力します。

ls /dev/ttyACM0

読み取り/書き込み権限を設定するには、次のように入力します

sudo chmod a+rw /dev/ttyACM0

私の問題を解決しました。ありがとう!
FunkSoulBrother

..私の問題を解決
anuraag tummanapally

3

これが私のために働いたものです:

  • Aptからバージョンをアンインストールします。正しく動作しません(sudo apt uninstall arduino; sudo apt autoremove
  • ArduinoのWebサイトからバージョンをインストールします
  • sudo apt install avrdude ウェブサイトのものはそれを含まないので
  • sudo usermod -a -G dialout [your_username] ウェブサイトからのものはこれを自動的に行わないので

そして今、すべてが再び機能しています!


0

私が読んだすべての投稿と組み合わせて、これはこのスレッドからの指示に従ってその問題を解決するために私がやったことです。

新しい端末で、次のように入力しました。

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

fourplusは私のユーザー名です。


2
ubuntuへようこそ。将来的には、可能な限り画像ではなくテキストを投稿する必要があります。
Jeff

0

私は解決策を得ました。

  1. Arduinoが接続されているポートを見つけます(たとえば、私のポートはでした/dev/ttyUSB0)。Arduino IDEのエラーメッセージに記載されている場合があります。

  2. ターミナルを開きます(Ctrl+ Alt+ T)。

  3. ターミナルで:

    sudo chmod 777 /dev/ttyUSB0
    

    上記のコマンドは、必要な権限を設定します。



0

質問はすでに受け入れられているようですが、どの解決策も私のためにそれをしなかったので、私は別の解決策を得ました。Ubuntuソフトウェアインストーラーを使用してarduino IDEをインストールしました。あなたがする必要があるのはです。

  1. Ubuntuソフトウェアストアのarduino IDEに移動します
  2. クリック許可
  3. Access USBハードウェアを直接オンに設定します
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.