Raspberry Pi の WiFi を CLI で切り替える

Raspberry Pi をデスクトップで使う場合、WiFi を切り替えるのは簡単だ。タスクバーの WiFi アイコンから別の SSID を選んで接続すればいい。

しかし、CLI から WiFi を切り替えるにはどうすればいいか分からないでいたけど、やっと解決方法を見つけた。

Changing Wifi networks from the command line interface – Raspberry Pi Forums
https://www.raspberrypi.org/forums/viewtopic.php?t=179387

すなわち以下のようにする。

(1)/etc/wpa_supplicant/wpa_supplicant.conf を開く。

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

(2)現在接続中の SSID より大きい番号の priority を付けた network を以下のように追記する(priority の大きい順に Raspberry Pi は接続を試みる)。

 1country=JP
 2ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
 3update_config=1
 4
 5network={
 6        ssid="[現在の SSID]"
 7        psk="[パスフレーズ]"
 8        priority=1
 9}
10network={
11        ssid="[新しく繋ぎたい SSID]"
12        psk="[パスフレーズ]"
13        priority=2
14}

なお、パスフレーズのハッシュ化方法については先日書いた。

[Raspberry Pi] ハッシュ化したパスフレーズを生成する – with a Christian Wife
https://wacw.cf/2019/09/01/wpa-key-calculation/

(3)Raspberry Pi を再起動。これで新しい SSID に接続されるはずだ。