ものづくりブログ

ゼロからスタートして何かを作って世に出すまでのことを書くブログです.

Raspberry Piで無線LANの接続設定を行う

f:id:daisukekmr:20150119214909j:plain

 

こんにちは。

 

前回はラズパイの 最低限の設定を行い、ssh接続を行いました。

今回は無線LAN経由でssh接続できるように設定したいと思います。

 

こうすることで、ラズパイに接続するケーブルは電源のみになります。すっきりですね。

 

 

まずは前回同様、LANケーブルを接続し、sshでラズパイにアクセスします。

ログインが完了したら、下記の行が表示されるはずです。

 

pi@raspberrypi$

 

この文字列がコマンドを待機していることを意味しています。ここに、以下のように入力してください。

 

sudo nano /etc/network/interfaces

 

ここで、sudoは管理者権限(root権限)でコマンドを実行することを表しています。

nanoはテキストエディタの名前です。この後にファイル名を入力すると、nanoでそのファイルを開くことが出来ます。

interfacesが今回開くファイル名で、/etc/network/はそのファイルが格納されているディレクトリ(フォルダ)を表しています。

このファイルはネットワークの接続に関する設定が書かれているものです。

 

さて、上記のコマンドを実行すると下記の画面が表示されます。

f:id:daisukekmr:20150119222047p:plain

 この内容を以下のように記入します。

auto lo

 

iface lo inet loopback

iface eth0 inet dhcp

 

allow-hotplug wlan0

iface wlan0 inet manual

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

 

auto lo

iface lo inet loopback

この2行はOSが動作するために必要な行で、今回は気にする必要はありません。

その次の行の、

iface eth0 inet dhcp

これは有線LANで接続した場合の設定を表しており、DHCP(自動的にIPを割り振る仕組み)を使用することを表しています。

ここをdhcpからstaticに変更して、次の行以降でIPアドレスサブネットマスクなどを指定するといつも同じIPを使用することが出来るのですが、ここでは使用しません。

 

その次以降が無線LANの設定です。

allow-hotplug wlan0

この行でホットプラグイベント(*1)が発生した際にwlan0を起動することを指定し、

iface wlan0 inet manual

この行は無線LANのIP設定をマニュアル、すなわち手動にするとなっているのですが、実際は一番下の行で

iface default inet dhcp

としているためか、DHCPで動的にIPが取得できています。正直イマイチ理解できていません。

もしかするとこんな回りくどい方法を取らなくともmanualとなっているところをdhcpに書き換えるだけで動くのかもしれませんが、現状この記述で動いているので私は変えていません。

残りの以下の行ですが、

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

この行は無線LANアダプタの設定を、wpa_supplicant.confに記述していることを表しています。

 

編集が完了したらcontrol+Oで上書き保存し、control+Xで終了すれば、/etc/network/interfacesの編集は完了です。

 

次に、上記で無線LANアダプタの設定を記述していると書いた/etc/wpa_supplicant/wpa_supplicant.confの編集です。

 

まず自分が使っている無線LANルータのSSIDとパスワードを調べます[1]。

仮に、

SSID: SSIDtest

パスワード: Passwordtest

として進めます。

 

sudo sh -c "wpa_passphrase SSIDtest Passwordtest >> /etc/wpa_supplicant/wpa_supplicant.conf"

と入力します。赤文字は自分のSSIDとパスワードです。

これにより、/etc/wpa_supplicant\wpa_supplicant.conf内のSSIDとpasswordを変更することが出来ます。

 

実際にどのように書き込まれたか見てみます。

sudo cat /etc/wpa_supplicant/wpa_supplicant.conf

と入力すると、以下のように表示されるはずです。

 

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={

ssid="SSIDtest"

#psk="Passwordtest"

psk=自動的に入力される暗号化キー

}

 

自分がラズパイを使用する環境が1か所だけでない場合は、複数設定する必要があります。その場合は以下のコマンドを実行することで設定を追加できます。

 

sudo sh -c "wpa_passphrase SSIDtest2 Passwordtest2 >> /etc/wpa_supplicant/wpa_supplicant.conf"

 

以下のようにcatコマンドを使用して中見を見てみると、設定が追加されているはずです。

 

 sudo cat /etc/wpa_supplicant/wpa_supplicant.conf

 

ちなみに、shコマンドを実行する際に、">>"でなく">"としてしまうと、追加ではなく上書きしてしまうため注意が必要です[2]。

 

さて、ここまでで無線LANの設定が完了しているはずですので、テストしてみます。

 

まずOSをシャットダウンして、

 

sudo shutdown -h now

 

ラズパイ本体の緑のLEDの点滅が終わって赤いLEDの点灯のみになったら電源を抜き、無線LANドングルがUSBポートに刺さっていることを確認し、LANケーブルを抜いて電源を指してみましょう。

 

しばらく待ってからssh接続を試みると、

 

ssh -l pi raspberrypi.local

 

パスワードを聞かれたら成功です。

 

基本的な環境が整ったので、次回からは少しずつラズパイでどんなことが出来るか見ていきたいと思います。

 

参考文献

[1]Qiita「Raspberry Pi + 無線LAN セットアップ(http://qiita.com/daicham/items/e24ce76f8815d339d070)

[2]OpenRTM-aist「Raspberry Pi の初期設定」(http://openrtm.org/openrtm/ja/node/266)