みかんのゆるふわ技術ブログ

Raspberry PiやIoT関係のことを書き残していきます

Raspberry Pi OS Lite版 WiFi越しのセットアップ(Headlessセットアップ)

※2022/5/6追記: 今ではRaspberry Pi Imagerを使ってもっと簡単にHeadlessセットアップができます(この記事の方法も今でも使えますが)。↓の記事もぜひご覧ください。

www.mikan-tech.net


Raspberry Pi OS Lite版はGUIがないバージョンということで、モニターを繋いでも黒い画面に文字がズラズラ出てくるだけです。 そもそもサーバー的に使いたい場合は、画面もキーボードもつなぎませんよね。

ここでは、画面もキーボードも繋がずに、別のパソコンからWiFi経由でセットアップする方法を説明します。 画面を繋がずにネットワーク越しにセットアップすることを、Headlessセットアップといいます。

OSのインストール

マイクロSDカードへのOSのインストール方法は、こちらの記事を参照してください。ここでは省略します。

www.mikan-tech.net

Headlessセットアップ

Headlessセットアップのやり方は、公式のこちらのページに説明があります。

www.raspberrypi.org

手順は簡単で、マイクロSDカードのbootパーティションに

  • wpa_supplicant.conf - WiFi接続先情報
  • ssh - SSHサーバー有効化

という2つのファイルを指定された内容で作成します。

先ほど作成したマイクロSDカードを、もういちどパソコンに差し込んでみましょう。 bootというドライブが認識されればOKです。

WiFi接続先情報

まず、WiFi接続先情報を設定します。bootドライブにwpa_supplicant.confというファイルを次の内容で新規作成します。

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
 ssid="<Name of your WiFi>"
 psk="<Password for your WiFi>"
}

ここにWiFiのSSIDとパスワードを入力します。これで、Raspberry Pi初回起動時に自動的にWiFiにつながります。

SSHサーバー有効化

デフォルトではSSHサーバーが無効になっているので、別のマシンからログインができません。

有効化するには、bootドライブにsshというファイル名でファイルを作成します。 中身は空で大丈夫です。

起動

2つのファイルを作成すると、ついにマイクロSDカードの完成です。 bootドライブを右クリックして「取り外し」をして、マイクロSDカードを取り外しましょう。

Raspberry Pi電源ON!

取り外したマイクロSDカードをRaspberry Piに挿して、いよいよ電源ON!

しばらく待つと、起動します。とはいえ、ディスプレイを繋いでいないので、起動したかどうかよくわかりません。 Raspberry Piの緑ランプの点滅が少し落ち着いたかな?くらいを見計らいましょう。

SSH接続

起動したら、いよいよパソコンからSSHで繋いでみましょう。 PowerShell、TeraTerm、Poderosa、MinGW、Cygwin…などをお使いの方もいらっしゃるかもしれませんが、私は昔からPuTTYを使っています。

www.chiark.greenend.org.uk

どれでもよいので、SSHでrapberrypi.localに繋いでみましょう。例えば、Puttyならこのようにします。

Host Nameの欄にraspberrypi.localと入力し、SSHを選択してOpenボタンを押します。

すんなり繋がればOKです。初期ユーザー名はpi、パスワードはraspberryです。

え?繋がらない?そう、ここが難関というか、ややこしいところです。

SSHが繋がらない場合

まず、WiFi設定やsshファイルの作成に何らかのミスがあった可能性があります。 何度でもやり直しできるので、もう一度パソコンにマイクロSDカードを差し込んで、ファイルを作成しなおしてください。

セキュリティ上、起動ごとにファイルは削除されてしまいますので、もう一度新規作成してください

何回チェックしてもWiFi設定が間違いないのに繋がらない場合があるかもしれません。 マルチキャストDNSという機能を使うのですが、Windows10標準でこれがまともに使えるようになったのは比較的最近です。 Windows10でraspberrypi.localで繋がるには、次の条件があります。

  1. パソコンとRaspberry Piが同一リンク上にあること
  2. 新しいWindows10を使っていること(たぶん1803以降ならOK?)

1は、同じご家庭のWiFiルータに繋がっていればまず大丈夫です(企業用WiFi APは場合による)。 2の条件を満たさない、または何らかの理由で繋がらない場合は、次の方法を試してみると良いでしょう。

support.apple.com

こちらのBonjour for Windowsをインストールしてみてください。 これを使えばWindows8など古いOSでも繋がります。

これで無理なら、IPアドレスを調べて(WiFIルーターの管理画面などで振り出されたDHCPアドレスを調べる)IPアドレスで接続するなどして、なんとかがんばってください。個人的には、ここが一番の難関なのでは?という気がします。

2021/2/27追記 WiFiがつながらなくても使えるシリアルコンソールでのセットアップ方法を記事にしたので追加しました。

どうしてもWiFiがつながらなくて困る場合は、シリアルコンソールを使ってパソコンと直結してログインし、ifconfigコマンドでIPアドレスを調べる方法もあります。

www.mikan-tech.net

起動後のオススメ設定

ここからは無事にRaspberry PiにSSH接続できたとします。おめでとうございます😅 早速、初期設定をしましょう。SSH接続するとbashが使えますので、次のコマンドを実行します。

$ sudo raspi-config

で、Raspberry Pi用のセットアップ画面を出しましょう。 sudoコマンドには自分のパスワードの入力が必要です。初期パスワードだとraspberryです。

こんな画面が出ます。上下キーでメニューを選択し、Enterキーで実行できます。一通りの初期設定ができるので便利です。

次の設定は変更をお勧めします。

  • ログインパスワードの変更
    • 初期パスワードは全世界共通なので、パスワードがないのと同じです。変更しましょう。1 Change User Passwordから変更できます。
  • タイムゾーンを日本に変更
    • Raspberry Piはイギリス生まれなので、デフォルトはイギリスのGMT(グリニッジ標準時)になっています。4 Localisation Options –> I2 Change Timezoneで、Asia/Tokyoを選択します。

その他、言語設定などお好みで変更できます。デフォルトはUTF-8(イギリス英語)ですが、私はそのままでもいいかな。 キーボード設定はRaspberry Piをネットワーク越しに使うのであれば関係ないのでそのままで良いです。

raspi-configを終了するには、Tabキーを押して下のFinishを選択してEnterキーを押します。

最後に、Raspberry Piのソフトを最新版に更新しましょう。

$ sudo apt update && sudo apt upgrade

これでRaspberry Pi OSのソフトが最新になります。