Linux(Fedora)でArduinoIDEを使用していると、USB接続の際にエラーが出ることがあります。
色々なところで記事になっているので詳しくは書きません(よくわからんので書けません)が、OS(Linux)にログインしているユーザにUSB(例:/dev/ttyUSB0)への権限(アクセス権)が足りないためにエラーになっているようです。
$ ls -l /dev/ttyUSB0 crw-rw----. 1 root dialout 188, 0 8月 15 20:45 ttyUSB0
で、解決策も色々記事になっているのですが、多くのものは「ArduinoIDE」を起動させるときに、root権限で起動させる。
$ sudo ./arduino
てな感じでした。まぁ確かにそれでも動くのですが、「GUIのIDEなのに起動にコマンドラインからとか一寸スマートじゃないなぁ」と思っていましたが他にやりようも思いつかないし・・・などと日々を過ごしていましたが、見つけました!!
こちら(NETWIZ.JP)を参考にいたしました。素晴らしい。スマート、エレガント。参考にしたと言うより、まんま実施しました。ありがとうございます。
実際に参考先に従って、やってみました。私の環境では、「/etc/udev/rules.d/50-udev-default.rules」はなかったので、新しく作りました。vim で記事の丸コピーで「KERNEL==”ttyUSB[0-9]*”, GROUP=”dialout”, MODE=”0666″」を書き込んで完了
$ ll /etc/udev/rules.d/ 合計 0 $ vim /etc/udev/rules.d/50-udev-default.rules $ ll /etc/udev/rules.d/ 合計 4 $ cat /etc/udev/rules.d/50-udev-default.rules KERNEL=="ttyUSB[0-9]*", GROUP="dialout", MODE="0666"
早速、確認してみると、読み書き(rw)権限がバッチリ付与されています。
$ ls -l /dev/ttyUSB0 crw-rw-rw-. 1 root dialout 188, 0 4月 10 09:55 ttyUSB0
ArduinoIDEを立ち上げて、ボードをUSBへの接続してもエラー無し。うーん完璧。
※2018/04/10 権限付与の、箇所を修正。