2015年3月9日月曜日

Linuxでシリアル通信

これを見て,ふと思い出したのでメモ.

LinuxでUSB-シリアル変換ケーブルを使うのは場合によっては非常に簡単である.FTDIのチップを使っていればUbuntuなどでははじめからドライバを持っているのでドライバのインストールという面倒な手順をスキップして挿すだけで使える.

かというと,実はそうでもなく,リンク先でも書かれているように一般ユーザには読み書き権限がない.Ubuntuの場合昔は普通に読み書きできたのだが,数年前のバージョンからできなくなったようだ.はじめにこの問題にぶつかったときは焦った.

結局chmodして権限付与すればよいわけだが,それよりも/dev/ttyUSB0などはdialoutグループでありグループに対しては読み書き権限があるので,自分をdialoutグループに入れるのがよいと思われる.例えば,kojimaというユーザをdialoutグループに追加するためには下記を実行する.
    $ sudo usermod -a -G dialout kojima
-aのオプションを忘れると痛い目を見るので注意.実際に追加されたか確認するために,下記コマンドで自分の所属グループを調べる.
    $ id
ちなみに,変換ケーブルをUSBポートに挿した後
    $ dmesg
で,どう認識されてどこに接続されたのか確認できます.

2 件のコメント:

paze-paze さんのコメント...

はじめてコメントします。リンク先の記事を書いた者です。

そのような解決策もあったのですね・・・。てっきり、いちいち権限付与するしかないのだと思っていました。グループへの追加によって、何か支障をきたすことはありますかね?なければ、記事に追記しておこうかと思います。

Kojima さんのコメント...

基本的には問題ないと思います.こういう設定をして特定のユーザだけに権限を与えることが想定されているのだと思っています.もともとインターネットから得た情報なので適当なキーワードで検索かければさらに情報が出てくると思います.

コメントを投稿