【ssh接続まで】Raspberry Pi Zero WをWindowsPCだけでセットアップする

ツール

目次

はじめに

前回の記事でRaspberry Pi Zero WにOSをインストールして起動させるところまで実施しました。

Raspberry Pi Zero購入からRaspbian(Raspberry Pi OS)起動まで
はじめに以前ESP-32による監視カメラを作成したのですが、性能限界かFPSが思ったよりも出ませんでした。そこで、Raspberry Piでやってみようと思い、小型製品のRaspberry Pi Zero Wを購入しました。Wはピンヘッダー...

この記事では、モニタやマウス・キーボードを追加購入することなく遠隔操作でRaspberry Piをセットアップ・操作する方法をまとめます。

今回使用しているのはamazonで購入した下記シリーズです。

Bitly
Amazon | Raspberry Pi Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレス | Raspberry Pi | ベアボーンPC 通販
Raspberry Pi Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレスがベアボーンPCストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。

必要なもの

ハードウェア

  • Windows 10 PC(この記事ではホストPCと呼びます)
  • Raspberry Pi Zero W または Raspberry Pi Zero WH
  • Raspberry Pi OS入りのSDカード
  • MicroUSB<->USB-A などの通信ケーブル

ソフトウェア

  • ドライバ
    • USB Ethernet/RNDIS Gadget
  • アプリケーション
    • Bonjour←必要だとしているサイトもありますが、私の環境では不要でした

やること

ドライバの用意

まずは現状USB
シリアルデバイスとして認識されてしまっているRaspberry PiをUSB Ethernet/RNDIS Gadgetとして認識させる必要があります。

USB Ethernet/RNDIS Gadget とは、USBで接続されたデバイスを仮想的にネットワークデバイスとして認識させるためのドライバです。

以下のMicrosoftページが理解の助けになると思います。理解しなくても使えればよいです。

↓サムネイルだと404になっているかもしれませんが、クリックすれば閲覧できます。ハイフン2個がWordPressでうまく処理できないみたいです。。

https://docs.microsoft.com/en-us/windows-hardware/drivers/network/overview-of-remote-ndis--rndis-

USB Ethernet/RNDIS Gadgetをダウンロードしてきましょう。以下のサイトにある

Acer Incorporated. - Other hardware - USB Ethernet/RNDIS Gadget Windows 7,Windows 8,Windows 8.1 and later drivers

項目の[ダウンロード]をクリック。

Microsoft Update Catalog

下のような画面が出てくると思います。

通常はリンクをクリックすればダウンロードできるのですが、なぜかうまくいかないので[リンクを右クリック]->[リンクのアドレスをコピー]して普段使用しているブラウザでアクセスしてください。

ダウンロードできると思います。

cab拡張子のファイルがダウンロードできたと思います。ダブルクリックするとzipファイルのように中身を見ることができます。

全て選択して[右クリック]->[展開]を行ってください。

これでcabファイルの外に出すことができました。外に出したファイルを適当な名前のフォルダに入れておきましょう。私は今回は『RNDIS』フォルダに格納しました。

次はデバイスドライバの手動インストールを行います。

SDカードを指した状態でRaspberry Pi Zero Wの内側のMicroUSBとホストPCを接続してください。

デバイスマネージャから見たときにシリアルデバイスとして認識されているかと思います。

私の環境では『USB シリアル デバイス (COM7)』として認識されています。

[右クリック]->[ドライバーの更新]を押してください。

その後、[コンピューターを参照してドライバーを検索]をクリックしてください。

[参照]をクリック

先ほど作った『RNDIS』フォルダを選択して[OK]

[次へ]をクリック。

『ドライバが正常に更新されました』と表示されれば完了!

確認のためデバイスマネージャーを見てみましょう。

[ポート]からは『COM7』が消え、代わりに[ネットワークアダプター]に『USB Ethernet/ENDIS Gadget』が追加されています。

ネットワーク接続状況から確認するとイーサネットとして認識されていることが確認できます。

これによって、IPアドレスを指定してSSHなどで接続すれば遠隔で操作できるわけですね。

以上でドライバの用意は完了です。

SDカードのファイル修正

次にSDカードのファイルを修正しましょう。

具体的にはbootボリュームにある下記2ファイルの修正

  • cmdline.txt
  • config.txt

それと下記ファイルの追加です。

  • ssh

これだけです。

まずはcmdline.txtの修正から。cmdline.txtをメモ帳等で開くと以下のように1行にズラッといろいろ記述されています。

console=serial0,115200 console=tty1 root=PARTUUID=e3d121de-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

こちらの最後に

modules-load=dwc2,g_ether

を追加します。下記のような感じです。

追加したらセーブしてファイルを閉じてください。

console=serial0,115200 console=tty1 root=PARTUUID=e3d121de-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles modules-load=dwc2,g_ether

次にconfig.txtを開いてください。色々書いてありますが、最後の行に

dtoverlay=dwc2

を追加してください。

追加したらセーブしてファイルを閉じてください。

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

[all]
#dtoverlay=vc4-fkms-v3d

dtoverlay=dwc2

最後にsshという名前の何も書かれていないファイルを追加してください。

この状態で一度でもRaspberry Piを起動するとsshが有効になります。同時にbootボリュームからこのファイルが消えますが問題ありません。きちんと有効になっています。

ここまでで下準備は完了です。早速Raspberry Pi Zero Wにテスト接続してみましょう。

接続テスト

それではまずRaspberry Pi Zero WにSDカードを挿入しましょう。

そしてホストPCとRaspberry Pi Zero W内側のMicroUSBポートと接続します。

次に[Windowsキー]+[R]を押して

powershell

と入力します。powershellが起動します。

そうしましたら下記のコマンドを実行してください。

ここまでの準備がうまくいっていれば、raspberrypi.localというホスト名でRaspberry Pi Zero Wを見つけることができます。

PS C:\Users\username> Resolve-DnsName raspberrypi.local

Name                                           Type   TTL   Section    IPAddress
----                                           ----   ---   -------    ---------
raspberrypi.local                              AAAA   120   Answer     1234::5678:1234:5678:1234
raspberrypi.local                              A      120   Answer     169.254.235.14

ここまでできればあとはホスト名かIPアドレスを指定してssh接続すればよいです。

Raspberry Piの初期ユーザー名とパスワードは以下になります。

  • pi
  • raspberry

ssh接続の最初はknown_hostsにこのドメインが無いことを警告されますが、yesで大丈夫です。

PS C:\Users\username> ssh pi@raspberrypi.local
The authenticity of host 'raspberrypi.local (1234::5678:1234:5678:1234)' can't be established.
ECDSA key fingerprint is SHA256:1234567890123456789012345678901234567890.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

あとはパスワードを入力すれば以下のようにssh接続が成功します。

これでssh接続まで完了です。

上記画像でも言われていますが、パスワードの変更などいくつか初期設定をする必要があります。

下記リンクにRaspberry Pi Zero Wの初期設定をまとめましたのでよかったらご覧ください。

コメント

タイトルとURLをコピーしました