2013年11月22日金曜日

Raspberry Piをワイヤレス化してみた


Raspberry Piをワイヤレス化して遠隔データロガーにしようと誰でも考えると思いますが、ワイヤレスコネクティビティが搭載されていないので後付けしてあげる必要があります。たとえばWi-Fiが使える環境なら、USBの無線LANアダプタを使うことでワイヤレス化できます。

今日日、ラップトップやタブレットはWi-Fi標準装備のものばかりでしょうから、後付けのUSB無線LANアダプタの需要は少ないように思いますが、結構流通はあるようで、案外安く手に入ります。中でもBUFFALOのWLI-UC-GNMは、Amazonでわずか600円(しかも通常配送料無料)で手に入るという手軽さ。ポチらずにはいられませんね。Web上の記事によっては、WLI-UC-GNMはLinuxでは使えない(動作実績がない)、というも記載も見られますが、まぁチップベンダ(MediaTek)でドライバ配布してるっぽいしなんとかなるだろ、という根拠のない自信のもと、今回Raspberry Piに接続してみたらあっさり動いてしまったので、とりあえずその辺の手順をメモっておきます。

とりあえず繋いでみる

何は無くともUSBコネクタに挿してみて、いろいろ情報を覗いてみましょう。ということで繋いでみたんですが、それまでEthernetでSSH接続していたターミナルのウィンドウが突如クローズしてしまいました。どうやらRPiのネットワーク接続が一時的に途切れてしまったようです。ハングでもしたのかとあせりましたが、すぐにSSH接続を再開できたので、あくまで一時的な現象のようです。

さて、再開したターミナルからまずはdmesg。
接続されてますね。ベンダIDとプロダクトIDはWindowsに接続してデバイスマネージャを見てみると一致を確認できます。チップベンダはRalinkですが同社はMediaTekに買収された模様。

lsusbは
こんな感じ。いらっしゃいますねバッファローさん。

無線LANインタフェースの状態を調べるというiwconfigを見てみると
とりあえずwlan0デバイスができていることがわかります。ためしに外した状態と比べてみるといいでしょう。

ドライバは
ということで、これも接続前と比べてみれば、rt2800usbというのがロードされいることがわかります。
このドライバが問題なく動いてくれれば、意外と面倒な手順なしに夢のワイヤレス化が実現できそうです。

接続設定する

ここからは実際に無線LANを使えるようにするための設定をします。暗号化方式によって手順が違う場合があるようです。以下は我が家の環境、WPA2(AES)での実施例です。

IEEE 802.11i通信を無線LANクライアントに提供する、というツール、wpa_supplicantの設定を行います。このツールはRaspbianでは/sbin/wpa_supplicantにプリインストールされていると思いますが、無い場合でもsudo apt-get install wpasupplicantでインストールできそうです。
んで、設定ファイルをいじるんですが、root読み書きのみのパーミッションになっているので、otherにも権限を付与してから書き込みします。セキュリティが気になる場合は、あとで戻すといいでしょう。
それからESSIDと事前共有キーが必要です。あらかじめWi-Fiルータの設定を確認するなどして調べておきます。
エディタで開いて、少し付け加えます。
次にバックグラウンドで動いているwpa_supplicantを一旦止めてから再起動します。
コマンド行の末尾に" &" を加えてバックグラウンドプロセスとして起動します。

再起動したらiwconfigを見てみます。
さっきと違ってESSIDとアクセスポイントの情報が入りました。いい感じっぽいですね。

ためしにDHCPでIPアドレスを取得してみます。
IPアドレスが割り当てられたら、もうLANケーブルを外してWi-FiでSSH接続できるはずです。

最後に、起動時に有効になるよう設定を加えておきます。
これでおk。もはやRPiを縛るものは電源用のアンビリカルマイクロUSBケーブルのみとなりました。次はワイヤレス給電化を・・・やりませんよ^^。バッテリー化はすると思います。


参考情報

RPi Ralink WLAN devices - eLinux.org
Linuxで無線LANを使おう(Fedora) - LinuxMania

0 件のコメント:

コメントを投稿