2022/9/11 誤記を修正しました
Raspberry Pi OS LiteはGUIがなく、コマンドシェル(デフォルトはbash)でコマンドを実行して操作します。
どうやってシェルにアクセスするかというと、大きく分けて3つの方法があります。
- 画面とキーボードをつないでキーボードで直接操作する
- ネットワーク越しに別のパソコンからアクセスする
- 別のパソコンからシリアルコンソールに接続する
1はGUI版と同様にRaspberry Piに画面🖥とキーボード⌨️を接続すると、単体で操作できます。 黒い画面に文字が出てくるだけの味気ない💔画面ですが、別のパソコン要らずで使えます。
2は過去の記事で紹介しました。WiFiとSSHを有効にすると、別のパソコンからWiFi経由で操作できます。もちろん、LANケーブルをつないで有線でもOKです。
そして3つめですが、Raspberry Piのピンヘッダとパソコンを直結することで、パソコンからシリアルコンソールでシェルにアクセスできます。
WiFiやLANなどネットワークが利用できない場合でも使えます。ただし、USB-UART変換ケーブルが必要です。安いものは1000円くらいで買えます。
設定を間違えてRaspberry Piにネットワーク経由で全くアクセスできなくなった場合などに便利です☺️
シリアルコンソールとは?
画面のないネットワーク機器、サーバーなどを外部パソコンから制御する仕組みの1つとして、シリアルコンソールが昔から使われています。別のパソコンを入力・表示装置として使い、実際のコマンド実行はサーバ機器で行います。
SSHと違ってネットワーク越しにコマンドを送るのではなく、専用のケーブルを使います。
ネットワーク機器にはRS-232Cというコネクタがついているものがあり、RS-232Cケーブルでパソコンと接続します。 すると、パソコンからサーバ機器のシェルにシリアルコンソールでアクセスできるようになります。
USB-RS232C変換ケーブルは大きな家電量販店でも売っており、サーバーのメンテナンスの人などが買っていきます。
Raspberry PiではUARTがRS-232Cの代わりになります。実はUARTはRS-232Cと電圧やコネクタなどは違うものの、通信手順は同じなのです。
USB-UART変換ケーブルも売っており、USB経由でパソコンに接続できます。これは家電量販店では見たことはありませんが、電子部品屋さんやAmazonなどで簡単に手に入ります。
例えば、次のようなものです。
Raspberry Piにシリアルコンソールでつないでみよう
さっそくRaspberry Piのシリアルコンソールにつないでみましょう✊
初期状態ではシリアルコンソールが無効になっているので、まずは有効にする設定を行います。
シリアルコンソールの有効化
Raspberry Piの起動マイクロSDカードをパソコンに接続し、エクスプローラーで開きます。
config.txt
というファイルがあるはずです。
これをメモ帳やVisual Studio Codeなどのエディタで開き、最後の行にenable_uart=1
を追記します。
追記したら保存してして完了です。マイクロSDカードを取り出してRaspberry Piに挿しておきます。
Raspberry Piにつないでみよう
USB-UART変換ケーブルをRaspberry Piのピンヘッダに接続します。
Raspberry Piのピンヘッダは上図のように機能が割り当てられています。UARTを使うので、次のピンに接続します。
RasPiピン番号 | RasPi 機能 | USB-UART | 説明 |
---|---|---|---|
6 | Ground | GND | グランド (0V基準電圧) |
8 | GPIO 14 (TX) | Rx | UART (RasPi→パソコン) |
10 | GPIO 15 (RX) | Tx | UART (パソコン→RasPi) |
UARTは2つの機器を1対1でつなぐ通信方式で、A→B、B→Aの片方向ごとに1本ずつ線があり、2本の線で通信します。 一方の機器の送信端子(TX)をもう一方の受信端子(RX)につなぎます。なので、このような接続になります。
パソコンとRaspberry Piでグランド(基準電圧0V)をそろえる必要があるのでこれもつなぎます。 電源(3.3V/5V)ピンは接続しないでください🙅。(USB-UART変換ケーブルの電源はパソコンからUSBでとれます)
接続すると、次のようになりました。
このUSB-UART変換ケーブルをパソコンに挿します。WindowsにCOMポートとして認識されればOKです。
ターミナルソフトからのアクセス
パソコンからシリアルコンソールにアクセスするには、ターミナルソフトが必要です。 TeraTermやPuttyなどが有名でしょうか。ここではTeraTermを使ってみます。
これをダウンロードして起動します。
起動するとCOMポートを選ぶ画面が出ると思います。先ほど接続したUSB-UART変換ケーブルのCOMポートを選択してください。
続いて設定を行います。
「設定」→「シリアルポート」を上記画面のように設定します。ポート番号はお使いのパソコンの環境に合わせてください。
ボー・レートは115200bps、データ8bit、パリティなし(none)、ストップ1bit、フロー制御無し(none)とします。
「設定」→「端末」の設定を上記画面のように設定します。Raspberry PiはLinuxなので改行コードはLFです。
お待たせしました。ようやくこれで設定が終わりです。これでRaspberry Piを起動すると…
ここに起動メッセージやログイン画面が出てきます!ふつうにログインもできました😃
これでうっかりRaspberry Piのネットワーク設定を間違ってWiFiがつながらなくなっても安心ですね🥰