Raspberry Pi Zeroに無線LAN経由でsshできるようにする

f:id:hogesuke_1:20160827120821j:plain

せっかく小さいRaspi Zeroですから、キーボードやモニタは接続せずにsshで操作したいですね。先日sshできるようにしたので、その工程をメモとして残しておきます。

無線LANアダプタを用意する

Raspi ZeroはRaspi3とは異なり無線LAN機能を標準で搭載していないので、別途、無線LANアダプタを購入する必要があります。

BUFFALOの下の商品がオススメです。ドライバのインストールが必要がなく、差し込むだけで使用可能です。値段も1000円以下と他と較べても安いのも魅力です。

ただ、Amazonレビューでも指摘されていますが、かなり熱を持ちます。これが機器の動作に影響するのか分かりませんが、いまのところは問題なく使えています。

また、Raspi ZeroにはmicroBの口しかないので変換ケーブルも必要です。

iBUFFALO USB(microB to A)変換アダプター ブラック BSMPC11C01BK

iBUFFALO USB(microB to A)変換アダプター ブラック BSMPC11C01BK

無線LANアダプタを接続する

それでは早速、無線LANアダプタをUSBに差し込みます。
念のため、認識されているか lsusb コマンドで確認します。

$ lsusb
Bus 001 Device 002: ID 0411:01ee BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ちゃんと機器の名称が表示されているので問題なさそうです。

アクセスポイントの設定をする

つぎにアクセスポイントに接続するための設定を行います。
wpa_passphrase コマンドを使い、設定に必要なテキストを生成します。

$ wpa_passphrase [SSID] [パスフレーズ]
network={
        ssid=[SSID]
        #psk=[パスフレーズ] <- この行は削除して構いません
        psk=[暗号化されたパスフレーズ]
}

上記のテキストをコピーし /etc/wpa_supplicant/wpa_supplicant.conf ファイルに追記します。

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

もしくは以下のようにすることで一発で追記可能です。

$ sudo sh -c "wpa_passphrase [SSID] [パスフレーズ] >> /etc/wpa_supplicant/wpa_supplicant.conf"

設定できたら再起動します。

$ sudo shutdown -r now

Raspberry Pisshする

Raspiの再起動が完了したら無線LANでネットに接続できるようになっているはずです。
pingを飛ばして確認してみます。

$ sudo ping -c 5 www.yahoo.co.jp

もし Unknown host のように表示されたら接続できていません。もう一度設定を確認してみてください。

ネットへの接続を確認できたら、実際にRaspiにsshしてみます。
まず、ssh先のIPアドレスを確認するため ifconfig コマンドを叩きます。

$ ifconfig

wlan0inetアドレス が割り当てられたIPアドレスです。

接続元のPCから先ほど確認したIPアドレスに向けてsshしてみます。
piユーザの初期パスワードは raspberry です。

$ ssh pi@[IPアドレス]

接続できたでしょうか。

IPを固定する

これまでの手順でsshできるようになったのですが、DHCP環境では割り当てられるIPアドレスが変わってしまいます。

その状態では毎回接続先IPアドレスを確認する必要があるので、IPアドレスを固定する設定を行います。

なお、以下の手順は Raspbian Jessie 環境のものとなります。 Raspbian Wheezy では手順が異なるためご注意ください。

dhcpcd.confファイルの編集

まず /etc/dhcpcd.conf ファイルに以下の例のように追記します。

interface wlan0
static ip_address=192.168.1.12/24
static routers=192.168.1.1
static domain_name_servers=210.147.235.3

上記の例では 192.168.1.12IPアドレスを固定しています。

routersやdomain_name_serversの値は使用しているルータやプロバイダによって異なりますので、ご自身で確認していただく必要があります。

ちなみにBIGLOBEDNSサーバは サーバ情報一覧:BIGLOBE会員サポート で確認できます。

MACアドレスの確認

次に、無線LANアダプタのMACアドレスを確認します。 ifconfig コマンドを叩きます。

wlan0     Link encap:イーサネット  ハードウェアアドレス xx:xx:xx:xx:xx:xx

wlan0 のハードウェアアドレスがそれです。
この値を控えておいてください。ルータ側の設定で必要となります。

ルータの設定

固定IPのルータ側の設定を行います。

使用しているルータによって設定方法が異なるのですが、私が使用している PR-500KI を例として説明します。

ルータの設定ページをブラウザで開きます。PR-500KIでは http://192.168.1.1/ でした。

設定画面の 詳細設定 -> DHCPv4サーバ設定 -> DHCP固定IPアドレス設定 を開きます。

f:id:hogesuke_1:20160827152437p:plain

DHCP固定IPアドレスエントリの 編集 ボタンからレコードを追加します。
前手順で確認したMACアドレスと設定したIPアドレスを入力します。

f:id:hogesuke_1:20160827152935p:plain

レコードを追加後、有効にチェックを入れ、 設定 ボタンをクリックします。
その後、ルータの再起動がかかるので起動されるまでしばらく待ちます。

固定IPへssh

固定したIPアドレスに向けてsshしてみます。

$ ssh pi@192.168.1.12

接続できれば固定IPの設定成功です。

おわりに

これでキーボードもモニタも接続せずにRaspi Zeroを操作できるようになりました。邪魔なコードがなくなって超スッキリです。開発も捗りそうです。

iBUFFALO USB(microB to A)変換アダプター ブラック BSMPC11C01BK

iBUFFALO USB(microB to A)変換アダプター ブラック BSMPC11C01BK