2014年7月1日火曜日

ラズパイのシリアルポートをコンソールログインせず使用する

シリアルコンソールからログインしないとttyAMA0が使用できない件について、解決法が分かったのでメモしておきます。( ざます先輩ありがとうございましたm(_ _)m )

はじめに、今までシリアルポート(ttyAMA0)を汎用化するにはシリアルコンソールからのログインをしないよう設定を変更する必要がありました。
参考:備忘録 Raspberry PiでUART、シリアル通信 

ただ、シリアルコンソールからのログイン中であれば、VNC上のターミナルからでもttyAMA0を叩くと使用できることが分かりました。
また、シリアルコンソールでログインせずともrootであればVNC上のターミナルから同じく使用できることも分かりました。(sudo ではダメ)
それを踏まえて、VNCからのログインやSSHなどシリアルコンソール以外でログインしてもttyAMA0を使用できるようにします。

piユーザの所属をttyに変更する
$ sudo usermod -G tty pi

udevの新規ルールを作成
$ cd /etc/udev/rules.d
$ sudo vi z99_mydeivice.rules
$ cat vi z99_mydeivice.rules
KERNEL=="ttyAMA0",GROUP="tty",ATTRS{id}=="00341011" SUBSYSTEM="tty", MODE="0666", OPTIONS="last_rule"

以上で設定完了です。次回起動時からpiユーザに限り、シリアルポートが使用可能になります。

0 件のコメント :