MacだけでRaspberry Pi 4（ラズパイ４）をゼロから動かす方法

#概要
ラズパイを動かすのに、モニター・キーボード・マウスと色々必要という噂…。
でも、Macだけでも繋げられれば動くんじゃないの？→動いた！
その方法を、初心者向け（私レベル＝Mac使ってて、ターミナルくらいは知ってる…くらいの方々向け）に噛み砕いて書いた記事です。

#使ったもの
###ハード・環境
- MacBook (Retina, 12-inch, Early 2015) (macOS Mojave v10.14)
- Raspberry Pi 4 ModelB 4GB (RS・OKdo版)
- 16GB Micro SDカード（HI DISC社製SD HCカード）
- Micro SDカードリーダー
- Macbook付属のUSB type-Cケーブル・電源アダプタ（ラズパイの電源用）
- Wi-Fi環境（契約していたポケットWi-Fi。接続台数が見られるものだと便利）

※ラズパイ、Micro SDカードリーダーはAmazonで買いました。
[ラズパイ](https://www.amazon.co.jp/【国内正規代理店品】Raspberry-Pi4-ModelB-ラズベリーパイ4-技適対応品/dp/B081YD3VL5/ref=cm_cr_arp_d_product_top?ie=UTF8)
[Micro SDカードリーダー](https://www.amazon.co.jp/gp/product/B07P1XB7BG/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1)
※Micro SDカードは、最小で3.8GBないとRaspberry Pi OSが入らないようです。

###アプリ・ソフト
- Raspberry Pi Imager v1.4（OS導入用）
- Visual Studio Code v1.49.0（テキストエディタとして）

#1. Raspberry Pi OSの導入
まずは、[このサイト](https://www.raspberrypi.org/downloads/)からMacに、Raspberry Pi Imagerというアプリを入れます。「Raspberry Pi Imager for macOS」を選択してください。
これは、画面に従って操作を進めると、Micro SDカードにRaspberry Pi OSを入れてくれる便利アプリです。
Raspberry Pi Imagerを導入したら、MacにMicro SDカードを挿しましょう。
Raspberry Pi Imagerを起動します。![スクリーンショット 2020-10-17 21.12.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/856208/beb024f8-9fab-f005-a025-090958f6b879.png)
画面の左から順に、
CHOOSE OSでは「Raspberry Pi OS (32-bit)」
CHOOSE SD CARDでは、さっき挿したSDカード
を選択します。
最後にWRITEを選択すると、「SDカード内のデータ全部消えるけどいい？」表示が出てくるので「YES」で先に進みます。
書き込みが終わるまでしばらく待ちます（私の場合は10分程度でした）。
終わったら「もうSDカード取っていいよ」表示が出ますが、まだ挿しておいてください。
Raspberry Pi Imagerは、この時点で終了して大丈夫です。

#2. SSH接続・Wi-Fiの設定
SSH接続とWi-Fi利用のための設定をしていきます。
それぞれ、Macとラズパイを繋ぐこと、ラズパイ自体がWi-Fiに繋がることに必要な設定です。
（SSH接続とは、同じローカルネットワーク内のコンピューターを遠隔操作するための技術です。）
Macでターミナルを開いて、以下の順にコマンドを打ち込み、先ほどbootという名前のついたSDカード内に
「sshファイル」
「wpa_supplicant.confファイル」
を作ります。
（cdで上に上がっているのは、Macのフォルダ構成の最上層に行くためです。そこにVolumes/bootが存在するので。）

```:macOS
$ cd ..
$ cd ..
$ cd Volumes/boot
$ touch ssh
$ touch wpa_supplicant.conf
```

sshファイルは空のままで大丈夫です。このファイルの存在自体が、ラズパイに「SSH接続を有効にする」という命令になるようです。
続いて、テキストエディタで、SDカード内のwpa_supplicant.confの内容を次のように書きます。

```:wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="自分のWi-FiのSSID"
    psk="自分のWi-Fiのパスワード"
}
```

「wpa_supplicant.conf」は、電源を入れたラズパイが、自動的に接続するWi-FiのSSID・パスワードその他を設定しているファイルです。

これらが完了したら、Micro SDカードをMacから外して、ラズパイの後ろに挿しましょう。

#3. ラズパイの起動とWi-Fi接続確認
ここでは、ラズパイの起動が上手くいっているか、Wi-Fiに繋がっているかを確認します。
まず、ラズパイのUSB type-Cの穴に、電源を繋いだUSB type-Cケーブルを挿します。
赤は給電中は常に光るランプ、常時点灯です。
緑はSDカード読み込みの際に色々点滅し、読み込みが終わると消えます。
緑が消えた時点で、上手くいっていればWi-Fiに接続しています。
ポケットWi-Fiなどで接続台数の確認が可能なら、確認してみましょう。
１台増えていたらWi-Fi接続成功です！
※Wi-Fi機器のプライバシーセパレーター機能（機器同士の接続を遮断する機能）をオフにしておきましょう。でないと、ラズパイがWi-Fiに繋がってるのにMacと繋げないという自体が発生します。

#4. ラズパイのIPアドレスを調べる
Macのターミナルで、次のコマンドを実行します。

```:macOS
$ arp -a
```

すると、同じネットワーク内のIPアドレスやMACアドレスが次のように表示されます。

```:macOS
? (IPアドレス) at MACアドレス on ~~~~~ [ethernet]
```

この中から、ラズパイのIPアドレスを探し、メモしておきます。
どのIPアドレスか分からない時は、一回ラズパイの電源を切ります（電源コードを抜きます、本当はあまり良くないようですが…）。
上記コマンドを再度実行し、消えてるやつがいたらそれがラズパイです。
（参考サイトでは、ラズパイのMACアドレスは`b8:27:eb`から始まると書いてありましたが、私のラズパイの場合は`dc:a6:32`から始まりました。ラズパイ４だから変わったのでしょうか？）
追記：b8:27:ebはラズパイ3のMACアドレスのようです。手に入れたラズパイ3で同様のことをして判明しました。

#5. Macとラズパイの接続
いよいよMacとラズパイをSSH接続していきます。
緑ランプ消灯後、Macのターミナルで以下のコマンドを実行します。

```:macOS
$ ssh pi@raspberrypi.local
```

パスワードを聞かれるので、「raspberry」（初期パスワード）と入力してreturnキーを押します。
上手くいくと、次のように表示され、接続成功していると分かります！

```:RaspberryPiOS
pi@raspberrypi:~ $
```

（上手くいかないと、ずっとターミナルの反応がありません。原因を探しましょう。）

SSH接続したまま、以下のコマンドでVNCサーバーをインストールします。

```:RaspberryPiOS
pi@raspberrypi:~ $ sudo apt-get install tightvncserver
```

続いて、以下のコマンドでサーバーを立ち上げます。

```:RaspberryPiOS
pi@raspberrypi:~ $ sudo tightvncserver
```

初めての立ち上げの場合は、接続に必要なパスワードを設定します。その後、
`New 'X' desktop is raspberrypi:1`
のように表示されたことを確認します。
この末尾プラス5900、すなわち5901がポート番号で、この後使います。

続いて、Finderの、移動→サーバへ接続
![スクリーンショット 2020-11-05 21.22.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/856208/abe2e55a-6487-ae69-a40a-b470059e7c53.png)

アドレスの欄に、
`vnc://先ほどのIPアドレス:ポート番号`
と入力して接続。
`vnc://xxx.xxx.xx.x:5901`
となると思います（xは数字）。
![スクリーンショット 2020-11-05 21.24.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/856208/cdcaa33c-fe99-fa2b-6246-caf30858e11e.png)

先ほど設定したパスワードを入力します。
![スクリーンショット 2020-11-05 23.01.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/856208/ca80b4e5-013a-671f-076e-2c48e1b0df7c.png)


すると、接続完了し、Raspberry Pi OSの画面が表示されます！！！
![スクリーンショット 2020-10-17 23.14.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/856208/f2c9ec32-f602-0b9e-336e-3c6e7bcb19d0.png)
ラズパイでの作業が終わったら、ラズパイ画面上の左上のマークからシャットダウンするか、次のコマンドをSSH接続したMacのターミナルで打ち込んでシャットダウンしましょう。
（電源コードを引き抜くのは良くないみたいです。）

```:RaspberryPiOS
pi@raspberrypi:~ $ sudo shutdown -h now
```

#まとめ
Macだけで動かせました！！
必要最低限のものは、Mac、ラズパイ、Micro SDカード、SDカードリーダー、電源、Wi-Fiと分かりました。
動かない・繋がらない時は、諸先輩方の記事をググると色々出てきます。

#参考記事
[Qiita|macだけでRaspberry Piに接続してみた](https://qiita.com/murs313/items/81757bf8bc74b6b76cdf)
[Qiita|ラズパイがSSHに繋がらないときに疑うこと](https://qiita.com/cvusk/items/4d6b97defcbcba79f181)
[ラズパイダ|Raspbianのなどの書き込み総合ソフト「Raspberry Pi Imager」がリリース](https://raspida.com/release-raspberry-pi-imager)