らくがきちょう

なんとなく

Raspberry Pi2 に GPIO 経由でシリアルコンソールアクセスする

Raspberry Pi2 はもちろん簡単にキーボードやモニタに接続出来ます。しかし、非常にコンパクトなので逆にキーボードやモニタに繋がずに使いたくなってしまいます… そこで、MacBook Air から Raspberry Pi2 を GPIO 経由でシリアルコンソールアクセス出来るように設定しました。

用意するもの

以下を用意しました。

電源アダプタや MicroSD カード、本体等の「基本セット」以外に以下を購入しました。ケースは無くても構いません。ですが、私の場合はデータセンター等に Raspberry Pi を持参して管理系(Syslog、NTP、Radius 等)サーバとして利用することが多い為、本体保護の目的でケースを購入しました。ケースを付ける場合は GPIO 部分が空いているものを探す必要があります。Amazon でケース選定していたらヒートシンク付きにも関わらず 1,780 円と手頃なケースがあったのでこれにしました。

MacBook Air と Raspberry Pi2 の接続には、こちらのケーブルを購入しました。秋葉原辺りでは 500 円以上すると聞いたのですが(未調査)、400 円だったのでこれにしました。海外発送なので到着まで 10 日ほどかかりました。

ドライバーは Prolific Technology のページで公開されているものを使いました。このドライバーをインストールすると再起動を要求されます。

再起動後、MacBook Air にケーブルを挿入しました。私の環境ではデバイスが以下のように認識されていました。

$ ls /dev/*usb*
/dev/cu.usbserial	/dev/tty.usbserial

Raspberry Pi2 に接続する

USB ケーブルの先端は、更に 4 色のケーブルに分かれています。これを以下のように接続します。

  1. 黒 = 6 番ピン(Ground)
  2. 白 = 8 番ピン(Tx)
  3. 緑 = 10 番ピン(Rx)
  4. 赤 = 未接続

図示すると以下の通りです。

f:id:sig9:20150823004314p:plain

OS X からシリアルコンソール接続する

シリアルコンソールでアクセスするのに screenminicom を使っても良いのですが、今回は使い慣れている jerm を使いました。未インストールであれば Homebrew を使って簡単にインストール出来ます。

brew install jerm

Raspbian では cat /etc/inittab に以下のように定義されており、この部分が GPIO でアクセスした際のコンソールに該当するようです。

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

以下のように jerm を実行し、Raspberry Pi2 のシリアルコンソールにアクセスします。

jerm -b 115200 /dev/tty.usbserial

エンターキー等を押して反応があれば成功です。コンソールを切断する場合は「Ctrl + m」→「~」→「.」の順にタイプします。