Help us understand the problem. What is going on with this article?

Raspberry PiをHeadlessでセットアップする

【内容】

Raspberry Pi にキーボードやディスプレイを接続せずにセットアップします。
(Wifi 接続も含む)

なお、本手順は以下の機種で動作を確認済みです。

  • Raspberry Pi 3 Model B (「3B+」または「4B」は未検証)
  • Raspberry Pi Zero W
  • Raspbian Strech 20181113 (Raspbian Busterでは未確認)

【手順】

1. ブート用SDカードの作成

※ 本手順は「Raspbian Strech 20181113」で実行することを想定しています。
まずは、Raspberry Piの公式HPからRaspbianのOSイメージをダウンロードします。

しかし、現時点では新しいOSイメージが置かれているため、今回対象としている「Raspbian Strech 20181113」をダウンロードすることができません。
下記のミラーサイトからダウンロードすることが出来るので、こちらから入手してください。

ダウンロードが完了したらOSイメージをSDカードに書き込んでください。
SDカードへの書き込み方法はここでは省きます。
多くの方が記事を書かれていますので検索していただくか、公式HPのこちらを参考にしてください。

SDカードの書き込みが終わっても、PCからSDカードをアンマウントしないでください。
まだ作業が残っています。

2. ssh起動用ファイルの作成

現行バージョンのRaspbianではデフォルトではsshサービスが無効化されています。
これを自動起動できるようにSDカードの「Boot」パティションにssh(拡張子なし)という空のファイルを作ってください。
windowsをご利用の方は、標準では拡張子が非表示になっているので、拡張子が付いていないか確認してください。

なお、sshファイルはRaspberry Pi起動時に読み込まれて削除されます。

3. Wifi接続用の設定ファイルの作成

ssh同様、「Boot」パティションにWifi設定用のファイルを置いておくと、自動的に読み込まれて適切な場所に書き込まれます。

具体的には「Boot」パティションにwpa_supplicant.confという名前のファイルを作り、設定を記述します。
Wifiに接続するためには下記の内容を記載してください。
設定内容は接続するアクセスポイントに応じて変更する必要があります。

wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
    ssid="<SSID名>"
    psk="<パスワード>"
}

4. Raspberry Piの起動

上記の準備ができたら、PCからSDカードを取り出し、ラズパイ本体に挿入して電源を投入します。
LEDがしばらくチカチカして落ち着いたら、起動が完了していると思います。

5. sshで接続する

Windows 10やMacの場合、 ssh pi@raspberrypi.local でアクセスできます。
同一セグメント内に同じ名前のラズパイがなければの話ですが…
パスワードは raspberry です。

Windows 7の場合はターミナルソフトをインストールした上で、下記手順でラズパイのIPを見つけて接続する必要があります。

ネットワーク上のRaspberry Piを探す (Windows 7などの場合)

起動しネットワークに接続されたラズパイはsshサービスを起動していますが、IPをDHCPで取得しているのでIPがわからない限り接続できません。

そこで下記のコマンドを「ラズパイ探し.bat」として保存して実行してください。

ラズパイ探し.bat
@echo off
for /l %%i in (1,1,254) do ping -w 500 -n 1 192.168.1.%%i
echo ##################################################
echo  search "b8-27-eb"
echo ##################################################
arp -a | find "b8-27-eb"
pause

(結果)
```

search "b8-27-eb"

192.168.1.59 b8-27-eb-xx-xx-xx 動的
```

特定のセグメント(ここでは「192.168.1.*」)にpingを打った後、arpコマンドで特定のMACアドレスを持つIPを表示します。(ラズパイのMACアドレスは頭3桁がすべて同じです)
セグメント内に他のラズパイがなければ上記の例のように一件だけ表示されるはずですので、そこに表示されているIPに対してsshで接続してください。
複数件ある場合は自分の持っているラズパイのMACアドレスを特定したうえで、そこに表示されているIPに対してsshで接続してください。

6. Raspberry Piの更新

sshでつながったらpasswdコマンドでpiユーザのパスワードを変更しておきましょう。
また、最新のモジュールに更新するために、以下のコマンドを実行しておきましょう。

sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y

【課題】

同一セグメント内にラズパイが複数ある場合、自分のラズパイのMACアドレスを特定する必要があります。
そのためにはディスプレイとキーボードを接続する必要がありますので、完全なheadlessセットアップは行なえません。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away