超初心者がRaspberry Pi Zero WHのセットアップを完了させるまで (Mac OS Catalina)

#はじめに
コロナで突然暇になった自分が，突然 Raspberry pi Zero WH を購入していじくり回したときの備忘録です。
Raspbian？何それ？状態からのスタートです。ベテラン向けではありません。

設定を進めるにあたり，以下お二方の記事に大変助けられました。ありがとうございます。

[Raspberry Pi Zero(W, WH)のセットアップ]
 (https://qiita.com/hishi/items/8bdfd9d72fa8fe2e7573)
[RaspberryPi ZeroW に Raspbian をインストールし、公開鍵で SSH 接続出来るようにする]
 (https://qiita.com/tmokita/items/76a20fa0f0e1a7cc0be5)  

この記事では，自分がハマったところ，調べて得た解決策を全部書いています。
上記の超丁寧に解説してくださっている記事を持ってしても途中でハマりまくった自分の様な人向けです。初めての投稿ですので，何かご意見ありましたらコメントでいただけると嬉しいです。

#ゴール
ターミナルからsshでRaspberry Piにリモートログインできるようにする

#環境
Mac OS Catalina (10.15.4)
シェル: zsh

#準備するもの
今回は，特別ディスプレイを用意したりしませんでした。
まず， SDカードが必要ということすら知らなかったという...

Raspberry Pi 本体
Mac
micro SDカード (16GBを購入しました)
SDカードリーダ・ライタ
microUSBケーブル(Raspberry PiとMacを繋ぐため)

#USB接続でセットアップ
##Raspbian(OS)のダウンロード
まずは，Raspberry pi にインストールするためのOSを，Macでダウンロードします。
[Raspbian オフィシャルサイト](https://www.raspberrypi.org/downloads/raspbian/)
2020年5月現在，OSのバージョンは"Buster"となっています。解説してくださっている記事の中でも多少のバージョン違いはあるかと思われます。

私は最初，"なんとなく良さそう"という理由で"Raspbian Buster with desktop and recommended software"というパッケージ(上段左側)をダウンロードしましたが，1日くらいかかりそうだったのでやめました。そして，"Lite"をダウンロードしました。
他の解説記事でも"Lite"をダウンロードしている方が多いようなので，それでいいと思います。自分みたいな愚かな真似はせず，時間を大切にしてください。

##RaspbianをmicroSDに書き込む
<どハマりポイント1>
まずは，microSDカードをMacにつなげます。自分これ忘れてました。何するつもりだったんだ。

[先駆者様の記事1](https://qiita.com/tmokita/items/76a20fa0f0e1a7cc0be5)を参考にして，

>1.ディスクユーティリティを起動して接続されている disk の情報を確認します
2.microSD がマウントされていたら、アンマウントします
3.ターミナルを起動しダウンロードしたイメージをファイルがあるディレクトリに移動します
4.ディスクの情報を参考にして下記のコマンドを実行します
**※ dd コマンドを使う際には if(転送元) と of(転送先) を間違えないように気をつけてください。意図せずファイルやディスクが破壊されても責任は負いかねます**

>```
[mac]
sudo dd bs=1m if=[転送元のイメージファイル] of=[転送先のデバイス] conv=sync
```

ディスクユーティリティは，Launchpadから見つかるはずです。ディスクに聴診器当ててる絵のアイコンです。

立ちあげると...
転送先のdisk情報，おそらくコレだろうということで，"装置："となっている横の名前を入れてみました。

<どハマりポイント2>
意気揚々とddコマンドを打つも......ん？何も起こらない？まさか破壊されたのだろうか...
などと考えながら焦り始めました。どうしよう。

[先駆者様の記事2](https://qiita.com/hishi/items/8bdfd9d72fa8fe2e7573#%E7%94%A8%E6%84%8F%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE)を参考にして，ターミナルから
>```
git clone https://github.com/RayViljoen/Raspberry-PI-SD-Installer-OS-X.git
```

実行したものの，

```
zsh: command not found: clone
```
となりました。トホホ...という気持ちです。<どハマりポイント3>

###<解決策>Etcherを使う
コレまた[先駆者様の記事2](https://qiita.com/hishi/items/8bdfd9d72fa8fe2e7573#%E7%94%A8%E6%84%8F%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE)を参考にさせていただきました。
記事内ではターミナルからzipイメージを解凍してSDカードに書き込む手順を示してくださっているのですが，動かないターミナルに自信を喪失した自分は，Etcherを使って書き込むことにしました。
[Etcher オフィシャルサイト](https://www.balena.io/etcher/)
普通のアプリをダウンロードするのと同様の手順で，Applicationにコピーします。
コピーが完了したら，"balenaEtcher"というアイコンがLaunchpad内にできていると思います。立ち上げてください。

<img width="792" alt="スクリーンショット 2020-05-01 12.31.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507940/ba94b0aa-ba41-cab6-2c76-f4f4f852a8ec.png">

このような画面になるかと思います。"Select image"タブをクリックして先ほどダウンロードしたRspbianのzipファイルを置いてください。
真ん中のデバイスは書き込み先のmicroSDカードを選択します。
そして.....
**”Flash!"**
.....ハイ終わりです。なんて簡単......

##Raspberry PiにSSH接続できるようにする
1. microSDを一度アンマウント(取り出す)し,もう一度接続　→　名前が"boot"に変わっている！
<img width="73" alt="スクリーンショット 2020-05-01 13.01.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507940/82fad8ae-2825-f6c3-cecc-8b176b4c9249.png">
<img width="681" alt="スクリーンショット 2020-05-01 12.21.23.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507940/a7db1319-e1f1-bef1-13c3-f6aea9c27534.png">

2. ターミナルからbootに移動
ターミナルを起動し，ホームディレクトリに移動します。
そこから，bootに移動。

```
cd ~/
cd /Volumes/boot
```

3.　sshを有効にする


```
touch /Volumes/boot/ssh
```

と入力します。sshの空ファイルを置かないとssh接続ができないようです。

4.　USB経由でインターネット接続できるようにする
cmdline.txtを立ち上げます。

```
vim /Volumes/boot/cmdline.txt
```

>console=serial0,115200 console=tty1 root=PARTUUID=738a4d67-02 
rootfstype=ext4 elevator=deadline fsck.repair=yes 
rootwait **modules-load=dwc2,g_ether**

最後の太字部分を追記します。

※<どハマりポイント4> vimを閉じられなくなった
[esc]　→　":q"(入力) →　[enter]
で閉じられるはずです。がんばりましょう。

次に，

```
echo "dtoverlay=dwc2" >> /Volumes/boot/config.txt
```

を，ターミナルで実行します。コレで，config.txtの末尾に"dtoverlay=dwc2"を追記できるみたいです。
やっと準備完了！

##Raspberry Piを起動して，インターネットに接続
1.　microSDを取り出して，Raspberry Piにセットします。

2.　Raspberry PiとMacを，microUSBケーブルで接続します。
　　必ず，Raspberry pi 内側のUSBポートと繋ぎます。電源が入ることを確認！
　　緑色のランプが点滅し始めたら，点滅が止まるまで待ちます。

3.　Mac側で，インターネット共有をオンにします。

　　システム環境設定　→　共有
<img width="666" alt="スクリーンショット 2020-05-01 13.40.16.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507940/97d81a46-e51c-6cf5-69d6-bc9152d8ca52.png">
共有する接続経路：Macをネットワークに繋げている方法
相手のコンピュータでのポート：RNDIS/Ethernet Gadget
を選択します。

<どハマりポイント5>
"起動　→　インターネット共有"という解説を見て，すでに繋いであったRaspberry PiにmicroSDカードを差し込んだだけで，起動していると思い込み，最初にインターネット共有の設定をしておりました。
もう一回繋ぎ直さないと電源は入りません。
"RNDIS/Ethernet Gadget"が見つからない！と大騒ぎした挙句，Raspberry Piの電源入ってない。
当たり前じゃん。
**先に電源入れる！絶対！**

4.　ターミナルからsshを利用してログイン

ターミナルを起動し，

```
ssh pi@raspberrypi.local
```

と打ち込みます。
passwordを聞かれたら，**raspberry**(初期パスワード) を入れてください。

とりあえず，ここまででターミナルからRaspberry Piにログインできるようになっていると思います。
お疲れ様でした！


#さいごに
拙文ゆえ読みづらい箇所が多々あったかと存じます。
この後，Raspberry Piを使用して，なんとか自動測定温湿度計を完成させました！
そちらのことは今度また別記事にて紹介できたらなと思います。
自分もまだまだ素人ですので，これからも楽しんでRaspberry Piを使っていけるよう精進したいと思います。
最後までお読みいただきありがとうございました！

2020/5