ラズパイを無線LANを用いてインターネットにつなぐときに自分がつまずいてしまった点をいくつか記録に残しておくので役に立てれば良いなと思う。
数多くのブログでも書かれているような順で無線LAN通信の仕方を書いていく。
IPの設定
まず、/etc/network/interfaces の初期状態はこんな感じ(だったと思う)
iface lo inet loopback auto eth0 allow-hotplug eth0 iface eth0 inet dhcp auto wlan0 allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet
まず、このファイルを編集していく。
~~~@raspberrypi ~$ sudo vi /etc/network/interfaces
このコマンドを打ち、interfacesを開けたら次のように変更する。
iface wlan0 inet manual -> iface wlan0 inet dhcp
wpa-roam /etc/… -> wpa-conf /etc/…
auto lo iface lo inet loopback auto eth0 allow-hotplug eth0 #iface eth0 inet manual iface eth0 inet dhcp auto wlan0 allow-hotplug wlan0 #iface wlan0 inet manual iface wlan0 inet dhcp #<-変更 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf #<-変更 iface default inet dhcp
無線の設定
次に無線の設定です。ここではSSIDやらパスワード,暗号化方式などの設定を行う。
/etc/wpa_supplicant/wpa_supplicant.confを開く。
開けたら次のように書き込む。(ssid,psk以外はそのまま書いて良い)
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="abcdefg"
psk="password"
scan_ssid=1
proto=WPA2
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
}
このときSSIDやpskは無線ルータの裏などに書かれている。また、パソコンが繋がっている無線LANであればパソコンから確認することもできる。
ここまでできたらラズパイを再起動し、ifconfigなどでwlan0にinet addr(IPアドレス)が振り当てられていたら成功。
固定IP化
今のままだと、ルータの電源が落ちるたびに振り当てられるIPアドレスが変わってしまう。
再起動するたびにIPアドレスをメールなどで教えてくれるようにすることもできるが、いろいろと不便なのでIPを固定しようと思う。
/etc/network/interfacesを開き、以下のように編集する。
allow-hotplug wlan0 iface wlan0 inet static #<- dhcp からstatic に変更 address 192.168.0.11 #<---追加 netmask 255.255.255.0 #<---追加 gateway 192.168.0.1 #<---追加 wpa_conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
addressでIPを指定するが、一番下の桁は2~255のうちの自由な値で良い。(前半はすでに振り分けられている可能性があるので大きい数字推奨)
ゲートウェイは192.168.0.1もしくは192.168.1.1が振り分けられていることが多い。windowsのコマンドプロンプトからipconfigで確かめることができる。
ラズパイを再起動し、ifconfigでwlan0に固定IPが振られていたら成功。
ここで自分はうまくいかなかったのだがその原因はwpa_supplicant.confにあった。
wpa_supplicant.confにおいてどうやら暗号化方式を指定しないとうまく動かないみたいだ。
次のように変更した。
network={
ssid="abcdefg"
psk="password"
scan_ssid=1
proto=WPA2
key_mgmt=WPA-PSK
#↓の部分
pairwise=CCMP TKIP
group=CCMP TKIP
}
固定IPではないときは指定しなくてもうまく動いていたのだが、固定IPとしたときは動かなかった。
原因はこれなのかはわからないがこれでうまく動くようになった。