Raspi2にAlexa Voice Service(AVS)を 〜Raspi2にRaspbianをインストール編〜

# はじめに
2019年年始の（勝手にやってる)宿題の一貫でRaspiにAVSを入れるってのをやってみることにしました。
前回は[Amazon Voice Service(AVS)の設定](https://qiita.com/areaz_/items/60cbdf8059881ee33ec3)を行いました。
今回はRaspi2を使うので、インストールするところを書いてみます。

## 参考サイト
https://qiita.com/py_iK/items/9070fc58f69d8c063e44

## 前提条件
Raspberry Pi 2 modelB
macOS High Sierra バージョン10.13.6
microSD 16GB


# Raspberry Pi2への書き込み
Raspberry Pi2にOSをinstallするために、microSDにRaspbianを書き込みます。

## 1. Raspbianのダウンロード
まずはRaspbianを[ここ](https://www.raspberrypi.org/downloads/raspbian/)からダウンロードします。
今回利用したものは、 *Raspbian Stretch with desktop* です。

## 2. microSDの確認
microSDの初期化を行うために、PCにmicroSDを差し込みます。
OSが認識したらコマンドを実行して、パーティションを確認します。

```
$ diskutil list
/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         500.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         500.0 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +500.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            176.0 GB   disk1s1
   2:                APFS Volume Preboot                 25.6 MB    disk1s2
   3:                APFS Volume Recovery                515.0 MB   disk1s3
   4:                APFS Volume VM                      10.9 GB    disk1s4

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk2
   1:             Windows_FAT_32 boot                    62.9 MB    disk2s1
   2:                      Linux                         4.0 GB     disk2s2
```

microUSBが16GBなので、「/dev/disk2」になります。

## 3. 初期化前にmicroSDをアンマウント
次はフォーマットを行います。OSをinstallするための初期化になります。
microSDをアンマウントします。

```
$ diskutil unMountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
```

## 4. microSDを初期化
microSDを初期化します。デバイス名を「ALEXA-RASPI」としました。

```
$ diskutil eraseDisk MS-DOS ALEXA-RASPI /dev/disk2
Started erase on disk2
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk2s2 as MS-DOS (FAT) with name ALEXA-RASPI
512 bytes per physical sector
/dev/rdisk2s2: 30522224 sectors in 1907639 FAT32 clusters (8192 bytes/cluster)
bps=512 spc=16 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=30552064 bspf=14904 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk2
```

## 5. もう一度、microSDをアンマウント
もう一度、microSDをアンマウントします。

```
$ diskutil unMountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
```

## 6. microSDにRaspbianを書き込み
先程ダウンロードしたRaspbianのイメージファイルを使って書き込みを行います。

```
$ sudo dd if=/Users/areaz_daiki/Desktop/2018-11-13-raspbian-stretch.img of=/dev/rdisk2 bs=1m
Password:
3248+0 records in
3248+0 records out
3405774848 bytes transferred in 240.679975 secs (14150637 bytes/sec)
```

## 7. microSDをRaspiに入れるために、アンマウント
これで書き込みが終わったので、microSDをアンマウントします。

```
$ diskutil unMountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
```

## 8. Raspiの電源をON
アンマウントが終わったら、microSDをPCから抜いて、Raspberry Pi2にいれて、電源をONにします。

## 9. 各種設定
Raspiを起動しました。これから設定を行っていきます。
ここで、事前にマウスとキーボードを用意し、Raspiに挿します。
後、モニタを用意してHDMIで接続しておくと便利です。

### 9.1. Welcome画面
Welcome画面が出てきますので、「Next」ボタンをクリックしてください。
![IMG_2564.JPG](https://qiita-image-store.s3.amazonaws.com/0/105220/0c69140e-c642-5561-560e-19bc21995240.jpeg)

### 9.2. ロケーションの設定
以下の情報を設定して、「Next」ボタンをクリックします。

|項目|値|
|-----|-----|
|Country|Japan|
|Language|Japanese|
|Timezone|Tokyo|

![IMG_0906.JPG](https://qiita-image-store.s3.amazonaws.com/0/105220/d6723b65-1343-c7f1-5b1a-fb8cbf2dc417.jpeg)

### 9.3. デフォルトユーザのパスワード設定
デフォルトユーザの「pi」のパスワードは「raspberry」ですが、違う強度のあるパスワードに変更しろとのことですので、新しいパスワードを入力してください。入力しない場合は、「raspberry」のままとなります。
![IMG_0021.JPG](https://qiita-image-store.s3.amazonaws.com/0/105220/4a116f2c-7325-6efb-1472-3a1959002d17.jpeg)

### 9.4. WiFiの設定(SSID)
WifiのSSIDが表示されるので、接続するSSIDを選択して、「Next」をクリックします。
![IMG_19141.jpg](https://qiita-image-store.s3.amazonaws.com/0/105220/c3c52982-38f8-6084-23a9-2835fce70ae9.jpeg)

### 9.5. Wifiの設定(パスワード)
Wifiのパスワード入力をして、「Next」をクリックします。
![IMG_80861.jpg](https://qiita-image-store.s3.amazonaws.com/0/105220/c11311d9-518d-3adb-6748-bb79936ffb13.jpeg)

### 9.6. ソフトウェア・アップデート
ソフトウェア・アップデートの画面が出てくるので「Next」をクリックします。
すると進捗バーが出てきます。
![IMG_7891.JPG](https://qiita-image-store.s3.amazonaws.com/0/105220/6fcb1d89-30d5-831c-b164-b304e8ee4baf.jpeg)

### 9.7 再起動
セットアップが完了したら、再起動しないといけませんので、「Reboot」をクリックします。
![IMG_7706.JPG](https://qiita-image-store.s3.amazonaws.com/0/105220/75521a92-0b14-a5aa-70ca-bf5a64a5f225.jpeg)

### 9.8 再起動完了
ということで、再起動完了です。
![IMG_0016.JPG](https://qiita-image-store.s3.amazonaws.com/0/105220/fa7467a2-4226-f8dc-2450-932c189b99bd.jpeg)

### 9.9 OSのアップグレード
最後にアップグレードします。

```
$ sudo apt-get -y upgrade
```

### 9.10 pyenvをインストール
現時点のpythonのバージョンは `2.7.13` でした。

```
$ python --version
Python 2.7.13
```

今後、Python3.6系を利用したいので、Pyenvを使ってインストールしていくようにします。
そのPyenvを先にインストールします。そのために必要なパッケージのインストールをして、pyenvをgitからcloneします。

```
$ sudo apt-get install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
```

次に、 ~/.bash_profileを開いて、以下を更新してください。

```bash
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PATH:$PYENV_ROOT/bin"
eval "$(pyenv init -)"
```

更新が終わったら、反映するコマンドを実行します。

```
$ source ~/.bash_profile
```

念の為、pyenvが実行できるか確認します。

```
$ pyenv -v
pyenv 1.2.9-2-g6309aaf2
```

### 9.11 python 3.6系のインストール
次は、python3.6系をインストールします。最新の3.6系をインストールしたいので、まずは確認します。

```
$ pyenv install --list
Available versions:
...
3.5.6
3.6.0
3.6-dev
3.6.1
3.6.2
3.6.3
3.6.4
3.6.5
3.6.6
3.6.7
3.6.8
3.7.0
...
```

ということで、3.6.8をインストールして、切り替えをします。

```
$ pyenv install 3.6.8
$ pyenv global 3.6.8
$ python --version
Python 3.6.8
```

# さいごに
これで、Raspi2へのインストール完了。
以前に作ったときは自分でネットワーク設定（無線LAN）とかやったんですが、最新のRaspbianだとUIで設定できます。（めっちゃ便利になりましたね）

# 関連記事
[Raspi2にAlexa Voice Service(AVS)を 〜AVS設定編〜](https://qiita.com/areaz_/items/60cbdf8059881ee33ec3)
[Raspi2にAlexa Voice Service(AVS)を 〜Raspi2にAlexa Voice Service(AVS)をインストール編〜](https://qiita.com/areaz_/items/8e949d45f8afe73dbc76)