Raspberry Pi のWi-Fi設定(初期設定)

Raspberry Pi にOS(旧Raspbian)をインストールした後、Wi-Fiに繋げるセットアップ方法をご紹介します。

名前の変わった後のRaspberry Pi OSは、従来のWindowsやMacと同様に、簡単な操作で設定ができます。

しかし、Wi-Fiの環境によっては設定ファイルを直接書き換える必要も出てくるでしょう。

このWi-Fiの設定方法は、GUI環境とCUI環境で分けています。※GUI→ マウスだけで操作することで、CUI→confファイルの書き換えなどで設定します。

モニター、キーボード、マウスなどが用意できれば、GUIの方が難しくありません。

Network Managerの情報を追加しました。
ifdown、ifupコマンドの箇所を修正しました。
RaspbianからRaspberry Pi OSに名前が変更になり修正しました。

たくさん閲覧していただき、ありがとうございます。情報は随時、加筆・修正をしております。

この記事の主な流れ

今回の環境

この記事を最初にご紹介したときのOSは、RASPBIAN JESSIEというバージョンでした。以後、内容を書き換えて最新のRaspberry Pi OSに対応するよう修正しています。

基本はそれほど変わっていません。ご安心ください。

※2020年6月からはOSの表記がRaspbian→「Raspberry Pi OS」に統一されました。実は名称だけの問題で中身が変わった訳ではありません。※2020年はコードネームBuster、2021年10月からはBullseyeです。

  • Raspberry Pi OS(画像はRASPBIAN JESSIE WITH DESKTOP)
  • PCモニターに繋ぎ、キーボード、マウスも用意
  • 操作するマシンが必要(Windows10やmacOS)

Wi-Fiが装備されているRaspberry Pi Zero W/WHと3B/3B+、4Bならば同じ手順です。

今回はHDMI接続でモニターに接続し、キーボード、マウスも用意したフルセットで行いました。

Wi-Fi機能は国名(JP)が設定されていないと有効になりません。

Raspberry Pi Zero系は、Wi-Fiが2.4GHz帯しか対応していません。

Wi-Fiの設定(GUI編)

以下、dhcpcdがデフォルトになっているRaspberry Pi OSでの設定です。2022年9月にバージョンアップしたBullseyeでは、Netwrok Manager を指定できるようになりました。今後はNetwork Managerがデフォルトになる予定です。(他LinuxOSではNetwork Managerが一般的)

Wi-Fiに接続できていないRaspberry Pi OSのタスクバーには、線が2本赤いバツ印2個が表示されていると思います。

先ずはGUIでWi-Fiを設定する方法です。

wifi disable
図:Wi-Fiが未接続状態

このアイコンを左クリックして、Wi-Fiのアクセスポイント一覧が表示される場合は、使用したい任意のアクセスポイントを選んでください。

Wi-Fiのパスワードを入力する小さなウィンドウが出ますので、そこに入力すれば設定は可能です。スマホなどと同じですね。

2020年にコードネームBusterでセットアップウィザードが親切になりました。最初のセットアップ時、順番に答えて行けばWi-Fiの接続もそれほど難しくなくなっています。
初回ウィザード後に、この表示となる場合、他の要因が原因かもしれません。

初回セットアップウィザードをキャンセルせず順番に設定していきましょう。

アクセスポイントの名前が見える?見えない?(IPアドレスの固定)

アイコンを左クリックした時、アクセルポイント名が検出されズラズラと表示されるなら選ぶことになります。

アクセスポイントが見えない場合は、別設定が必要です。※見えている人は飛ばしてください。

下図の左から2個目のアイコンを右クリックして、Wireless&Wired Network Settingをクリックし設定画面を出します。

ここで言うアクセスポイントはWi-FiのSSID名です。

Wi-Fi設定
図:右クリックメニュー
Wi-Fi IPアドレス
図:IPアドレスの入力

ConfigureのプルダウンメニューからWi-FiなのでSSIDを選びます。

本来、その右側のプルダウンメニューでWi-FiのAP(SSID名)を選びます。

※仮に何も選べない場合は、検出できていません。国名(JP)が設定されていないとWi-Fi機能は有効になりません。
セットアップウィザードから設定するか、直接confファイルへ記述することで対応できます。

IPアドレスの設定方法

固定IPアドレスで設定した方が初心者は無難かも知れません。

IPアドレスの入力
図:SSIDの名称が長いと画面の大きさが変わってしまいます。ウィンドウサイズは無視してください。

Automatically Configure empty Optionのチェックを外します。手動にするという意味です。

下の項目を埋めます。(例:ルーターが192.168.0.1の場合)

IPアドレス:192.168.0.51 <−− 任意のアドレス
Router:192.168.0.1 <−− ルーターのアドレス
DNS Server:192.168.0.1 <−− ルーターのアドレス
DNS Search:(空欄で構いません)

この任意のアドレスでIPアドレスを固定することになります。

IPアドレスを入力したら適用します。適用 ーー> 閉じる

最後にWi-Fiのパスワード入力が促されます。これで接続完了です。

パスフレーズの入力
図:パスワードの入力
Wi-Fi接続完了
図:Wi-Fi接続完了

本来はルーターのDHCPサーバ機能から自動的に番号を振り出してIPアドレスを決定させます。この例では、最初に何もアクセスポイント名が出てこなかったため、明示的に繋げるルーターの設定しています。

任意のアドレスと記載したIPアドレスには、ルーターと同じセグメントである「192.168.X.XXX」で統一します。XやXXXの部分はご自宅の環境により異なります。

例えば、192.168.0.〜であればそこまで同じにします。

その後、最後の3桁部分は既存の数字と被らない数字を適当に選びます。通常であれば、2〜254の範囲です。

何台かWi-Fiの機器を使用していると、DHCP機能で若い番号から自動で振られます。ご自宅すべての機器が関係あります。仮に10台程度はあるとして、20番台からの番号を選べば被らないでしょう。

※ケースバイケースです。自宅ルーターの説明書を確認してください。

画像は51番にしています。分かりやすいように200番とか、100番とか、2桁なら99番とか振ってあげると分かりやすいですね。

個人的に好んで使うのは、51、49、99、39、などです。
理由は他の器機とあまり被らず覚えやすいから。

既に割り振っている番号は避けないとなりません。分からない場合は大きめの数字(例えば20以上)を割り振るとバッティングする確率は減るでしょう。

ザックリ解説!IPアドレスの範囲

一般的な例として「192.168.XX.XX」と表記しています。これが全てではありません。家庭内で使用する場合、機器台数も限られ構成を複雑にする必要も感じません。

市販の家庭用ルーターは、主に「192.168.11.1」「192.168.13.1」「192.168.0.1」「192.168.1.1」などが多く設定されています。
サブネットマスクはIPアドレスから導き出します。「255.255.255.0」で最後の桁をマスクしない場合が多いでしょう。
もし、3番目のセグメントも異なる場合、「192.168.11.X」「192.168.13.X」はサブネットマスクは「255.255.0.0」になります。

後でDHCPから自動的にIPアドレスを振る状態に戻すことも可能です。

ただ、RaspberryPiではSSHなど固定のIPアドレスで接続したいことも多いため、IPアドレスの固定をおすすめしています。

ホスト名での接続も可能

もしもDHCPから自動で番号を振ってSSHしたい時は、別途、ホスト名を設定すれば、それでも接続可能です。(例:http://ホスト名.local/

これも正確には「名前解決できる」という前提になりますが、一般的なパソコンのWindows10やmacOSであれば問題なく名前解決できますから気にしないで大丈夫です。

Raspberry Pi の場合は、sudo raspi-configまたはメインメニューのRaspberry Pi の設定から行えます。(ホスト名の変更)

Wi-Fiの設定(CUI編)

Wi-Fiの設定で必要なファイルは主に2つあります。

wpa_supplicant.confdhcpcd.confの2つです。それぞれ/etc以下にあります。

/etc/wpa_supplicant/wpa_supplicant.conf
/etc/dhcpcd.conf

自動的にIPアドレスを割り振る場合は1ファイルもしくは2ファイルで設定は完了します。順番にお試しください。

RaspbianのバージョンStretch以降では、interfacesは使用しないことになりました。

もう一度書きます。
/etc/network/interfacesは使用しないことになりました。

ネットには古い情報がまだ公開されています。

IPアドレスを固定にしたい場合、/etc/dhcpcd.confで設定します。中身は随分と長いです。場所を間違えずに入力設定しましょう。

Wi-Fi情報の設定はwpa_supplicant.conf

Terminalからwpa_supplicant.confを編集します。一度中身を見てみましょう。

catコマンドはターミナル内にファイルの中身をターミナル内に表示してくれます。

sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
network情報の追記
図:追加されたnetwork情報

Wi-FiのパスワードとなるPSK=の部分はセキュリティの観点からも暗号化した方が良い。ただ、暗号化するには別の作業が必要です。

平文のパスワードは、そのままabc...なら"abc..."でOK。

平文のままの場合はダブルクォーテーション("")で囲みます。暗号化のパスフレーズは囲わないままでOKです。扱う場所でダブルクォーテーションの役割も多少異なりますが、当時このwpa_supplicantではダブルクォーテーションなしでは平文のパスワードがエラーでした。

暗号化は同じRaspberry Pi OSの環境で作成出来ます。Linux以外の環境では難しいので、分からない人は平文のパスワード(パスワードそのままの記載)で設定してください。
セキュリティ云々はありますが、そこまで神経質にならなくても個人利用なら問題ありませんよ。

追記方法

wpa_supplicant.confの中身をnanoで開いて以下を記述します。

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
ssid="ssid" #接続する予定のWi-FiのSSID"で括る
psk="password" #パスワード
key_mgmt=WPA-PSK
}

