cayman-5’s TechStudio

テクノロジーを源泉に世の中に本質的な価値のあるものを作り、浸透させたい。サービスの企画・開発からグロースまで一貫したプロダクトマネジメントが強み。価値を宿すプロダクト作りを信条に。グロースハック/プロダクトマネジメント/RaspberryPi/フィジカルコンピューティング/IoT/Rails/PHP/Python/Google Analytics/Google Tag Manager/Google Optimize エンジニアリングバックグラウンドで今はとあるIT企業で事業部長兼プロダクトマネージャ。個人

はじめてのRaspberryPi(Jessie)-(3)-無線LANでのネット接続入門-

はじめてのRaspberryPi第3回!今回は無線LANの設定をしてみたいと思います! 前回までの記事でJessieになって多少設定が変更されたところを含めてRaspberry Piの初期設定と

cayman-5-tech.hatenablog.com

SSH及びGUIでのリモートログインによる遠隔操作

cayman-5-tech.hatenablog.com

の設定を行ってきました!

今回はこれまで有線LANでインターネットに繋いできたRaspberry Piを無線LANで接続してみようと思います。

使うものはこれ!

それでは1つずつ設定していきましょう(^O^)/

無線LAN機器の接続状況確認

まずRaspberry Piはこんな感じです!有線LAN、電源、無線LANアダプタが差し込まれた状態で手持ちのMacからSSHでリモートログインして作業してます。

f:id:cayman-5:20151107221300j:plain

まずこの状態で無線LAN機器の接続が認識されているかチェックしましょう。ターミナルからSSHでラズペリーパイにリモートログインして

lsusb

と入力すると 接続されているデバイスの情報がでて来ると思いますがその中に PLANEX GW-USNano2 802.11n Wireless Adapter があれば認識されています!もし見当たらなければ一度差し込み直せば多分認識されるかと思います。

では接続可能な無線のスキャンをしてみましょう!

入力コマンド

sudo iwlist wlan0 scan | grep ESSID

このコマンドを入力すると接続可能な無線ネットワークの一覧がでてきます。その中に接続したい無線ネットワークがあるか確認してみてください。

無線接続設定情報の設定ファイルへの書き込み

次は接続したい無線LANの情報を設定ファイルに書き込んでいきましょう。 そのまえに設定ファイルをいじるためのソフトvimをインストールしておきましょう。

sudo apt-get install vim

インストールが終わると設定をはじめましょう。 最初の設定ファイルの場所は /etc/wpa_suoplicant/wpa_supplicant.conf になります。

まずは以下のコマンドで自分が接続したいネットワーク名とパスワードを入力してPSKというハッシュ化された暗号を表示してみましょう。

sudo wpa_passphrase 接続先のネットワーク名 接続先のパスワード

例えば接続したいネットワークがraspi-net,パスワードがraspiraspiだとこんな感じです。

sudo wpa_passphrase raspi-net raspiraspi

と入力して実行すると

f:id:cayman-5:20151107212058p:plain

