この記事は2020/03/29の以下の記事を転載したものです。
https://k1nya.com/2020/03/29/raspberry-pi-wi-fi-auto-connect/
僕はRaspberry Pi初心者です。
なのでRaspbian環境を作っては、壊して、初期化して、を繰り返しています。
そうして何度もRaspberry PiのOSをセットアップしていると、RaspbianのGUI環境で様々な設定をするのが面倒になってきます。
microSDカードにOSをセットアップして、Raspberry PiにmicroSDカードを刺し直して、LANケーブルをmacに接続して、「ifconfig」でIPアドレスを調べて、そのIPアドレスを頼りにVNC接続をしてGUI環境からwi-fi接続設定をして。
これでやっとRaspberry Piがwi-fi接続できるなんてステップが多すぎる!
ただの作業でしかない。
もっと簡単に設定できないかと調べていると、CLI環境で設定を済ませてしまうのが最も簡単であることに気づくんですよね。
Raspberry Piの初期環境設定をするためには、ssh接続ができるととても楽になります。
そのためにはRaspberry Piが、初回起動時から指定のwi-fiに自動的に接続してくれるととても楽です。
ということで、以下「Raspberry Piを初回起動時から指定のwi-fiに自動接続させる設定方法」です。
Raspbianは「2020-02-13-raspbian-buster」を使用しています。環境はMacOSCatalinaです。
ssh有効化ファイルを作成
MacにてmicroSDカードに Raspbianをセットアップし終り、microSDカードがmacに接続された状態から始めます。
Macのターミナルを立ち上げ、以下のコマンドでssh接続有効化ファイルを「boot」ドライブ直下に作成します。
touch /Volumes/boot/ssh
Raspbianをセットアップし終わったmicroSDカードは、「boot」という名前のドライブ名で作成されているはずです。
Macからその「boot」ドライブにアクセスするには、「/Volumes/boot」とたどります。
このファイルによってRaspnianはssh接続が有効になります。
wi-fi設定用ファイルを作成
次に「dhcpcd.conf」という名前で「boot」ドライブ直下にファイルを作成します。
touch /Volumes/boot/wpa_supplicant.conf
このファイルの中にwi-fi接続設定を以下のように書き込んでいきます。
CLIでなくても適当なGUIテキストエディタで編集して構いません。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="ここに接続先のssid"
psk="ここに接続キー"
key_mgmt=WPA-PSK
priority=2
}
wi-fi設定1つに付き以下の記述を追記していきます。
「priority=2」の数値が大きいものから優先して接続していきます。
network={
ssid="xxxx-xxxx-x"
psk="xxxxxxxxxxxx"
key_mgmt=WPA-PSK
priority=2
}
3つの接続先を設定した例
以下は3つの接続先を設定した例です。
「priority」の設定によって、上が一番優先度が高く下に行くほど優先度を低くしています。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="HQ601-huf-a"
psk="asjj324dda"
key_mgmt=WPA-PSK
priority=2
}
network={
ssid="HTWE-fad-660-a"
psk="dsadghuKKJ34"
key_mgmt=WPA-PSK
priority=1
}
network={
ssid="ROCK-BASS-33-g"
psk="tetorisu5454"
key_mgmt=WPA-PSK
priority=0
}
おわりに
はじめは「CLIワカンネ」「CLIメンドクセ」と思っていたのですが、最近はだいぶ慣れてきて、むしろ楽だと思うようになってきました。
まだまだ使えるコマンドは少ないし、パイプの仕組みもよくわかっていないです。
でも、シェルスクリプトを使ってRaspberry Piのセットアップを半自動化させているうちに、CLIの便利さがわかるようになってきました。
同じことを同じように何度も再現したいときには、GUIよりもCLIでシェルスクリプトを組んでいくほうが楽です。
おかげで今ではRaspbianOSセットアップは1コマンドで完了し、Raspberry PiにmicroSDカードを差し込んで起動したらそのままssh接続して1コマンドで初期設定が完了するようになっています。
CLIいいよCLI。