key_mgmt=WPA-PSKの部分は、暗号方式により異なります。使用しているWi-Fiルーターの暗号方式に合わせます。

例では、WPA-PSKが「WPA/WPA2-PSK(AES)」という暗号化モードです。

すべてではありませんが、これまで家庭用のWi-Fiルーターではよくある形式です。

" "(ダブルコーテーション)で囲うのは、言語のルールなどに依り扱いが異なります。空白文字がある場合は囲い、英数字続きなら囲う必要ない振る舞いが多いです。逆に空白がないのに付けていても問題はありません。

コピペ用(平文パスワードの場合)

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

network={
ssid="ssid"
psk="password"
key_mgmt=WPA-PSK
}

この辺は、環境によって追加が必要な書き方がたくさんあります。

私が試行錯誤した結果、最低限でWi-Fiを認識させるのに、この7行で問題ありませんでした。
先程も書いたように、key_mgmt=は認証方法です。ルーターの設定などを確認して環境に合わせてください。

2020年以降にWi−Fi機器を増設、交換しましたか?

これでも繋がらない場合は、この設定ファイルの記述ミスも疑ってください。ケアレスミスは良くあります。

※例外として、ルーター側の個別設定の違いもありますので全てではないことはご理解ください。

確認
  • コピーしたコードに無駄な空白が入っている?(TABとスペースが混在していないか?)
  • ダブルコーテーションが全角だった?
  • スペルミス(特に自宅のSSID)
  • 最後の } の記述漏れ

中の記述はコメントを除き、空白も含めすべて半角英数字です。ちょっと気にしてみてください。

特に初心者が陥るのは、行の最後に空白スペースが入っていたりすることです。文章などのテキストファイルとは違いまして、このような記述には厳密なルールがあります。

同じ環境なら事前に用意してコピーもできる

Raspberry Pi OS(旧Raspbian)をインストールする度に設定するのも大変・・・。その場合は、Wi-Fiの設定(confファイル)を事前に用意してコピーする方法もあります。

いつも自宅の同じWi-Fi内なら、この作成したファイルを、Raspberry Pi OSを書き込んだmicroSDカード直下へコピーするだけで簡単に開始できます。

もしくは、OSを書き込むRaspberry Pi Imagerのオプション設定で、Wi-Fiのみならず言語設定など事前に設定することができるようになっています。

パスフレーズの暗号化

初めての人は無理に暗号化する必要はありません。一応、やり方を載せておきます。

PSK暗号化は同じくTerminalにて以下のコマンド書式です。

wpa_passphrase "XXXX(SSID)" "hogehoge(PASSWORD)"

これはコピー&ペーストして追記しても良いのですが、コマンドから追記することができます。
nanoの使い方が解らない場合は、以下のコマンドで追記することが簡単で確実です。

sudo wpa_passphrase "SSID名" "そのパスワード" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

暗号化が解らない時や上手く出来ない時は平文で大丈夫

先程も記載したように、平文のパスワードであっても、そこまで神経質にならなくても大丈夫です。

業務用であったりWi-Fi接続を他人と共有している場合や、自宅サーバーなどを公開している人は、むしろ暗号化してください。

個人で家庭内の利用なら、あまり恐れなくてOKと私は考えています。

もう一度、ここに wpa_supplicant.conf の記述を載せておきます。

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

network={
        ssid="ssid"
        psk="password"
        key_mgmt=WPA-PSK
}

