読者です 読者をやめる 読者になる 読者になる

叉焼.log

札幌のこととか、ITの事とか

ラズパイ3のwifi接続先を複数指定しIP固定するまで

ついに買っちまったぜ・・・ラズパイ3。(昨年末の話です)
ラズパイ3の目玉といえばやはりwifiモジュールだろう。
簡単そうに見えて案外その設定で手間取ってしまった。特に私のように家と部室でwifiを使いたいという方はIPの固定などに手間取るんじゃないかと思い記事にした。

さあーやるぜと気合いに満ちた私は
今朝raspberry pi zero Wとかいう最新ラズパイが出るというニュース
「Raspberry Pi Zero W」、Wi-FiとBluetoothサポートで10ドル - ITmedia NEWS
を見てそっちに関心が写りかけた。危ない危ない。

というわけで早速OSをインストール。基本的にMACからSSHで接続する。
f:id:cha-shu00:20170301175655j:plain:left

参考にさせていただいた記事
Raspberry Pi 3 Model B をインストールしてSSH接続できるようにしてみる – CLARA ONLINE techblog

基本的にはこの記事の通りやっていけばいいのだが、いくつか躓いたところがあったのでメモ。










SSHの設定

デフォルトでSSHが無効になっているのでそれの設定を行う。
設定画面を開く。

$sudo raspi-config 

f:id:cha-shu00:20170301183255p:plain

5.Interfacing Optionsを選択

f:id:cha-shu00:20170301183929p:plain

P2 SSHを選択
SSHを有効にするか聞かれるのでYESを選択。

wifiの設定

ここまではラズパイにキーボードやらモニタやらを繋いでいたと思う。
SSHの設定が終わればそれらはもう不要になる。

1)まずは有線LANにつなぐ。ルータとラズパイをLANケーブルでつなぐとDHCPが勝手にIPを割り当ててくれる。
SSHクライアントのPCから

$ping ラズパイのホスト名.local

こいつをッターン!!と叩くとラズパイから応答が返ってくるか確認する。ipアドレスを確認して

$ssh pi@192.168.XX.XX

をッターン!と叩く。(MACユーザーだけですね。すみません。windowsユーザーの方はTeraTermとか使ってッターン!してください。)パスワードを聞かれるので入力する。初期パスワードはraspberryである。ちなみにこいつは後ほど変更しておくこと。

2)次にアクセスポイントを探す。

$sudo iwlist wlan0 scan

こいつをッッタ(ryと叩くと接続可能なAPがずらっと出てくる。必要に応じてlessとかにパイプを繋いでやるといい。
ここで接続したいAPのSSIDをメモしておく。ちなみにこの作業をすっ飛ばして適当に普段使ってるSSIDに接続しようとすると痛い目にあう。
現に私はPCと同じIEEE802.11acの規格を使用するAPに接続しようとしてうまくいかなかった。公式サイトにあるけどacに対応してねえじゃんラズパイ・・・

3)複数のwifiにつなぐ。

$sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

これを開き、

network={
    ssid="メモったSSID"
    psk="wifiのパスワード"
}

を追記する。保存して、

$sudo ifdown wlan0
$sudo ifup wlan0

とすれば無事wifiに接続できるだろう。ifconfigで確かめるといい。

私のようにラズパイを部室でも家でも使うという人は複数のSSIDを登録しておきたいと思う。
その時は/etc/wpa_supplicant/wpa_supplicant.confのnetwork={...}の部分を同じファイルに追記すればOKである。

network={
    ssid="hoge"
    psk="wifiのパスワード"
}
network={
    ssid="huga"
    psk="wifiのパスワード"
}

こんな感じである。

4)IPアドレスを固定する。 

毎回ラズパイのIPを調べてSSH接続するのはめんどいので、IPアドレスを固定してしまおう。

まずは/etc/dhcpcd.confを開く。

$sudo nano /etc/dhcpcd.conf

以下を追記するとAPごとにIPを固定することができる。

interface wlan0
ssid hoge
static ip_address=192.168.XX.XX/24
static routers=192.168.YY.YY
static domain_name_servers=192.168.YY.YY

ssid huga
static ip_address=192.168.XX.XX/24
static routers=192.168.ZZ.ZZ
static domain_name_servers=192.168.ZZ.ZZ

今回はssidにダブルクオーテーションがつかないので注意。

こんなもんでしょうか。次回はラズパイ3の目玉のひとつ、bluetooth(BLE)について書こうかな