Raspberry Piを自宅以外の場所で使う時に役立つ設定

この記事は [Geek Women Japan Advent Calendar 2017](https://qiita.com/advent-calendar/2017/geekwomenjapan) 15日目の記事です。

[GTUG Girls](https://gtuggirls.connpass.com/) スタッフ(主に飲み物担当)と、[Raspberry Piもくもく会](https://raspberry-pi-moku.connpass.com/) の運営をやっております @yuzu_afro と申します。

Raspberry PiのOSインストールはしたけれど、せっかくなので外に持ち出して使ってみたいということ、ありますよね:bangbang:(まさにもくもく会のシチュエーション:sun_with_face:)
この記事ではそんな時に役立つ設定を紹介します。

# やりたいこと
ディスプレイやマウス・キーボードを使わずに、Raspbian OSインストール済みのRaspberry PiをWiFi環境に接続し、操作します:rolling_eyes:

# 準備するもの
* Raspbian OS(Jessie or Stretch)がインストールされたRaspberry Pi 3
* Raspberry Pi用の電源
* microSD→SDカード変換アダプター(microSDを購入すると一緒に付いてくるアレ)
* 作業用のPC

# 設定すること
1. ホスト名の変更
2. wpa_supplicant.confを使ったWiFiのSSID/パスワード設定

1 は、ディスプレイやマウス・キーボードと接続できる環境で、あらかじめ準備しておく必要があります。
2 は、外で行う設定になります。

# 1. ホスト名でのアクセス

PCから、ホスト名でアクセスできるようにします。(IPアドレスではなく)
デフォルトのホスト名は raspberrypi ですが、なるべく人と被らない名前に変えておいた方がよいでしょう。
(この方法はPCがMACの人向けです。Windowsでも名前解決ができればうまくいくはずです。)

* 設定 -> Raspberry Piの設定 メニューを立ち上げる
* システム タブの ホスト名 を入力
  * デフォルトは raspberrypi になっているので自分の好きな名前に変更する
  * ただし英数字とハイフン(-)、ピリオド(.)のみ使用可
    * [OK] raspberry-pi
    * [NG] raspberry_pi

<img src="https://qiita-image-store.s3.amazonaws.com/0/153816/0b08f041-4cb7-63fc-1118-5ed66f427f6a.png" width=70%>

* インターフェイス タブの ssh が有効になっていることを確認
* OK を押して再起動する

PCのターミナルからsshで接続してみます。

```
$ ssh pi@(設定したホスト名).local
```

パスワードを入力して、Raspberry Piにログインできれば成功です:smile:

# 2. wpa_supplicant.confを使ったWiFi設定

コワーキングスペースや勉強会会場などで、WiFiが提供されていることが多いと思います。
Raspberry Piを電源をつないでも、ネットワークに接続できないと、結局ディスプレイやマウス・キーボードが必要になり、Raspberry Piの小ささを全く活かせません。

でも、これから紹介する方法を使えば、PCとmicroSD→SDの変換アダプターさえあれば、Raspberry Piをネットワークに接続することができます。

## wpa_supplicant.conf ファイルの作成

* PCに以下のような wpa_supplicant.conf ファイルを作成します。
* ssid と psk のところに、設定したい SSIDとパスワードを入力します。
* 複数のネットワークを使用する場合は network 以下を複数書きます。

```:wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
    ssid="xxxxx"
    psk="xxxxxxxx"
    key_mgmt=WPA-PSK
}

network={
    ssid="yyyyy"
    psk="yyyyyyyy"
    key_mgmt=WPA-PSK
}
```

## microSDにコピー

* Raspberry Piの電源がオフになっていることを確認して、microSDカードを取り出します。
* microSDカードをアダプターに装着して、PCに挿入します。RECOVERY と boot、2つのディスクが見えます。
* 作成した wpa_supplicant.conf を microSD の boot ディスクのルートフォルダにコピーします。
<img width="60" alt="microsd_mount_edit.png" src="https://qiita-image-store.s3.amazonaws.com/0/153816/8ddad633-1060-11ba-a07e-403b961f6588.png"> -> <img width="200" alt="boot_top_edit.png" src="https://qiita-image-store.s3.amazonaws.com/0/153816/c1eadc0f-5e79-ca02-2873-107337a1d7cf.png">


* microSDを取り出して、Raspberry Piに挿入して起動します。
* boot ディスクのルートフォルダに置いた wpa_supplicant.conf が、/etc/wpa_supplicant/wpa_supplicant.conf に上書きされて、所望のネットワークに接続できます:blush:

## ssh で接続してみる

ネットワークに接続できていれば、以下のコマンドでログインできます。

```
$ ssh pi@(設定したホスト名).local
```

## 注意点

* /etc/wpa_supplicant/wpa_supplicant.conf は、上書きされます。設定前の情報を残しておきたい場合は、あらかじめscpコマンドなどでPC上にファイルをバックアップしておくとよいです。
* microSDのルートに置いた wpa_supplicant.conf は、起動後に削除されます。

---

いかがだったでしょうか？
これで、家で眠っているRaspberry Piを外に持ち出すのも怖くないですね:laughing:

というわけで、[Raspberry Piもくもく会](https://raspberry-pi-moku.connpass.com/) で使えそうな Tips をご紹介させていただきました。
あ、でも、もくもく会ではWiFi接続用に小型のディスプレイもご用意してますので、慣れ親しんだ方法で設定していただいてもOKです:thumbsup:

カレンダーも後半戦に入ってきました。
明日は @komo-fr さんです:grinning: