Macで楽々RaspberryPi  キーボード・ディプレーなしにラズパイを使う

# はじめに
　私は、ラズパイに関しては雑誌に何度も記事を掲載しているほど使い込んでいるのですが、何を隠そうディスプレーもキーボードも持っていません。
ラズパイは、本体は3000円程度と安価なのですが、キーボードとディスプレイをそろえるとなると、費用的な負担もそれなりだし、大きさ的にもかざばってしまい、結構その点のハードルが高いと思います。
　しかし、パソコンがMacだとイーサケーブルとイーサアダプタだけでGUIを含めて使えるようになるのです。その手順をきれいにまとめた記事は意外とないので、自分の備忘録を兼ねて手順をアップしておきます。

# アーキテクチャ
　「アーキテクチャ」というほどおおげさなものではないのですが、どういう仕組みでキーボードもディスプレーもいらなくできるかを概念的に示します。

## 物理接続レベル
![raspi-1.png](https://qiita-image-store.s3.amazonaws.com/0/206130/fdfb4afb-d209-bbfa-7e45-c15013881e88.png)

　上の図が物理接続レベルでのラズパイとMACの関係です。
ラズパイとMAC間はイーサネットでピア接続(スイッチなしにケーブルだけで直接つなぐ)します。Macはイーサアダプタを持っていないので、Mac側でサンダーボルトかUSB接続のイーサネットアダプタは必要です。ケーブルと、このアダプタが今回説明するラズパイの使い方を行う際、必要なハードウェアとなります。それ以外は一切不要です。普段Macを使っている人ならさすがにイーサのアダプタぐらいは持っているかと思います。そういう人はほとんど追加投資なしにラズパイが使えることになります。
　Macから先は、普通の使い方通りWiFi接続でインターネットにつながっていることも前提です。

## IP接続レベル
![raspi-2.png](https://qiita-image-store.s3.amazonaws.com/0/206130/34babb3d-a488-56f0-13e6-aa6f13099d30.png)

　では、IPレベルではどのようになっているのか示したのが上の図です。ラズパイとMac間はDHCPでつながっています。MacはNATサーバーの役割もになっており、ラズパイからインターネット接続要求があった場合、Mac経由でそのリクエストは対応されます。
　このような動きをするのに唯一必要な設定は、MAC側で**「インターネット共有」**を行うことになります。具体的な手順は後ほど説明します。

## XWindowsレベル
![raspi-3.png](https://qiita-image-store.s3.amazonaws.com/0/206130/52e88c38-1f30-7bb0-475c-d96800843d35.png)

　IP層までつながったとして、ディスプレーもキーボードもなしでラズパイのGUIアプリを使うためにはXWindowsが使える必要があります。この課題に対応するのがVNCプロトコルです。
　ここで、一つ注意すべきことがあります。
ラズパイには、デフォルトでReal VNCサーバーが導入済みです。またMacにはOSに最初からVNCクライアント機能が含まれています。普通に考えるとソフトの導入なしにVNCプロトコルでラズパイ・MAC間がつながりそうなのですが、ラズパイ側のReal VNCにクセがある関係でこのまま接続することはできません。
　ネット上によく出ている情報で「ラズパイにTigerVNCサーバーを導入すべし」というものがありますが、この情報は間違っています。確かにTigerVNCにするとMac側はOSで使えるVNCクライアントとつながるのですが、ラズパイ側で使えないアプリ(例えばMatehmeticaとか)がでてしまうのです。
　正しい対応は、**Mac側にReal VNCクライアントを導入する**こととなります。これから説明する手順はこの方針に沿ったものとなります。

## おまけ　名前解決
　私が基盤系をやっていた20年くらい前は、IP的に接続できてもその後でhostsやDNSの設定をしないと、ホストを名前で参照できないという問題がありました。
　しかし、今や便利な時代になって、mDNSというプロトコルを使うと、hostsファイルやDNSの設定なしに相手先サーバーをホスト名で参照可能です。幸いにしてラズパイもMACもこのmDNSのプロトコルに対応しているので、IP的に接続さえできてしまえば、接続相手のラズパイは自動的に``raspberrypi.local``という名前で参照可能になります。これも**ラズパイ使うならPCはMACがお勧め**である理由の一つです。

# 買い物編
　それでは、実際に必要なものをそろえるところから説明します。

## ラズパイ本体とマイクロSDカード

![IMG_1796.jpg](https://qiita-image-store.s3.amazonaws.com/0/206130/7cdef8c9-e7a4-0424-0c0d-794966df3b1f.jpeg)

　当たり前ですが、この2つは必須です。
　ラズパイ本体に関しては、写真のようにケースを買った方が持ち運びに便利だと思います。
　マイクロSDカードは選択がちょっと難しいです。私が１度やってしまった初歩的なミスとして、マイクロでないSDカードを買ってしまい、パソコンには入るのですが、ラズパイで使えなくて泣いたことがあります。上の写真のように本体が小さくなっているタイプである必要があります。
　SDカードのスペックを決める属性として**CLASS**と呼ばれる伝送速度の仕様と、**容量**があります。
 伝送速度は**CLASS 10**にした方がいいようです。容量は初めて試してみるなら**8GB**で十分、いろいろな用途で使い込みたいなら**16GB**という感じでしょうか？
　あと、上の仕様を満たしていてもメーカーにより相性の問題がいろいろあるみたいです。私はいつも東芝を使うことにしています。このあたりの話はネットでいろいろ調べている人がいるみたいなので、そちらで研究することをお勧めします。

## イーサネットアダプタ、ケーブル

![IMG_1802.jpg](https://qiita-image-store.s3.amazonaws.com/0/206130/38529831-968e-acaa-4fdd-f1112f8ec9dc.jpeg)

　写真に写っているのはサンダーボルト接続の純正アダプタです。私はもう一つ、サードパーティ製のUSB接続アダプタも持っていてこちらでも普通に使えています。
　私が基盤系の仕事をしていた20年前はイーサケーブルにも**ストレート**と**クロス**というものがあり、用途で使い分ける必要があっていつもカバンには2種類持ち運んでいたのですが、今は自動的にスイッチしてくれるので、そういう必要はなくなりました。イーサケーブルにも規格があり、私が普段使っているのは**カテゴリ6**という一番品質のいいものです。カテゴリ6だと、ケーブルが太くて曲がりにくく持ち運びに不便なものが多いのですが、写真のものはケーブルが柔らかいところが気にいっています。(ケーブルの印字を見てみたらエレコム製のようです)

## 電源アダプタ、ケーブル

![IMG_1798.jpg](https://qiita-image-store.s3.amazonaws.com/0/206130/550e0e50-1747-6b15-acf6-d763a92be5b4.jpeg)

　こちらに関しては特に語るところもないので解説は省略します。


# 導入編
　材料が全部そろったらいよいよ導入です。MAC側の準備から始めます。

## ラズパイOSダウンロード
　最初にラズパイOSのダウンロードをします。
[ダウンロードサイト](https://www.raspberrypi.org/downloads/)にアクセスします。

![スクリーンショット 2019-04-07 10.24.37.png](https://qiita-image-store.s3.amazonaws.com/0/206130/3fa73e1f-41cb-e790-5b0e-bd5beccb1d6a.png)

上のトップ画面で**Raspbian**を選びます。

![スクリーンショット 2019-04-07 10.27.34.png](https://qiita-image-store.s3.amazonaws.com/0/206130/8fb32dbb-5574-3cfc-6722-ad6a2ffb8cce.png)

　次の画面では、左上の「Raspbian Stretch with desktop and recommended software」(ソフト全部入りという意味)を選択します。ダウンロードファイルは2019年4月7日時点では``2018-11-13-raspbian-stretch-full.zip``という名前でした。

## Real VNCクライアント導入
　使うことになるのは一番最後なのですが、ラズパイOSのダウンロードには相当時間がかかるはずなので、待っている間に次の作業を行っておきます。
[Real VNCダウンロードサイト](https://www.realvnc.com/en/connect/download/viewer/)

　こちらはあっという間にダウンロードが終わるはずですので、ダウンロードしたdmgファイルをダブルクリックし、下記のガイドに従ってアプリをアプリケーションフォルダーにdrag & dropするだけで、導入は完了です。

![スクリーンショット 2019-04-07 10.37.46.png](https://qiita-image-store.s3.amazonaws.com/0/206130/2a98a536-83b2-3546-7ca5-9cb73c2021e7.png)

## SDカードのフォーマット
　ダウンロード中のラズパイOSをSDカードにコピーするのですが、その前にSDカードのフォーマットをしておく必要があります。
　まず、MacにSDカードを挿入します。挿入後の様子は私のMacの場合だと次の写真のような感じです。

![IMG_1799.jpg](https://qiita-image-store.s3.amazonaws.com/0/206130/46564057-e4a8-8f76-e61d-9e938c26c109.jpeg)

　次に「アプリケーション」->「ユーティリティー」の配下の「ディスクユーティリティ」を起動します。
![スクリーンショット 2019-04-07 11.29.51.png](https://qiita-image-store.s3.amazonaws.com/0/206130/cac60568-206d-e47b-6dab-11c200a36b87.png)

　上の図のように「APPLE SD Card Reader Media」が選択されていることを確認した上で**(注意:選択先を間違えると大変なことになってしまいますので十分注意してください)**、画面上部の「消去」アイコンを選択します・

![スクリーンショット 2019-04-07 11.03.55.png](https://qiita-image-store.s3.amazonaws.com/0/206130/23e75aa6-730e-fec5-b755-16c39ddc1b4f.png)

上のようなパネルが出たら、

**名前**: RASPI 
**フォーマット**: MS-DOS(FAT) 
**方式**: マスター・ブート・レコード

を入力・選択し、「消去」ボタンをクリックします。

**(再度注意　対象が自分のハードディスクでなく、SD Cardであることを確認してください)**

　フォーマットが無事終わると、下のような画面がでてくるはずですので、指示に従い「完了」ボタンをクリックします。

![スクリーンショット 2019-04-07 11.04.14.png](https://qiita-image-store.s3.amazonaws.com/0/206130/b7f3657e-e98d-e244-cbb4-d15d2f81f1d5.png)

## ラズパイOSの導入
　他のことをやっているうちにラズパイOSのダウンロードも終わったことかと思います。最初に始めたラズパイOSのダウンロードが完了したら、それをSD Cardにコピーします。コピーはMacの場合ddコマンドが一番簡単です。次の例を参考にddコマンドを実行してください。

### zipファイルの解凍
　まず、先ほどダウンロードしたファイルを解凍します。方法はFinderからダブルクリックでも、unzipコマンドでもいいです。

### ターミナルをひらく
　ターミナルアプリを開いて、カレントディレクトリはファイルをダウンロードした場所にしてください。
lsコマンドの実行結果は下記のように、解凍後のラズパイOSイメージファイルが含まれているはずです。

```
$ ls -lt
total 14211072
-rwxrwxrwx@ 1 makaishi  staff  1978611497  4  7 11:53 2018-11-13-raspbian-stretch-full.zip
-rwxrwxrwx@ 1 makaishi  staff  5297405952 11 13 14:24 2018-11-13-raspbian-stretch-full.img
```

### デバイス名の確認
　dfコマンドを実行し、SD Cardのデバイス名を確認します。``/Volumes/RASPI``のあるところがSD Cardのデバイスです。下の例だと、``/dev/disk2``になります。うしろの``s1``は取った名前で考えます。

```
$ df
Filesystem    512-blocks      Used  Available Capacity iused               ifree %iused  Mounted on
/dev/disk1s1   489825072 422363096   59851376    88% 1943807 9223372036852832000    0%   /
devfs                394       394          0   100%     682                   0  100%   /dev
/dev/disk1s4   489825072   6291552   59851376    10%       5 9223372036854775802    0%   /private/var/vm
map -hosts             0         0          0   100%       0                   0  100%   /net
map auto_home          0         0          0   100%       0                   0  100%   /home
/dev/disk2s1    15184192      4928   15179264     1%       0                   0  100%   /Volumes/RASPI

```

### ディスクのumount
　ローレベルのddコマンドでコピーするので、コピー時には対象ディスクはOSから見えない状態にします。そのため次のコマンドを発行してください。デバイス名は環境によって変わりますので、上の結果次第で``/dev/disk3``などと読み替えてください。

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

## OSファイルのコピー
　次の例を参考にOSファイルのコピーを行います。コマンド実行はルート権限が必要なので、sudoコマンドで実行します。
　**ここでも``of``デバイス番号を間違えると大変なことになりますので注意して下さい。**

``if=``の後には入力ファイル名を指定します。
``of=``の後には、先ほど調べたデバイス名の頭に'r'をつけます。
``conv=sync``のオプションを忘れないようにしてください。これをつけないと、コピー途中でエラーになってしまうことがあります。

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

　このコマンドは途中経過を全然出してくれないですが、``ctrl+T``で状況を表示してくれるので、それで適宜確認をしてみてください。

## ssh ファイルの作成(重要)
　これからラズパイOSを起動して初期設定を行うに際して一番最初はsshコマンドでラズパイに入ります。しかし、最新のラズパイOSはデフォルトでリモートからのsshアクセスを認めていません。これを可能にするのが次のコマンドとなります。

　上のddコマンドが正常に終わると、/Volumes/boot ディレクトリがMac側から見えるようになっているはずです。
その点を確認した上で、次のコマンドを実行します。

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

　このおまじないが終わったら、umountコマンドで、bootディレクトリをOSから見えないようにします。

```
$ sudo umount /Volumes/boot
$ diskutil umountDisk /dev/disk2
```

　2つめのコマンドが正常終了したら、SD Cardを安全に抜き取ることができます。

## ラズパイの初期起動
　これでラズパイを初期起動するための準備はすべて整いました。まず、先ほどMacから抜き取ったSD Cardをラズパイに入れます。入れる場所は下の写真を参考にしてください。

![IMG_1800.jpg](https://qiita-image-store.s3.amazonaws.com/0/206130/65955fe4-4e2d-7d90-801b-63b5b38bde86.jpeg)

　上の写真は挿入途中の状態です。SD Cardは一番奥まで押し込んだ状態にします。
　カード挿入が終わったら、電源を入れ、イーサネットはパソコン(Mac)とピア接続にします(ハブを経由せず、直接つなぐ方法です)。全部つなぎ終わった状態の写真が下のものになります。

![IMG_1801.jpg](https://qiita-image-store.s3.amazonaws.com/0/206130/25b1b51f-3696-612d-f30a-20f70b51e201.jpeg)

## Mac側のネットワーク設定
　いよいよラズパイにログインするのですが、その前にMac側で設定が必要です。それは冒頭のアーキテクチャのところで説明したMacをNATサーバーとして機能させるための設定です。

![スクリーンショット 2019-04-07 12.31.47.png](https://qiita-image-store.s3.amazonaws.com/0/206130/56bf404e-4b77-74f3-aef8-518d7aeadccf.png)

　まず、Macの「システム環境設定」を選んで、その中から「共有」のアイコンをダブルクリックします。

![スクリーンショット 2019-04-07 13.28.58.png](https://qiita-image-store.s3.amazonaws.com/0/206130/7f99222d-06af-4559-6b1b-6b5573c0dc36.png)

(1) 「共有する接続経路」にはどのインターフェースでインターネットに接続するかを指定します。冒頭のアーキテクチャの図のケースの場合「**Wi-Fi**」になります。

(2) 「相手側のコンピュータのポート」は、Mac側から見た場合、どのインターフェイスからNAT先につながるかを指定します。今のケースでは「**Thunderbolt Ethernet**」になります。

(3) (1)と(2)の設定が終わったら「**インターネット共有**」のチェックをつけます。下のような画面がでてくるので、「**開始**」で答えます。

![スクリーンショット 2019-04-07 13.29.07.png](https://qiita-image-store.s3.amazonaws.com/0/206130/f1025786-4009-968b-0c95-1b9deb4ab61d.png)

　正しく設定ができたら、システム環境設定の画面を閉じます。

## ラズパイへ最初のログイン
　これで全部の準備は整いました。すべての設定が正しければ、sshコマンドでログインができるはずです。
先ほど開いたターミナルから次のコマンドを実行してみてください。

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

　もし、パスワードを聞かれたら接続に成功しています。初期パスワード``raspberry``を入力してログインしてください。
　なぜ、いきなり``raspberrypi.local``という名前でつながるかについては、アーキテクチャのところで説明しておきました。

　下記のようなメッセージが出る場合もあります。これは、違うRASPI OSに同じMACから接続したことがある場合のメッセージです。

```
$ ssh pi@raspberrypi.local
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The ECDSA host key for raspberrypi.local has changed,
and the key for the corresponding IP address fe80::62c8:c501:d5b1:8d0e%bridge100
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:0gX3UzG8gNlBiljncte9n65Vgi+sVE5RO0868mScqt8.
Please contact your system administrator.
Add correct host key in /Users/makaishi/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/makaishi/.ssh/known_hosts:2
Password authentication is disabled to avoid man-in-the-middle attacks.
Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.
pi@raspberrypi.local: Permission denied (publickey,password).
```

　この場合、次のようにエディタで``known_hosts``ファイルを開いて、``raspberrypi.local``のエントリを削除すると、ssh接続できるようになります。

```
$ vi ~/.ssh/known_hosts
```

## ラズパイ初期設定

　ラズパイ初期設定のお作法で、次の一連のコマンドを実行してOSを最新版にアップデートしてください。(ここからのコマンドは、先ほどログインに成功したsshコマンドで接続したラズパイ側のコマンドになります)
　``sudo apt upgrade``コマンドは導入を続けるかを聞いてきますので、``y``で答えます。
　最新版のモジュールはインターネット経由でダウンロードされるのですが、アーキテクチャで説明したNAT機能が有効なため、これらのコマンドが使えることになります。

```
pi@raspberrypi:~ $ sudo apt update
pi@raspberrypi:~ $ sudo apt upgrade
pi@raspberrypi:~ $ sudo apt dist-upgrade
```


## VNC接続の準備

　Real VNCサーバーはラズパイOSにデフォルトで含まれています。そこで設定を有効化するだけで使えるようになります。以下の手順にしたがって有効化してください。

```
pi@raspberrypi:~ $ sudo raspi-config
```

![スクリーンショット 2019-04-07 14.19.58.png](https://qiita-image-store.s3.amazonaws.com/0/206130/17099c36-948e-040d-d0c8-3182ffec8a2b.png)


-> 5. Interfacing Options

![スクリーンショット 2019-04-07 14.20.14.png](https://qiita-image-store.s3.amazonaws.com/0/206130/22cebf50-403f-33af-c586-ec0318c1a833.png)

-> P3 VNC

![スクリーンショット 2019-04-07 14.20.27.png](https://qiita-image-store.s3.amazonaws.com/0/206130/174ab268-3400-de8a-3a68-9c4b63c7ada8.png)

上の画面には``Yes``で答えます。

![スクリーンショット 2019-04-07 14.20.41.png](https://qiita-image-store.s3.amazonaws.com/0/206130/1d400e8d-77f9-6e59-28f4-d3b75b1027c6.png)

メインの画面に戻ったら``Finish``を選択します。
　日本語化手順を含め、これ以外にもラズパイとしてやっておくべき初期設定はあるのですが、それは今回の記事の本題からはずれるので省略します。他の記事などを参考にするようにして下さい。

この設定が完了したら、次のコマンドでラズパイをいったん再起動します。

```
pi@raspberrypi:~ $ sudo reboot
```

## VNC接続

　ラズパイの再起動が完了したら、Mac側ですでに導入済みのReal VNCクライアントを起動します。

　下の画面が出てきたら``raspberrypi.local``と入力してEnterキーを押します。

![スクリーンショット 2019-04-07 14.16.56.png](https://qiita-image-store.s3.amazonaws.com/0/206130/e2c776d1-a526-86d7-94c7-1034e03c756d.png)

　ラズパイ側のVNCサーバーが有効な場合、下のような画面が出てきますので、「Continue」で答えます。
この画面が出てこない場合は、VNCサーバーの機能が有効でないことが考えられますので、ラズパイ側の設定を確認してください。

![スクリーンショット 2019-04-07 14.27.35.png](https://qiita-image-store.s3.amazonaws.com/0/206130/84d40124-5201-d781-beb6-89255e59abab.png)

続いて下のようなログイン画面がでてきます。
Username: **pi**
Password: **raspberry**
で、Remember passwordにチェックをつけて「OK」をクリックします。

![スクリーンショット 2019-04-07 14.27.56.png](https://qiita-image-store.s3.amazonaws.com/0/206130/7c724952-d73a-0e53-4468-b393f342201a.png)

下のような画面がでてくれば、VNC接続に成功しています。

![スクリーンショット 2019-04-07 14.34.51.png](https://qiita-image-store.s3.amazonaws.com/0/206130/c3c78ef3-5da8-5e00-e857-0d4e22f22e81.png)

## 画面設定変更
デフォルトの設定では画面の解像度が低く使いにくいので、次の設定変更を行います。

デスクトップ左上のアイコンをクリック、「Preference」->「Raspberry Pi Configuration」

![スクリーンショット 2019-04-07 14.37.37.png](https://qiita-image-store.s3.amazonaws.com/0/206130/b9ea7753-18f1-3936-be41-e53998586d65.png)

システムタブから「Resolution」をクリックして解像度を1024x768に変更します。

![スクリーンショット 2019-04-07 14.38.29.png](https://qiita-image-store.s3.amazonaws.com/0/206130/1f883873-f15c-43be-8776-478222bf58f7.png)

リブートするかの質問には``Yes``で答えます。

![スクリーンショット 2019-04-07 14.39.47.png](https://qiita-image-store.s3.amazonaws.com/0/206130/a3a8a2ec-93ba-22bf-c9fe-e5b341d61eda.png)

リブート後に再度VNC接続をした様子は下記のとおり。解像度が大きく、使いやすくなりました。

![スクリーンショット 2019-04-07 14.44.05.png](https://qiita-image-store.s3.amazonaws.com/0/206130/045e8ea9-ac35-aa47-e280-2d8856a7d592.png)

# おまけ Mathematicaの利用例
　あまりみんなに知られていないのですが、普通に買うと10万円程度する数式処理ソフトMathematicaがラズパイなら無料で利用可能です。
上の設定をすれば、Macからこんなこともできます。

メニューから「Programming」->「Mathematica」

![スクリーンショット 2019-04-07 15.06.35.png](https://qiita-image-store.s3.amazonaws.com/0/206130/403173b4-0927-734f-cca5-13795da2ac00.png)

二次方程式を解いたり、三次元グラフを描いた例。

![スクリーンショット 2019-04-07 15.06.12.png](https://qiita-image-store.s3.amazonaws.com/0/206130/8eeb7b9b-01b3-2eef-2150-3faef5dbb776.png)

# おまけその2 Mathematicaの紹介記事
　実は、ラズパイマガジン2018年10月号〜2019年6月号に、「**Mathematicaで学ぶ機械学習超入門**」という記事を連載しています。
Mathematicaについてもっと詳しく知りたい・ラズパイで機械学習を勉強したいという方はこちらも是非よろしくお願いします。

[ラズパイマガジン2018年10月号](https://trendy.nikkeibp.co.jp/atcl/pcmedia/181/091000029/)
[ラズパイマガジン2018年12月号](https://trendy.nikkeibp.co.jp/atcl/pcmedia/181/110200031/)
[ラズパイマガジン2019年2月号](https://trendy.nikkeibp.co.jp/atcl/pcmedia/181/010800032/)
[ラズパイマガジン2019年4月号](https://trendy.nikkeibp.co.jp/atcl/pcmedia/181/030600035/?)