Raspberry Pi で複数 Wi-Fi の切り替えをする
自宅のWi-Fiやスマホのテザリングなど、公共の物ではなく安全な回線を自動的に選択して接続して欲しいときがあります。
そんな時に便利な設定です。
=MEMO= もしここに記載した方法でうまく行かない場合、Jessie の新しいバージョン($ uname -a で表示されるカーネルが4.4以上)である場合が有ります。その場合はテキストモードでWi-Fi接続を安定させる(Jessie)をご参照ください。
- 先ず、次のようにファイルを編集します。(GUIの方は gedit で構いません)
$ sudo nano /etc/network/interfaces
GNU nano 2.2.6 File: /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8) # Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d auto lo iface lo inet loopback iface eth0 inet dhcpallow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
- 複数箇所のIPアドレスを取得する為、固定アドレスは使用できませんので DHCP の設定とします。
- 有線LAN(eth0)の設定項目では auto eth0 の指定を省いてください。
これが存在すると、Wi-Fiを取得できません。理由は不明ですが経験的にそうしています。 - [Ctrl]+[o]➡[Enter]で保存、[Ctrl]+[x]で終了します。
- 次に Wi-Fi 親機に認証してもらう為の ID と Password を書いたファイルを構成します。
パスワードを暗号化する為に次のコマンドを実行します。
$ sudo wpa_passphrase WARPSTAR-8FE884 0046D824FE72C network={ ssid="WARPSTAR-8FE884" #psk="0046D824FE72C" psk=19f5f008061fd70d815cfa74377a73222e0e42df442f76225f73b30d9bd3fb18 } $ sudo wpa_passphrase AndroidHotspot9999 256tugh6755ef network={ ssid="AndroidHotspot9999" #psk="256tugh6755ef" psk=5162a3ce57038a908e5eda9e238f87f419e38f288ed327d77ea60dfa0f97019f } $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
- wpa_supplicant.conf の中に得られた暗号化パスワードを ID 共々書き加えます。
GNU nano 2.2.6 File: /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP priority=0 ssid="AndroidHotspot9999" psk=5162a3ce57038a908e5eda9e238f87f419e38f288ed327d77ea60dfa0f97019f } network={ proto=WPA #RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP priority=3 ssid="WARPSTAR-8FE884" psk=19f5f008061fd70d815cfa74377a73222e0e42df442f76225f73b30d9bd3fb18 }
これで保存して、再起動すれば Wi-Fi 電波の強い方を取ってくれるでしょう。