Raspberry Pi Zero W 環境構築ことはじめ MacOS編

# はじめに

「Raspberry Pi Zero W」を買ったので、初期設定の前準備から、リモート接続するまでをやってみた。
[Amazon | Raspberry Pi Zero W Starter Kit](https://www.amazon.co.jp/Raspberry-Pi-Zero-Starter-Kit/dp/B0746H9881)

![raspberry_pi_zero_w.jpg](https://qiita-image-store.s3.amazonaws.com/0/93963/9cad5301-f3f1-3ebf-7fc4-6c5373b23556.jpeg)

# 環境

- PCのOSがMacOSで、SDカード差込口があること。
- SDカードは8GB以上が推奨。 ※ロックされていないことを確認すること！（画像参照）
![sd_card.jpg](https://qiita-image-store.s3.amazonaws.com/0/93963/7c00d7da-434b-3305-a2dc-3728ad76f4cb.jpeg)

- 今回は「Raspberry Pi Zero W」を使用しましたが、他のRaspberry Piでも大丈夫かと思います。

# 初期設定の前準備

スターターキットを買えばSDカードにOSコピー済みなので、不要であれば飛ばしても大丈夫です。
最新OSにしたいときや、初期設定に失敗したときなどは、この手順を行なってください。

## 公式サイトからRaspbianのイメージをダウンロード

[Download Raspbian for Raspberry Pi](https://www.raspberrypi.org/downloads/raspbian/)

いくつか候補がありますが、「Raspbian Stretch with desktop and recommended software」を選択しました。
「Download ZIP」をクリックしてダウンロードします。

## SDカードへRaspbianのイメージをコピー

SDカードをPCに接続した状態で以下のコマンドを実行し、現在接続されているディスクのパーティション一覧を表示する。

```
$ diskutil list
```

このうち、「/dev/disk2 (external, physical)」が外部接続されているディスク＝SDカードである。

```
/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            148.7 GB   disk1s1
   2:                APFS Volume Preboot                 45.2 MB    disk1s2
   3:                APFS Volume Recovery                517.0 MB   disk1s3
   4:                APFS Volume VM                      3.2 GB     disk1s4

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

以下コマンドを実行し、SDカードをアンマウントする。

```
$ diskutil unmountDisk /dev/disk2
```

以下のように表示されたら成功。

```
Unmount of all volumes on disk2 was successful
```

アンマウントに成功したら、以下コマンドでSDカードにコピー。

```
$ sudo dd bs=1m if=/Users/Hitoshi/Downloads/2018-11-13-raspbian-stretch-full.img of=/dev/rdisk2 conv=sync
```

パスワードが要求されるので、入力してしばらく待つと書き込み完了。

```
Password:
5052+0 records in
5052+0 records out
5297405952 bytes transferred in 423.402702 secs (12511507 bytes/sec)
```

あとはSDカードをRaspberry Piに差し込んで、電源を入れる。

# 初回起動時の設定

- 「Welcome to Raspberry Pi」
そのままNext。

- 「Set Country」
以下の通り設定。

| 項目 | 内容 |
|:--|:--|
| Country | Japan |
| Language | Japanese |
| Timezone | Tokyo |
| Use US Keyboard | チェックなし |

- 「Change Password」
必要あれば入力する。
入力しない場合は「raspberry」が自動的に設定される。

- 「Select WiFi Network」
該当のWiFiネットワークを選択。
ないならSkip。

- 「Enter WiFi Password」
該当のWiFiのパスワードを入力。

- 「Update Software」
そのままNext。

- 「Setup Complete」
Reboot。

# リモート接続

## パッケージの更新

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

## IPアドレスの固定化

以下コマンドでネットワーク環境を確認する。

```
$ ifconfig
```

すると、以下のように表示される。
「wlan0」が、接続中のWiFiネットワーク。

```
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
       inet 127.0.0.1  netmask 255.0.0.0
       inet6 ::1  prefixlen 128  scopeid 0x10<host>
       loop  txqueuelen 1000  (ローカルループバック)
       RX packets 4  bytes 122 (122.0 B)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 4  bytes 122 (122.0 B)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 192.168.100.104  netmask 255.255.255.0  broadcast
192.168.100.255 inet6 2001:268:c0cf:fc41:989c:57e8:7546:3  prefixlen
128  scopeid 0x0<global> inet6 2001:268:c0cf:fc41:42c9:13b8:9af8:29c3
prefixlen 64  scopeid 0x0<global> inet6 fe80::3ca3:26cb:a39d:fcaf
prefixlen 64  scopeid 0x20<link> ether b8:27:eb:e7:c9:59  txqueuelen
1000  (イーサネット) RX packets 30386  bytes 34481732 (32.8 MiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 17222  bytes 2072308 (1.9 MiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

以下コマンドで「/etc/dhcpcd.conf」を開く

```
$ sudo nano /etc/dhcpcd.conf
```

以下の内容を記載する。
IPアドレスを「192.168.100.104」で固定しておく。

```
# IPアドレス固定化
interface wlan0
static ip_address=192.168.100.104/24
static routers=192.168.100.1
static domain_name_servers=192.168.100.1
```

## リモート接続するための設定変更

「左上のラズパイアイコン」 -> 「設定」 -> 「Raspberry Pi の設定」を開く。
タブ「インターフェイス」を開き、以下の項目を「有効」に変更。

- SSH
- VNC
- Serial Port
- Serial Console

設定後、再起動を促されるため、再起動する。
再起動後、パスワードが「rapberry」（デフォルト）の場合、Warningが出るようになるが、無視してOK。

## VNC Viewerでリモート接続

「VNC Viewer」をダウンロードする。
https://www.realvnc.com/en/connect/download/viewer/

<img width="1440" alt="vnc_viewer1.png" src="https://qiita-image-store.s3.amazonaws.com/0/93963/d6959848-4b01-984d-fdcd-33ad719a129c.png">

ダウンロードしたら、ファイルをダブルクリックして開き、「Application」フォルダにコピーする。

<img width="650" alt="vnc_viewer2.png" src="https://qiita-image-store.s3.amazonaws.com/0/93963/1f7e90b0-d93a-59aa-784c-aadd935f40d0.png">

VNC Viewerを開き、先ほど固定化したIP「192.168.100.104」を入力する。

<img width="1012" alt="vnc_viewer3.png" src="https://qiita-image-store.s3.amazonaws.com/0/93963/9e3db2bb-32fd-04d8-2f0b-4581b5fa21cb.png">

Usernameを「pi」、Passwordを「raspberry」と入力し、OKをクリックする。

<img width="687" alt="vnc_viewer4.png" src="https://qiita-image-store.s3.amazonaws.com/0/93963/cda9ac6e-37b0-1448-ca3a-07c4ebd51910.png">

これでRaspberry Piのデスクトップ画面が表示されたらオッケーです！

<img width="724" alt="vnc_viewer5.png" src="https://qiita-image-store.s3.amazonaws.com/0/93963/113e200c-850c-23ca-bd18-eefd21c09636.png">

# 参考URL

[MacでRaspberryPi入門](https://qiita.com/py_iK/items/9070fc58f69d8c063e44)
[Raspberry PiにRaspbianをインストールする for Mac OSX](https://qiita.com/ttyokoyama/items/7afe6404fd8d3e910d09)
[Raspberry Pi 3 でIPアドレスを固定して、外部からSSH接続できるようにする](https://qiita.com/hujuu/items/f3799946d761006c9852)
[OSのインストール(Mac) － Raspberry Pi公式ドキュメントを日本語訳](https://igarashi-systems.com/sample/translation/raspberry-pi/installation/install-mac.html)

# 最後に

「MacOSX」ってもう使わないんだ。。
https://ja.wikipedia.org/wiki/MacOS#名称