かめねこ広告

raspberry Pi3に複数のwifiへ自動接続してもらう

raspberry Pi3、手軽ですよね、お気に入りのおもちゃです。
お気に入りなので色々な所に連れて行くわけですよ、それこそペットのように散歩に出かけたりするわけです。
散歩中に構築した環境やサービスをサクッと使いたい!って時にモニターやLANケーブルを繋いだり、リモートデスクトップやSSHが使えないんじゃ意味がないわけです。
と、いう事で複数のWi-Fi設定を事前に作成して、自動的に自宅や外出先でサクッと繋がるようにしてしまいましょう、wpa_supplicantを使います。
所要時間:15分くらい

複数 Wi-Fiの接続設定の概要

raspbianで使えるwpa_supplicantは、様々なプラットフォームで無線LANの接続を助けてくれるツールです。(ざっくり説明)
Linux系やMacOSでも使われているのでしょう、多分。
前回の記事


上記の記事でセットアップしたraspberryPi3(raspbian)にネットワーク設定とWi-Fi接続設定を追加します、自宅Wi-Fiと会社や学校のWi-Fi、出先でも他のネットワークに接続する事を容易にするために、raspberryPi3をiphoneのテザリング(インターネット共有)でも使えるようにしておきましょう、確実にネットワークに繋がる手段を持っておくことで、外出先などで新規ネットワークを設定する事が出来るので便利です。
モバイルルーターやテザリングで接続してSSH、新規Wi-Fi設定を追加って事が出来るようになるので困らないわけですね。
かめねこのほほぅ

作成と編集するファイル

  • Wi-Fiの接続設定は /etc/wpa_supplicant/wpa_supplicant.conf
  • ネットワーク設定は /etc/network/interfaces.d/wlan.conf

Wi-Fi設定はwpa_supplicant.confに、ネットワーク設定はinterfaces.dから読み込まれるので直下にwlan.confを作成して別々に記述します。
/etc/network/interfaces ではないです、interfaces.dの下に設定ファイルを作ります、それでは設定を書いていきましょう。

wpa_supplicant.confの設定と編集

まずは Wi-Fiの接続情報を設定するためにwpa_supplicant.confを編集します。
前回の記事で作成したファイルを編集する前に事前にそれぞれの設定をメモしておきます。

かめねこ注意:raspberry Pi3 のネットワーク仕様はIEEE802.11b/g/n(2.4GHz) です。
つまり5GHzには対応していないのとIEEE802.11ac にも対応していないので、接続できません。

設定する項目の簡単な説明

  • SSID
    SSIDはダブルクォーテーションで囲います”SSID”←こんな感じですね。
    16進数(HEX)の場合クォートは不要です、WEPで使っていたような気がする。
  • 接続パスワード、パスフレーズ
    ダブルクォーテーションで囲います”ぱすわーど”←こんな感じ。
    wpa_passphraseを使用した場合は””は不要です。(詳細は後述)
  • proto
    書かなくても接続できる場合が多いですが、なぜか書かないと繋がらない場合があったので敢えて記入する。
    もう少し詳しく調べないとダメですね(適当)
    WPAとかWPA2等で少し内容が変わります。
    WPAの場合はproto=WPA、WPA2はproto=RSNって感じです。
  • priority
    接続の優先順位を決める事ができます、通常はnetworkセクションで電波強度の強いものが優先されるはずですがpriorityで優先度を変更する事が出来るみたいです。
    ちょっと使いどころが想像できないですが、使用する場合は数字が大きい方が優先されます。
    例:priority=5
  • id_str
    任意の識別子です、これも””で囲います。
    個別でネットワーク設定を行う場合に必要なのでしょう、書いておきます。
  • scan_ssid
    ルーターでSSIDのステルスを有効にしている場合は1を設定します。
    例:scan_ssid=1

設定する項目は接続先の無線ルーターによって異なるので事前に確認して整理しておきましょう、それぞれのルーターの接続方式やセキュリティ方式、SSIDとパスワード等を確認して下記を参考にnetwork{}内に記入します。

wpa_supplicant.confを編集する

さて、事前に設定項目も調べたので前回の記事でセットアップしたraspberry pi3にログインして編集します。
今回もMacから接続して編集します、ラズパイの電源ケーブルを接続してMacのターミナルから下記のコマンドを実行します。

ssh pi@raspberrypi.local

そしてパスワードを入力してログインします。
デフォルトのパスワードはraspberryですね。

nanoで編集する

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

viで編集する

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

お好きなエディタで編集してください、かめねこはviで編集します。
ラズパイ-Wi-Fi設定画像1
前回設定した内容が書いて有ると思います、これに書き足すも良し、消してから書くも良し!
ただし、networkセクションの前におまじないを書かないとダメなので1行目から3行目は消さないようにします。

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

それではそれぞれのルーター設定を下記を参考にコピペして適当に編集しましょう。

WPA、またはWPA2パーソナルの場合

行頭に#を付けるとコメントアウトされる、メモに使用したり不要なオプションを無効にする場合に使っています。
※ネットワークセクション内でスペースを使用するとエラーになります、インデントはタブで行います。

network={
# Wi-Fi 接続先1 
#
# SSIDは""で囲う
    ssid="SSIDを記入"
#
# 平文のパスは""で囲う
    psk="パスフレーズ"
#
# WPA-PSK,WPA-EAP,NONE
    key_mgmt=WPA-PSK
#
# WPAの場合はWPAに変更する、WPA2の場合はRSN
    proto=RSN
#
# 接続の優先度、数字が大きい方を優先
    priority=0
#
# ステルスモードの場合は scan_ssid=1 に変更
    scan_ssid=0
#
# 任意の識別子、ネットワーク設定ファイルで使用している
    id_str="識別子"
}

 WPA/WPA2(mixed mode)の場合

mixed modeは接続側が対応していればWPA2を使用する方が良いのでしょう、多分。
ラズパイはWPA2で問題ないので上記を参考に設定します。

WEPの場合

WEPでの接続を試す環境がないので自信ないですが。
概ねこんな感じで繋がると思います。

network={
    ssid="SSIDを記入"
    wep_key0="WEPキー"
    key_mgmt=NONE
    wep_tx_keyidx=0
    priority=0
    id_str="識別子"
}

iphoneのテザリング(インターネット共有)

  • SSIDとパスワードの確認方法
    iphone設定→インターネット共有→インターネット共有をオン
    オンにすると”共有中のネットワークは〜〜”という感じでSSIDが表示されます。
    ラズパイ-Wi-Fi設定画像2
  • iphone設定→一般→情報→名前
    SSIDを変更する場合はこれを変更する事で変わります。
    ラズパイ-Wi-Fi設定画像3
  • パスワードの変更は Wi-Fiのパスワードをタップして変更する
network={
    ssid="kameneko"
    psk="kameneko-pass"
    key_mgmt=WPA-PSK
    proto=RSN
    priority=0
    id_str="iphone"
}

iphoneは参考画像の内容で書くとこんな感じになります。

今回は複数のWi-Fi接続の設定を書くので必要数をコピペして編集します、かめねこは3個ですね。
ラズパイ-Wi-Fi設定画像4
必要な数だけネットワークセクションを下に追加していきます。
ひよこ画像
次はネットワーク設定を書いていきますが、またもや少し長いので次のページにしましょう。

コメント