シリアルログイン(GPIO)

シリアルログインは、Raspberry Piの(GPIO)の特定のシリアルPinを利用した通信方法です。

Raspberry Piボードにアクセスする方法はたくさんあります。従来はモニターに接続し、USBキーボードとマウスを接続していました。別の方法は、ヘッドレスRaspberry Piをネットワークに直接接続し、Raspberry PiのIPアドレスを見つけてリモートでアクセスすることです。どちらも非常に面倒です。

Raspberry PiのIPアドレスは不明、USBーHDMIコンソールが利用できない場合、第3の通信方法は必要である。

ここでは、USBからTTLシリアルコンバーターを使用して、Raspberry Piの(GPIO)の特定のシリアルPinに接続する方法について説明します。

この方法を使用してRaspberry Piにアクセスする利点は次のとおりです。

  1. モニター、キーボード、マウスをつかう必要はありません。
  2. ネットワーク経由でアクセスするためにRaspberry PiのIPアドレスを構成する必要はありません。

 

USB TTLシリアルコンバーターとは

通常、USBアダプターは、USBデータを標準のシリアルポートデータに、またはその逆に変換するために使用されます。最も一般的なUSBデータ信号は、RS232、RS485、RS422、TTLシリアルデータのいずれかに変換されます。ここはUSBプロトコルからTTLにデータを変換するコンバーターを使用します

これらのコンバーターには通常4つのピンがあります

  1. Vcc (RPiのシリアルログインには接続しない)
  2. Gnd
  3. RXD(データ受信)
  4. TXD(データ送信)

Vccピンは、他の回路への電源として使用できます。RXDピンはこのモジュールの入力ピンであり、TXDピンはこのモジュールの出力ピンです。4ピン以上のUSB TTLシリアルコンバーターには多くのバリエーションがあり、ピンを追加するとフロー制御などが可能になります。

注:-Raspberry Piのピンは5Vに耐性がないため(0-3.3Vのみ)、USBからTTLシリアルコンバーターが0から3.3Vの間でスイングすることを確認してください。

USB TTLシリアルコンバーターの製品は大きく二種類ある

  1. USBからTTLへのシリアルコンバーター(ケーブル付属タイプ)
  2. ドングリタイプ(ケーブルなし)

ケーブル付属タイプ

PI TTL Serial Cable Connection

 

ドングリタイプ

このタイプはメスからメスのジャンパー線が必要です。

ソフトウェアの準備

使用機種により、準備するシリアル端末ソフトウェアは異なる:

  • MaxOSの付属のterminal
  • Linux用のGTKterm
  • Windowsマシン用のPUTTY

コンバーターのUSB側をコンピューター内に挿入します。シリアル端末を次の仕様にセットアップする必要があります。

  1. ボーレート= 115200、
  2. ビット= 8
  3. パリティ=なし、
  4. ストップビット= 1および
  5. フロー制御=なし。

この設定が完了したら。Raspberry Piの電源を入れると、ラップトップ画面に基本的なコマンドラインインターフェイスが表示されます。楽しい。

MaxOSの付属のterminal

ドライバをインストールする

Homebrew でチップ名を検索するとドライバが見つかる。

$ brew search PL2303
==> Casks
homebrew/cask-drivers/prolific-pl2303

インストールする。

$ brew install homebrew/cask-drivers/prolific-pl2303

シリアルコンソールケーブルを Mac につなぐ

あとは Mac にシリアルコンソールケーブルをつなぐとデバイスを認識する。

$ ls /dev/ | grep tty.usb
tty.usbserial

もし、上記だけでは認識しない場合は macOS のセキュリティ機能でドライバがブロックされている恐れがある。 「システム環境設定 > セキュリティとプライバシー > 一般」で確認しよう。

ケーブルの端子を GPIO につなぐ

つづいてはケーブルの端子を Raspberry Pi の GPIO につなぐ。

公式サイトの記述によると GPIO14 と GPIO15 が、それぞれ TX と RX に対応している。

ログインする

次は screen コマンドを使ってデバイスに接続するだけ。 ボーレートはデフォルトで 115,200 bps に設定されている。

$ screen /dev/tty.usbserial 115200
...(snip)...
Raspbian GNU/Linux 9 raspberrypi ttyAMA0
raspberrypi login:

Enterキーを入力するとログインプロンプトが表示される。

ちなみに、ドライバがいまいち不安定なので取り扱いに注意を要する。

Linux用のGTKterm

Windowsマシン用のPutty

Windowsでは、USB TTLシリアルコンバーター接続すると、デバイスマネージャで確認できる。

次の画面では、認識され、COM4として機能する状態が確認できます。この時点でケーブルの先にRaspberryPiを繋ぐ必要は無い。

2017-09-18 18_26_21-plasma-Greenshot.jpg

続いてPuttyをダウンロードして、起動する。

COMポートの番号を合わせることと、接続速度を115200(ビット/秒)にすることが重要。デバイスマネージャから見えるポートの設定が9600になっていても関係ないみたい。
正しく繋いでRaspberryPiを起動した状態なら、Enterキーを入力するとログインプロンプトが表示される。電源OFFでもなんでもできる。