シリアルログインは、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にアクセスする利点は次のとおりです。
- モニター、キーボード、マウスをつかう必要はありません。
- ネットワーク経由でアクセスするためにRaspberry PiのIPアドレスを構成する必要はありません。
USB TTLシリアルコンバーターとは
通常、USBアダプターは、USBデータを標準のシリアルポートデータに、またはその逆に変換するために使用されます。最も一般的なUSBデータ信号は、RS232、RS485、RS422、TTLシリアルデータのいずれかに変換されます。ここはUSBプロトコルからTTLにデータを変換するコンバーターを使用します。
これらのコンバーターには通常4つのピンがあります
- Vcc (RPiのシリアルログインには接続しない)
- Gnd
- RXD(データ受信)
- TXD(データ送信)
Vccピンは、他の回路への電源として使用できます。RXDピンはこのモジュールの入力ピンであり、TXDピンはこのモジュールの出力ピンです。4ピン以上のUSB TTLシリアルコンバーターには多くのバリエーションがあり、ピンを追加するとフロー制御などが可能になります。
注:-Raspberry Piのピンは5Vに耐性がないため(0-3.3Vのみ)、USBからTTLシリアルコンバーターが0から3.3Vの間でスイングすることを確認してください。
USB TTLシリアルコンバーターの製品は大きく二種類ある
- USBからTTLへのシリアルコンバーター(ケーブル付属タイプ)
- ドングリタイプ(ケーブルなし)
ケーブル付属タイプ
ドングリタイプ
このタイプはメスからメスのジャンパー線が必要です。
ソフトウェアの準備
使用機種により、準備するシリアル端末ソフトウェアは異なる:
- MaxOSの付属のterminal
- Linux用のGTKterm
- Windowsマシン用のPUTTY
コンバーターのUSB側をコンピューター内に挿入します。シリアル端末を次の仕様にセットアップする必要があります。
- ボーレート= 115200、
- ビット= 8
- パリティ=なし、
- ストップビット= 1および
- フロー制御=なし。
この設定が完了したら。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
TBD
Windowsマシン用のPutty
Windowsでは、USB TTLシリアルコンバーター接続すると、デバイスマネージャで確認できる。
次の画面では、認識され、COM4として機能する状態が確認できます。この時点でケーブルの先にRaspberryPiを繋ぐ必要は無い。
続いてPuttyをダウンロードして、起動する。
COMポートの番号を合わせることと、接続速度を115200(ビット/秒)にすることが重要。デバイスマネージャから見えるポートの設定が9600になっていても関係ないみたい。
正しく繋いでRaspberryPiを起動した状態なら、Enterキーを入力するとログインプロンプトが表示される。電源OFFでもなんでもできる。