Raspberry Pi(Zero W)を、モニターなしでセットアップする


以前、Raspberry Pi 3をモニター無しでセットアップするというような記事を書きましたが、今回は、Raspberry Pi Zero Wを、モニター無しでセットアップしてみたので、手順をまとめます。
前のよりも手順がスマートになりました。
モニターもキーボードもなしで設定する理由としては、

  • テレビがパソコンの近くにない(HDMIケーブルはある)
  • ノートパソコン(MacBook Pro 13inch)にSDカードリーダーがない
  • micro USBに繋げられるキーボードも、USB TypeAから変換するコネクターもない

というようなわけです。
道具があれば使えばいいと思いますが、設定自体は簡単なので、別に画面は見なくても大丈夫です。
起動プロセスがテレビに映るのはカッコいいですけどね。

参考サイト:
GETTING STARTED WITH THE RASPBERRY PI ZERO W WITHOUT A MONITOR
https://www.losant.com/blog/getting-started-with-the-raspberry-pi-zero-w-without-a-monitor

ハードウェアの準備


Raspberry Pi Zero W、私はスイッチサイエンスで昨年入手しました。
その時もそうでしたが、今でも、会員登録してから入荷情報を確認して、1つのみ注文できるようです。
自分は本体のみ購入したので、いまのところむき出しで使っていますが、Amazonだと、ケース付きのスターターセットがあるみたいですね。
SDカードは16GBを使っています。


ソフトウェアの準備

OSイメージ



https://www.raspberrypi.org/downloads/raspbian/
WITH DESKTOPとLITEがありますが、RASPBIAN STRETCH LITEの方をダウンロードします。
違いは、前者はGUIやGUI向けのアプリケーションが同梱されているもの、後者はそれらのないCLI(コマンドラインインターフェイス)前提のものであるようです。

Difference in RASPBIAN STRETCH WITH DESKTOP and RASPBIAN STRETCH LITE.

モニター無しでセットアップしようというくらいだし、Raspberry Zero Wは非力なので、GUIは必要ありません。
Raspberry Pi 3などであれば、WITH DESKTOPでもいいかもしれません。

Etcher


Etcherをダウンロードします。
以前の記事では、ターミナルでコマンドを入力してOSイメージを焼いていましたが、Etcherをつかうと、「Flash OS images to SD cards & USB drives, safely and easily.」というわけで、マウスを使ってサクサクとOSイメージをSDカードに入れることができます。

EtcherでOSイメージをSDカードに焼く

1. OSイメージファイルを選ぶ


ダウンロードしたRASPBIANのOSイメージファイルをEcherにドラッグするか、選択します。


2. SDカードを選ぶ


接続されているディスク一覧から、SDカードを選びます。名前とファイルサイズを見て、慎重に。


3. 書き込みをスタートする


選んだイメージと書き出し先が間違えていないか確認して、書き出しを始めます。
しばらく時間がかかります。


4. 書き込み終了


書き出しが終わったら、Etcherを終了して、次の設定に入ります。
簡単すぎて驚きです。ホント。


SSHとWi-Fiの設定


SSHを有効にする

作成したSDカードに、設定ファイルを書き込みます。
テキストエディタやメモ帳的なものでもできると思ったのですが、うまくできませんでした(保存したはずのファイルがない)。
ここでは、ターミナルを使用します(Macの場合)。

cd /Volumes/boot

SDカードのルートディレクトリに入ります。

touch ssh

「ssh」という名前の空の(中身のない)ファイルを作成します。自分はviで作成しましたが、上記でも問題ないはず。
これで、SSHが有効になり、ターミナルからのログインが可能になります。

Wi-Fiの設定をする

Raspberry Pi Zero Wには、Ethernetケーブルをさすところがないため、画面無しで設定するためには、どうしてもWi-Fi接続が必要になります。

vim wpa_supplicant.conf

エディタを使って、wpa_supplicant.confというファイルを、SDカードのルートディレクトリに作成します。
中身は次の通り。SSIDとパスワードを書き換えてください。

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

network={
 ssid="接続したいWi-FiのSSID"
 psk="パスワード"
 key_mgmt=WPA-PSK
}

以上で、下準備は完了です。

Raspberry Pi Zero Wを起動する

SDカードをRaspberry Pi Zero Wに挿して、USBケーブルをつないで給電します。
おそらく20秒くらいで、接続可能になるはず。

とはいえ、画面がないので、起動したかどうかはわかりません。
手っ取り早いところで、Wi-Fiに接続されている機器一覧を見ることで、起動を確認します。
Raspberry Pi Zero Wを起動する前にWi-Fiルーターの管理画面に入り、接続機器一覧を出して、起動後に機器が増えるかどうかを監視します。
ここでもし接続機器が増えない場合、上記のWi-Fi設定が間違えている可能性があります。
機器が確認できたら、IPアドレスをメモします。

SSH接続をする

ssh pi@確認したIPアドレス

初期ユーザーは「pi」、パスワードは「raspberry」になっています。

sudo apt update && sudo apt upgrade

インストールされているパッケージを最新のものにアップデートします。

Change default users on Raspberry Pi
https://gordonlesti.com/change-default-users-on-raspberry-pi/

こちらのサイトを参考に、デフォルトユーザーを削除し、新しい管理ユーザーを追加します。
途中、「Adding own ssh key as authorized key」という項がありますが、ここは、秘密鍵・公開鍵を使って、パスワード無しでログインするための手順です。
上記ページでは、鍵の作成は省略されているので、もし作成したことがない場合は、次のサイトなどを参考に、秘密鍵・公開鍵を作成してからすすめてください。

【ssh-keygen】Linuxで秘密鍵・公開鍵を生成するコマンド
https://uxmilk.jp/52740

基本的な設定は以上です。
必要に応じて、よりセキュリティを高める設定をしてください。
あとは、自分のやりたいこと次第。
自分は、Bluetoothスピーカーと接続して喋らせてみたいな、などと考えております。