シリアルコンソールでログインする

/boot/config.txtの編集

シリアルコンソールでログインするために、書き込んだばかりのSDカードの編集を行います。
再度、SDカードを開発用のubuntuで読み込むと、「bootfs」と「rootfs」の2つのパーティションが現れます。
「bootfs」にある「config.txt」を開いて編集します。
同様の作業をWindows PCで行った場合、「bootfs」しか見えません。これは、「rootfs」のフォーマットがWindowsで認識できないためです。

「config.txt」の最下行に下記の一行を追加します。

enable_uart=1

Screenshot%20from%202024-07-04%2014-34-04

これでSDカードの編集は終了です。

minicom のインストールと設定

次に、シリアルコンソールを操作するために minicom をインストールします。

$ sudo apt install minicom

次の Raspberry Pi Zero W 本体にシリアルUSB変換ケーブルを接続します。
Raspberry Pi Zero Wのピン配置は下記のようになっているので、Pin6,8,10にケーブルのGND、RXD、TXDの順に(ピン配置とクロスするように)接続します。

Zero_W_pin

Raspberry Pi Zero W 本体にUSB給電をしない状態で、シリアルUSB変換ケーブルを開発用のubuntuに接続します。
ドライバに問題がなければ自動でシリアルデバイスとして追加されるはずです。
ここでは、/dev/ttyUSB0に接続された前提で説明を行います。

なお、シリアルUSB変換ケーブルが認識しているか確認する方法に lsudb というコマンドを利用します。

$ lsusb
Bus 002 Device 003: ID 8087:07da Intel Corp. Centrino Bluetooth Wireless Transceiver
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 138a:0018 Validity Sensors, Inc. Fingerprint scanner
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 047: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

上記の例では、FT232 Serial (UART) IC が認識したシリアルUSB変換ケーブルです。
また、dmesg コマンドを用いて、どのように認識したか確認する方法があります。

$ sudo dmesg
 :
[780478.402253] usb 3-1: USB disconnect, device number 46
[780758.123556] usb 3-1: new full-speed USB device number 47 using xhci_hcd
[780758.277153] usb 3-1: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[780758.277170] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[780758.277174] usb 3-1: Product: TTL232R-3V3
[780758.277178] usb 3-1: Manufacturer: FTDI
[780758.277181] usb 3-1: SerialNumber: FTGYE1CF
[780758.280138] ftdi_sio 3-1:1.0: FTDI USB Serial Device converter detected
[780758.280182] usb 3-1: Detected FT232R
[780758.280757] usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB0

このように、ttyUSB0で認識していることが確認できます。

いよいよ minicom の設定を行います。
初回は -s オプションを付加して起動します。

$ sudo minicom -s

設定ダイアログが表示されるので、「シリアルポート」を選択します。
設定変更は2か所です。

項目 設定内容
シリアルポート /dev/ttyUSB0
ハードウェア流れ制御 いいえ

これらの設定を終えたら、「"dfl" に設定を保存」を選択し保存します。
Minicom を終了 設定を終えたら「Minicom を終了」を選択し、初期設定を終了します。

Raspberry Pi Zero W の起動

ようやく、minicom の設定を終えたらminicom を起動します。

$ minicom

と起動すると、下記のような画面になります。
この画面が表示されたら、ようやくRaspberry Pi Zero Wの電源をONにします。

Screenshot%20from%202024-07-04%2022-26-21

もし、下記のメッセージを出力して起動に失敗した場合は、アクセス権の追加を行います。

$ minicom
minicom: /dev/ttyUSB0 をオープンできません : 許可がありません

アクセス権の追加は

$ sudo usermod -a -G dialout <ユーザー名>

と実行して、一度ログアウトし、再ログインを行います。

初回起動時はSDカードのパーティション変更などを行うため非常に時間がかかります。
SDカードの容量や速度にも依存しますが5分程度は待ちましょう。

Screenshot%20from%202024-07-04%2022-31-11

しばらくすると、

raspberrypi login:

と表示されるので、SDカードの作成時に設定したユーザー名とパスワードでログインします。

あとは色々と弄ってみましょう。
終了するときは

$ sudo shutdown -h now

このあと、LEDが消灯するまで待って Raspberry Pi Zero W の電源をOFFします。

minicom の終了

さて、Raspberry Pi Zero W が終了したので、minicomも終了させます。
[CTRL+A]を押したあとに[X]のキーを押下します。
「Minicomを終了しますか?」というダイアログが表示されますので、「はい」を選択することで、minicom が終了し元のshellに戻ります。