記載のSSIDとパスワードは、ご自分の環境に読み替えて記述してください。

ネットワークのインターフェイス設定は必要無い

前述したように、基本的にRaspberry Pi OS (旧Raspbian)で、単にWi-Fiへ繋げるだけであればコマンドでの設定は必要ありません。初回のセットアップウィザードで設定できる場合がほとんどです。

以前のバージョンでは、どうしても設定ファイルをイジらないとなりませんでした。

【確認】/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

ここに記載のとおり、dhcpcdを使ってくれとあります。

固定IPの場合はdhcpcd.confに記述するようにとありますので、固定IPではなく、DHCPから番号を振られるならば、dhcpcd.confの設定も必要なくなりました。

Wi-Fiの再起動(コマンド)

Wi-Fiの起動・停止のコマンドは「ifup」と「ifdown」です。よく間違えます。 ifconfigです。

追記:コメント欄でご指摘ありました。ありがとうございます。修正しました。

ネットワークの扱いが変更になってから、ifコマンドも通らなくなりました。
ただ、ifコマンドは存在しています。

現行のRaspberry Pi OSでは、ifconfig を使ったコマンドで同じことが可能です。

—— ifqueryのステータスではloしか出ず、eth0やwlan0がありません。

以下のコマンドでWi-Fiの接続と切断(upとdown)が可能です。

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up

sudoを忘れずに。

sudo を忘れても、直前の操作なら、sudo !!とすることで、再度sudo付きでコマンドが実行されます。

ifdown wlan0 → 現在は効かない
ifup wlan0   → 現在は効かない

Wi-Fiは無線LANなので、wlan0を参照します。(有線ケーブル接続ならeth0)
おかしいなと思ったらdown、upしてWi-Fiの再起動をしてみることをオススメします。

※sshで接続しているときは繋がらなくなります。ラズパイにキーボードを繋げてあれば大丈夫です。

dhcpで固定IPの設定(CUI編)

変更しない固定のIPアドレスを振りたい時に、dhcpcd.confを編集します。コマンドで行います。

ラズパイを使用する時、いちいちキーボードやマウス、ディスプレイを取り付けるのも面倒です。複数台のラズパイを所持していると更に面倒ですね。

ラズパイ自体は電源アダプターのみで稼働させ、同じLAN内の他マシンからSSHで接続して設定や操作をする方が便利です。

IPアドレスが決まっていれば、SSHで接続するIPアドレスを毎回探す手間もなくなります。

これが固定ではない場合、電源を落としてからIPアドレスが変更になることがあります。(そのまま変わらないこともあります)

少なくても、ルーターの機器を再起動すると割り振りが変わります。

IPアドレスを調べるのは初心者には敷居が高いでしょう。初めの設定は面倒ですけど、初心者こそIPアドレスを固定化して運用してみてください。その後が楽ですよ。

編集方法

先程と同じようにcatコマンドでdhcpcd.conf中身を見てみます。

sudo cat /etc/dhcpcd.conf
dhcp
図:/etc/dhcpcd.conf

どうやって記述するのか? 数行に渡る書式の例をみてみましょう。

最下部デフォルトの例

#It is possible to fall back to a static IP if DHCP fails: # define static profile
#profile static_eth0
#static ip_address=192.168.1.23/24
#static routers=192.168.1.1
#static domain_name_servers=192.168.1.1
#fallback to static profile on eth0
#interface eth0
#fallback static_eth0

では、実際に編集してみましょう。

dhcpcd.confの再下段まで移動して記述してください。(追記します)

sudo nano /etc/dhcpcd.conf

下記例は、IPアドレスを192.168.0.51にしてルーターが192.168.0.1の場合です。それぞれのWi-Fi環境に合わせて変更してください。

結果として以下のように最下部へ追記してください。この例だと#fallback static_eth0の次の行から追記する形です。

例:IPアドレス=192.168.0.51、ルーター=192.168.0.1

interface wlan0
static ip_address=192.168.0.51/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

static=固定という意味です。

Wi-Fiなのでwlan0としましたが、有線LANならeth0です。

これで一度再起動してください。起動後は有効になっています。

主に設定する2つのファイル

長々と書きましたが、設定するのはたったの2つのファイルだけです。

  1. wpa_supplicant.conf
  2. IPアドレスを固定にするなら、dhcpcd.confへ追記

