web-dev-qa-db-ja.com

Arduino IDEはマイクロコントローラーに接続していません

USBシリアル接続を介してArduinoに接続しようとすると、このエラーが発生します。 Arduino IDE 1.0.1およびUbuntu 12.04の64ビットバージョンを使用しています。これは10.04から繰り返し発生する問題であり、シリアル接続を使用する他のいくつかのプログラムでも発生します。 PythonまたはScreenを使用してArduinoからシリアルデータを取得しても問題ありません。 Arduino IDEは、それ以外は問題なく動作するようです。

processing.app.SerialException: Error opening serial port '/dev/ttyACM0'.
at processing.app.Serial.<init>(Serial.Java:178)
at processing.app.Serial.<init>(Serial.Java:92)
at processing.app.SerialMonitor.openSerialPort(SerialMonitor.Java:207)
at processing.app.Editor.handleSerial(Editor.Java:2447)
at processing.app.EditorToolbar.mousePressed(EditorToolbar.Java:353)
at Java.awt.Component.processMouseEvent(Component.Java:6386)
at javax.swing.JComponent.processMouseEvent(JComponent.Java:3268)
at Java.awt.Component.processEvent(Component.Java:6154)
at Java.awt.Container.processEvent(Container.Java:2045)
at Java.awt.Component.dispatchEventImpl(Component.Java:4750)
at Java.awt.Container.dispatchEventImpl(Container.Java:2103)
at Java.awt.Component.dispatchEvent(Component.Java:4576)
at Java.awt.LightweightDispatcher.retargetMouseEvent(Container.Java:4633)
at Java.awt.LightweightDispatcher.processMouseEvent(Container.Java:4294)
at Java.awt.LightweightDispatcher.dispatchEvent(Container.Java:4227)
at Java.awt.Container.dispatchEventImpl(Container.Java:2089)
at Java.awt.Window.dispatchEventImpl(Window.Java:2518)
at Java.awt.Component.dispatchEvent(Component.Java:4576)
at Java.awt.EventQueue.dispatchEventImpl(EventQueue.Java:672)
at Java.awt.EventQueue.access$400(EventQueue.Java:96)
at Java.awt.EventQueue$2.run(EventQueue.Java:631)
at Java.awt.EventQueue$2.run(EventQueue.Java:629)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.Java:105)
at Java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.Java:116)
at Java.awt.EventQueue$3.run(EventQueue.Java:645)
at Java.awt.EventQueue$3.run(EventQueue.Java:643)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.Java:105)
at Java.awt.EventQueue.dispatchEvent(EventQueue.Java:642)
at Java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.Java:275)
at Java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.Java:200)
at Java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.Java:190)
at Java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.Java:185)
at Java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.Java:177)
at Java.awt.EventDispatchThread.run(EventDispatchThread.Java:138)
Caused by: gnu.io.UnsupportedCommOperationException: Invalid Parameter
at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.Java:171)
at processing.app.Serial.<init>(Serial.Java:163)
... 35 more
7
JDD

私もこの問題を抱えていました。シリアルモニターの速度が14400に設定されていることが原因です。動作中のシリアルポートがないと設定を変更できないため、Arduino UIを終了してpreferences.txtファイルを編集します(Unixでは、~/.arduino/preferences.txtにあります)。 Serial.debug_rateを探し、9600に変更します。 Arduino UIを再起動し、簡単なスケッチ(例: 'blink')をアップロードして、問題が解決するかどうかを確認してください。

なぜこれが起こるのかわかりません-14400を使用したことがあり、問題はありませんでした。繰り返し可能な理由があるとは思えない奇妙な問題の1つに過ぎないのでしょうか。

12
Coofer Cat

同じエラーが発生していました。私が知る限り、これは権限の問題です。 root権限でArduino IDEを実行しても問題は発生しなくなりました。つまり、私はそれを次のように実行しました:

    Sudo ./arduino

私はこれが悪い解決策であることを知っていますが、今のところはうまくいきます。 https://wiki.archlinux.org/index.php/arduino に記載されているように、シリアルデバイスファイルへの読み取り/書き込みアクセスを追加しようとしましたが、これは効果がなく、エラーが引き続き発生する場合ルート権限なしで実行してみました。私はまだより良い解決策を探しています。

編集:

この問題は https://askubuntu.com/a/58122/206687 で示されている回答に従うことで修正されました。つまり、自分をdialoutグループに追加すると、問題は修正されるはずです。

    Sudo usermod -a -G dialout $USER

このコマンドを実行した後、ログアウトして再度ログインするだけで、シリアルポートに問題なくアクセスできるはずです。

1
Artezanz

Arduino IDEの1.0.5バージョンをインストールしてください。

0
Patterson

ターミナルを使用せずに簡単な方法を見つけました。 Arduino IDEで、[ファイル]-> [設定]に移動し、ポップアップの下部で、 'preferences.txt'ファイルへのリンクを提供します。それをクリックすると、テキストが開きます。 ATこの点を確認して、Arduino IDEを閉じてください。 「9600」シリアルデバッグレートを変更し、保存して終了します。 IDEを開くと、すぐに動作するはずです。

0
Smelly_cat