network={ ssid="raspi-net" #psk="raspiraspi" psk=7597e8247768577fe2f3c87bfab3ee53a650d55f23d8c32e37037ea7dc7b3da3 }

という結果が表示されます。この結果を先ほど説明した設定ファイルに書き込みますがそれには以下のコードを使います。 まずは

入力コマンド

sudo chmod 660 /etc/wpa_suoplicant/wpa_supplicant.conf

と入力して実行してください。

次に先ほど説明したwpa_passphraseコマンドを用いて

 sudo sh -c 'wpa_passphrase 接続先ネットワーク名 接続先パスワード >> /etc/wpa_supplicant/wpa_supplicant.conf'

というコードを入力し、実行しましょう。

sudo vim /etc/wpa_supplicant/wpa_supplicant.conf

すると

このように先ほど入力したネットワーク名とパスワード及びパスワードから生成されたPSKが書き込まれていると思います。

vimの使い方に関して簡単に説明すると よく使われるエディタなんですが 通常モードと入力モードがありましてファイルの編集は入力モードで行います。 vimでファイルを開いた状態で iを押すと入力モード、 ESCを押すと通常モードに戻ります。

なのでvimはじめての人は基本的には通常モードのママ編集したい場所にカーソル移動してiを押して入力モードに移行して文字を編集、編集後にescを押して通常モードに戻って次の編集箇所に移動・・・という感じで使用するのがいいかと思います。 そして保存と保存しないは通常モードで :wq! (保存して終了) :q! (保存しないで終了) と入力してエンターを押すことでvimウインドウが終了してターミナルに戻ります。

ざっくりとしたvim解説ですがとりあえず初心者のかたは上記の使い方で実行してみてください。

もし編集中にうまく行かなくて元に戻せずやばいと思った時は通常モードから:q!で終了すれば保存されずに終了するのでそうしてください笑

それではさきほどネットワーク名とパスワードを追記したファイルにさらに設定情報を追記しましょう。 以下のように設定してみてください!

追記する部分は以下の部分です。

proto=WPA2
key_mgmt=WPA-PSK
pairwise=TKIP CCMP
group=TKIP CCMP

f:id:cayman-5:20151107212513p:plain

※もしこれでうまくいかない場合はTKIP CCMPをCCMPだけに、もしくはWPA2をRSNにすることでうまくいく場合もあります。

vimで上手く追記ができたら:wq!で保存して終了してください。

これで一つ目の設定ファイルへの書き込みは終了です。

/etc/network/interfacesを編集

次に2つ目のファイルを編集します。 ファイルの場所は/etc/network/interfacesです。 同じようにvimで編集してきましょう。

sudo vim /etc/network/interfaces

ファイルの中にある auto lo と書かれている行以下を編集します。 auto lo 以下を一旦消して このように編集しましょう。

auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

f:id:cayman-5:20151107212100p:plain

編集が終われば保存して終了します。

ここまでで設定の大部分は終わりました。一旦以下のコマンドで再起動をしてみましょう。

sudo reboot

再起動されたRaspberry PiにSSHで接続して

iwconfig

と入力して実行してみましょう。 そうすると表示されるESSIDのところに接続したいネットワーク名が表示されていれば接続できています!

あとは無線経由でSSHで接続するだけです!有線LANを抜いてそのあと電源ケーブルを一度抜き差ししてRaspberry Piを再起動してください。

その後過去にも紹介したLanScan等のネットワークスキャナソフトで同じネットワークを調べると

f:id:cayman-5:20151107213010p:plain

このようにRaspberry Piにつないだ無線LANアダプタにIPが振られていると思います!

このIPでSSH接続を行うと無線LAN経由でリモートログインができるはずです!(^O^)

もし接続したいネットワーク名が表示されず、上手く接続できていない場合、設定ファイルに間違いがないか確認してください。

wpa_supplicant.confに設定する値に不安がある場合

sudo iwlist wlan0 scan

と入力して実行すると接続可能な無線ネットワークが表示されると思いますが そこに表示される自分が接続したいネットワークの欄に以下の様な情報が表示されていると思います。

================================================= Cell 36 - Address: aaaaaaaaaa ESSID:"" Protocol:IEEE 802.11bgn Mode:Master Frequency:2.462 GHz (Channel 11) Encryption key:on Bit Rates:144 Mb/s Extra:rsn_ie=aaaaaaaaaaaaaaaaaaaaaaaaaaaaa IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : TKIP Pairwise Ciphers (2) : TKIP CCMP Authentication Suites (1) : PSK ==================================================

ここに表示されている IEがWPA2の場合wpa_supplicant.confのprotoはWPA2でいいのですが WPA1の場合はprotoはWPAになるようです。

これを参考にwpa_supplicant.confを書き直すとうまくいくかもしれません。

パワーマネージメント機能をオフにする

無線で接続していると無線がブチブチ切れるという問題が発生する時があります。これはWi-Fiにあるパワーマネジメント機能の弊害なのでそれをOFFにしちゃいましょう!

sudo vim /etc/modprobe.d/8192cu.conf

  で新しく設定ファイルを作成し、編集モードにして

options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1

と書き込んで保存してvimを終了してください。

一度再起動してみて

cat /sys/module/8192cu/parameters/rtw_power_mgnt

と入力して実行すると0が表示されれば設定がうまく行っている証拠です!

以上で無線LANでの設定は終了です! ただ今回はDHCPという動的にIPアドレスが振られる方法で設定しました! これはRaspberry Piの電源を入れ直す度にIPアドレスが変わる可能性があります。 その度にLanScan等でIPアドレスを調べるのは非常に手間ですね。

それへの対策としてIPアドレスを固定する方法があるのです!

それはまた次回に紹介します!

もし気に入っていただけたらはてブ、シェアお願いします\(^o^)/