2013年10月26日土曜日

FreeBSDでArduino 2

FreeBSDでAVRの続きです。

前回のあらすじ(のうち本当に必要な部分)

CQカチャduinoを買って、portsからdevel/arduinoとdevel/arduino-mkをインストールした。
arduinoを起動する(terminalから「arduino」で立ち上がる)と、IDEが立ち上がるのだけど、uploadができなかった。

dialerに追加

uploadに失敗したときのエラーメッセージを見ると次のように書いてある。
check_group_uucp(): error testing lock file creation Error 
details:Permission deniedcheck_lock_status: No permission to create lock
 file.
please see: How can I use Lock Files with rxtx? in INSTALL
何かの権限が足りていなそうだ。

さらに、とりあえず/dev/cuaU0のステータスを見てみた。
$ ls -l /dev/cuaU0
crw-rw----  1 uucp  dialer  0x9a Sep 32 19:23 /dev/cuaU0
ということで、自分をdialerに追加した。一度ログアウトが必要かも。
$ pw groupmod dialer -m username

これで、/dev/cuaU0の書き込み権限がもらえたので、(ユーザー権限で走っている)Arduino IDEからuploadが可能になった。
(前回の記録では、sudoしてルート権限で書き込んでいた。)

本当は、 Port devel/arduino serial port problems [SOLVED](メーリングリストの過去ログ)を見て分かったのだけれど、せっかくなので「手探りで解決する風」の話に再構成しました。

USBシリアル関係の設定

~/.arduino/prefrence.txtで次の2つの値を設定する。
serial.port=/dev/cuaU0
serial.debug_rate=57600
*.inoのsetup()でシリアル通信の速度を設定する。
Serial.begin(57600)

これでArduinoとして動いた。Serial monitorもシリアル通信の速度を設定したら使えた。さて、何して遊ぼうかな。