間違えてしまった場合、初めてだと一体どこが違うのか本人でも解らなくなることもあるでしょう。

先ずはマウスとキーボードを使いGUIで設定しましょう。それでも繋がらない場合は、設定の例を参考にCUIで直接設定してください。

コードネームBuster、2021年初頭のバージョンでは、Wi-Fiの設定は wpa_supplicant.conf だけで可能です。(※固定IPにする場合はdhcpcd.confも必要)

——例外として、Wi-Fiの出力と入力を同時に使いたい場合などは、従来のように/ete/network/interfacesにも別の記述が必要です。通常では必要ありません。

どうしても上手く行かない場合は、wpa_supplicant.confを上書き保存することで何度でもトライしてください。

他の設定も間違えて変えてしまった?

Raspberry Pi は、OSの準備に伴う手間が少なくなったので、新しいmicroSDカードで再トライするのも悪くありません。順番に確認して行えば、作業量は少ないのでスグに理解できると思います。

2020年からは、初回のセットアップウィザードが親切になりました。順番に進めて行けばWi-Fi接続で困ることはあまり無いでしょう。

もう一度初回セットアップウィザードを呼び出す方法もあります。

お疲れ様でした。以上でGUIとCUIの設定が終わります。

ルーターは難しいかも

Raspberry PiのWi-Fiとうよりも、ルーターの設定が難しいと思われるのではないでしょうか?

ここではルーターの設定には触れていません。メーカーによってもデフォルトの情報が異なるためです。勉強した人やエンジニアさんでないと、ネットワークの設定というのは素人には難しい部類だと感じています。

別の記事でも書いていますが、私の経験上、ルーターが2台ある人が多いのに驚きました!

ルーティングしているルーターが2台あるなら、何か意図することがあるハズなんです。一般的には家庭でルーターは2台も必要ありません。

増設するなら、Wi-Fiを飛ばす中継器やルーティング機能が無いブースターのような器機で済みます。(値段は変わらなくなってきたけど)

ブリッジモード(APモード)

手軽に購入できるようになったルーターを増設する場合、1台はルーティング機能をオフにするブリッジ接続(APモードとも言う)にしましょう。

つまり、内蔵のWi-Fi機能だけ使う。

ルーターのモードスイッチ(ルーターモードとAPモード)

画像:バッファロー製品ページより

Raspberry Pi を使うことで、実用的な簡易ネットワークを学べます。自宅内で活用するサーバーを設置するのは、導入コストも仕組みも手軽な時代になりました。


Network Managementへ

2022年9月6日のバージョンアップで、Raspberry Pi OSも他のLinux系OS同様に、dhcpcdからNetwork Managementへ移行していくことになりました。先ずは併用できるように組み込まれただけで、今後完全に移行する予定です。

詳しくはバージョンアップの記事を参照してください。

設定するためにconfファイルを触ることなく、マウス操作とダイアログ画面で設定できるようになります。多くの他OSと同様になるわけです。やっとという印象です。

どうやらデスクトップPCライクに使うことを意識してから、ツール類や細かなバージョンアップが目立つようになりました。bullseyeから適用になります。試してみてください。

——入門書におすすめRaspberry Pi 関連書籍——

最初は参考書が手元にあると安心です。合わせてラズパイダもブックマークもヨロシク!

¥3,025 (2022/06/13 22:22時点 | Amazon調べ)
¥2,860 (2022/06/13 22:24時点 | Amazon調べ)
シェアする
  • URLをコピーしました!

この記事のコメント(承認後に公開)

コメント一覧 (4件)

  • 最新のRaspberry Pi OSでも同じではないですね。
    ifup, ifdown コマンドは使えませんでした。

    • ご指摘をありがとうございました。気が付きませんでした。
      該当部分は追記しておきました。
      sudo ifconfig wlan0 down
      現行はifconfigに統一されています。

      試してみてください。

  • 無線の設定で苦心していたところ参考にさせていただきました。
    ありがとうございます。
    ところで 3Wi-Fiの設定(CUI編) 内のコマンド
    sudo cat /etc/wpa_supplicate/wpa_supplicant.conf
    及び
    sudo nano /etc/wpa_supplicate/wpa_supplicant.conf
    ですが、フォルダ名はどちらも
    /etc/wpa_supplicant
    が正でしたので、修正をお願いいたします。

コメントする

コメントは日本語で入力してください。名前は表示されます。メールアドレスは表示されません。

CAPTCHA

この記事の主な流れ