2013-07-09

Raspberry Piを無線LAN対応させてみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
Raspberry Piはちっちゃいです。

なのでどんなところにも置けちゃいます。

いろんなところに置いて使うためには、ケーブルは少ないに限ります。

というわけで、無線LANに対応させてみました。


利用した無線LANアダプタは、BUFFALOのWLI-UC-GNMです。
せっかくなのでRaspberry Piに似合いそうなちっちゃいものを選びました。



私の環境は、
Raspberry PiのOSはRaspbian

無線LANの暗号化方式は、WPA-PSK-AES

IPアドレスはDHCPで配布されています。


まずはRaspberry PiのUSBポートに無線LANアダプタをさして、電源をいれてRaspbianを起動します。
これで無線LANアダプタはちゃんと認識されています。

ターミナルを起動して
sudo lsusb
とすると以下のように認識されているUSB機器一覧を見ることができます。

Bus 001 Device 002: ID 1234:5678 Standard Microsystems Corp.
Bus 001 Device 001: ID aaaa:bbbb Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0000:cccc Standard Microsystems Corp.
Bus 001 Device 004: ID 0404:0101 BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070]


また
sudo ifconfig
とするとwlan0としてインタフェースを認識していることもわかります。

eth0      Link encap:イーサネット  ハードウェアアドレス xx:xx:xx:xx:xx:xx
          inetアドレス:192.168.1.2 ブロードキャスト:192.168.1.255  マスク:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:729 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:608 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000
          RXバイト:70431 (68.7 KiB)  TXバイト:95914 (93.6 KiB)

lo        Link encap:ローカルループバック
          inetアドレス:127.0.0.1 マスク:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  メトリック:1
          RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:0
          RXバイト:0 (0.0 B)  TXバイト:0 (0.0 B)

wlan0     Link encap:イーサネット  ハードウェアアドレス xx:xx:xx:xx:xx:xx
          UP BROADCAST MULTICAST  MTU:1500  メトリック:1
          RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000
          RXバイト:0 (0.0 B)  TXバイト:0 (0.0 B)


ここからが無線LANの設定です。
無線LANのssidがSSIDで、パスフレーズがPASSPHRASEだとします。

設定の基本情報を最初に作成します。
sudo wpa_passphrase SSID PASSPHRASE >> /etc/wpa_supplicant/wpa_supplicant.conf

これで設定の基本部分が記載されます。
以下のような感じになっていると思います。
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

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

network={
        ssid="SSID"
        #psk=PASSPHRASE
        psk=dc111d5dc0a222b3bb3333ab65be37b5e44dfb6da5555b6666ac7777777de688
}

これを以下のように修正します。

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

network={
        proto=WPA
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        priority=2
        ssid="SSID"
        psk=dc111d5dc0a222b3bb3333ab65be37b5e44dfb6da5555b6666ac7777777de688
}

※上記ではなくて、こっちの方がよいかもしれないです。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        proto=WPA WPA2
        key_mgmt=WPA-PSK
        pairwise=CCMP TKIP
        group=CCMP TKIP
        ssid="SSID"
        psk=dc111d5dc0a222b3bb3333ab65be37b5e44dfb6da5555b6666ac7777777de688
}

次に起動時に無線LANに接続するように設定します。
sudo vi /etc/network/interfaces
以下のように修正します。

auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

設定が完了したら再起動をします。
sudo reboot

再起動後に
ifconfig
を実行してみてwlan0にIPが振られていればOKです。

以下が参考になりました。
http://linux99.exblog.jp/i3
http://firtel.blogspot.jp/2012/09/raspberry-pilan.html


まだ使い始めて、それほど立っていないのですが問題なく使えています。

他に無線LANに対応する方法として、以下のような機器をコンバータとして利用して、無線を受けてRaspberry Piと有線でつなぐというのもよいかもしれないです。
これであれば、無線LANの設定はいらないので簡単ではあります。





追記:2013/07/26
IPアドレスをDHCPで取得しているので、時折IPアドレスが変わってsshで接続するために調べなおすといったことをしていました。
ちょっと面倒なのでホスト名で接続できるようにします。

仕組みとしては、zeroconfというものを使います。

raspberry piの方にはavahi-deamonというのを入れます。

以下を実行すればインストールされますし、自動起動するようになります。

sudo apt-get install avahi-daemon

特に設定をいじっていなければ
raspberrypi.local
というホスト名で利用できるようになります。

raspberry piのターミナルで
ping raspberrypi.local

として返答があれば、うまく設定されています。

そしてrasberrypiにsshで接続するwindows側の設定です。
一番簡単なのはiTunesをインストールすることです。
一緒にインストールされるBonjourというものが重要です。

ホスト名での接続に関して、以下が参考になりました。
http://openrtm.org/openrtm/ja/node/266



無線関連以外にもRaspberry Piを利用する上で必要そうなものをまとめてみました。
http://kingyo-bachi.blogspot.jp/2013/08/raspberry-pi.html
コメントを投稿