読者です 読者をやめる 読者になる 読者になる

opamp_sando's blog

クソザコが割りと適当なことを書くためにある備忘録です。あとたまに普通の日記も書きます

ArchLinuxでarduino IDEを動かしてみた

ArchWikiに載ってる方法でやったほうがお手軽で確実で便利なのでそちらを推奨します。  

-> https://wiki.archlinuxjp.org/index.php/Arduino

前置き的な何か

今年の後期はちょっと電子工作も今度こそ初めていこうかと決意したこの頃。
1年の後期に講義で使うと言って買わされたArduinoLinuxで使えるか調べてみたら、さすがと言うべきか使えるようだ。

ただ、余談だが、何故かうちからArduinoIDEを落とそうとすると、残り時間7時間とかふざけたことをぬかしてきたので、VPSに一旦落として、scpでローカルに持ってきた。(VPSだとダウンロード30秒もかからなかったのに)
その他は特に問題はなさそうなので、経路の途中に遅いところでもあるのかとtracerouteとか走らせてみたけどよくわからなかった(雑魚乙orz)。

とりあえず、展開して、arduinoを動かしてみたが、シリアルポートが読み込まれないので書き込みができなかった。解決策をメモする。

/dev/ttyACM0のアクセス権を手に入れる

2通りの手段を思いついた。 今思えば、後々出てくるエラーでuucpグループのチェックをしている関数が呼ばれているような気がするので、前者の方法を取るべきかもしれない。

uucpグループに追加

ArchLinuxでは/dev/ttyACM0のグループはuucpになっており、uucpグループに所属するユーザーはアクセス権があるようなので、安直に自分のユーザをuucpに追加。

$ (sudo) gpasswd -a username uucp

適応させるために一旦ログアウトする。

udevでパーミッションをいじる

udevのruleを書いてパーミッションをいじる。

/etc/udev/rules.d/30-ttyacm.rules

というファイルでも適当に作って

KERNEL=="ttyACM0", GROUP="uucp", MODE="0666"

という感じで書き込む。
これで、ttyACM0というスペシャルファイルに一般ユーザーもアクセスできる。 直接chmodしてもアクセス権は変更できるが、おそらく認識されるたびにudevのデフォルトのルールである660のパーミッションにされるので、毎回chmod打つことになりめんどくさい。
あと、管理されてるものを外部から無理やり変えてる感じがしてなんか嫌。

参考: http://www.usupi.org/sysad/115.html

/run/lockへのパーミッションを得る

殆どの記事では上の通りの方法のみで動くようになるのだが、うちのarchlinuxでは、/run/lockへのアクセス権がないとかでダメになってた。ので、こちらは無理やり

$ (sudo) chmod 777 /run/lock

した。これ以外やり方がわからない。
誰か他にいい方法知ってたら教えてくださいおねがいしますなんでも(ry

一応、この解決策にした理由としてはhttp://playground.arduino.cc/Linux/Fedoraより

If you run the Arduino IDE as a normal user (you should do that of course), you may get this error message : check_group_uucp(): error testing lock file creation Error details:Permission denied

This is probably because you don't have write permissions on /run/lock directory. Try this to see if this solves your problem : sudo chmod 777 /run/lock

という文章があったため。

終わり

とりあえずこれでarduino IDEが動くようになると思う。

Firefox ブラウザ無料ダウンロード