あっかぎのページ

Raspberry Piの無線化

20150219_8

Raspberry Piのインストールと起動ができましたので、今回は無線化します。

前回はUSB-シリアル変換ケーブルを使ってノートPC環境でRaspberry Piを動かせるようにしました。

今回はUSB無線アダプタを使うことによって、前回使ったUSB-シリアル変換ケーブルをなくしてしまいます。無線化によってRaspberry Piは電源ケーブルだけで動く環境を作ることができます。(もちろんトラブル時にはUSB-シリアル変換ケーブルをつないで直接状況を把握することも大切ですね)

手順

  1. USB無線アダプタの入手
  2. /etc/network/interfacesの編集
  3. /etc/wpa_supplicant/wpa_supplicant.confの編集
  4. 再起動&確認

順番に説明していきます。

USB無線アダプタについてはBAFFALOのWLI-UC-GNMがおすすめです。安い・小さい・実績ありの3拍子です。

USB無線アダプタが手に入ったら設定ファイルの編集です。まずは/etc/network/interfacesの編集です。

$ sudo /etc/network/interfaces
 --- /etc/network/interfaces ---
 auto lo
 iface lo inet loopback
 iface eth0 inet dhcp

 allow-hotplug wlan0
 iface wlan0 inet dhcp
 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
 iface default inet dhcp

変更点は6行目:manual -> dhcp と7行目:wpa-roam -> wpa-conf です。

続けて/etc/wpa_supplicant/wpa_supplicant.confです。

$sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
 --- /etc/wpa_supplicant/wpa_supplicant.conf ---
 ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
 update_config=1
 network={
         ssid="SSID"
         psk="PASSWORD"
 }

$sudo reboot

3行目~6行目までを追加します。SSIDとPASSWORDは無線LANの環境に合わせて設定してください。編集が終わればsudo rebootで再起動します。

最後にifconfigでIPが取得できていることを確認します。

$ ifconfig
...
wlan0     Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff
          inet addr:192.168.3.100  Bcast:192.168.3.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5162 errors:0 dropped:1539 overruns:0 frame:0
          TX packets:1543 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1147607 (1.0 MiB)  TX bytes:157903 (154.2 KiB)

後半のwlan0に関する表示にinet addr:192.168.1.10などIPが取得できていれば無線化が完了です。

無線のIPが取得できたのでTera Termを落としてシリアル通信を終了します。

再度Tera Termを立ち上げて今度は無線で接続しましょう。Tera Termが起動すると最初の選択画面で「TCP/IP」を選んで先ほどのRaspberry Piの「IPを入力」して「サービス」の「SSH」を選択します。他はデフォルトにして「OK」を選択します。

うまく設定ができていれば「SSH認証」という画面が立ち上がってユーザー名とパスフレーズの入力を求められます。ユーザー名はpiパスフレーズはraspberryです。コマンドプロンプトの画面になれば見事に無線で通信ができるようになりました。これで通常時はUSB-シリアル変換ケーブルも不要となって無線で作業ができるようになりましたね。

お疲れ様でした。

補足

無線化にあたって2つ作業をしています。

  • 無線LANのPASSWORDの暗号化
  • DHCP->固定IP化

無線LANのPASSWORDの暗号化

無線LANのPASSWORDが平文で設定されているので暗号化します。下記のコマンドで自分の無線LAN環境のSSIDとPASSWORDを入力すると暗号化されたpskが出力されます。このpsk部分を/etc/wpa_supplicant/wpa_supplicant.confに書き換えます(書き換え時に””がいらないことに注意します)。もともとのpsk行は削除しておきます。

$ wpa_passphrase SSID PASSWORD
network={
        ssid="SSID"
        #psk="PASSWORD"
        psk=c2161655c6ba444d8df94cbbf4e9c5c4c61fc37702b9c66ed37aee1545a5a333
}

DHCP->固定IP化

Raspberry Piが電源を投入するたびにIPが変わってしまうと不便なため、固定IPに設定します。
#iface wlan0 inet dhcpをコメントアウトしてiface wlan0 inet staticとして固定IPを指示します。続けてaddress,netmask,gatewayを無線LANの環境に合わせて入力します。

$ sudo vi /etc/network/interfaces
--- /etc/network/interfaces ---
...
#iface wlan0 inet dhcp
iface wlan0 inet static
address 192.168.3.100
netmask 255.255.255.0
gateway 192.168.3.1

余談

無線化して電源供給のみで動かすのがRaspberry Piの1番の賢い使い方かなあと思っています。というのも、次の理由からです。

  • 消費電力が小さい(3W)
  • 電子部品やセンサーを追加できる

消費電力が小さいということで、例えば、24時間電源入れっぱなしで動作させた場合の電気代は50円弱です。ノートPCのSurface Proで30W程度と比較すると1/10の電気代ですみますね。

2つ目の電子部品やセンサーと組み合わせることで遠くのデータのログをとったり、監視カメラのような使い方もできますね。普通のPCよりも小さくて安いのでいろいろな用途が考えられますね。

ぼくの場合はRaspberry Piを24時間電源を入れて、もしもドロップシッピングのデータをとってきたり資産管理を自動化したいなーと思っています。

参考