Jetson nanoの初期設定からOpenCVで画像認識するまで

# Jetson nano
Jetsonは、GPUで有名なNvidiaから発売されている、GPUを搭載しているシングルボードコンピュータです。
2020/02/14に発売された最新のB01 Jetson nanoを今回は利用します。
Amazonで本体だけで13,000円程度でした。

Jetson nanoはRaspberry Piとよく比較されますが、Jetson nanoはGPUが搭載されているので機械学習や画像認識などで強みがありそうです。

Jetson nanoと電源アダプタ(5V)とSDカードを購入しました。
SDカードは大容量で安いものもありますが、速度に影響が出るので、少し高くてもある程度有名どころをかっておくのがおすすめです。
あと、大きすぎるとまるっとバックアップする際に大変で、小さすぎるとOSだけでいっぱいいっぱいになってしまうのでJetson nanoの場合64GBくらいが丁度いいかなと思います。

<img width="400" alt="スクリーンショット 2020-07-28 15.01.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74622/fe3c9940-e4fd-2622-bb49-76577da10db0.jpeg">


# 初期設定

## OSのダウンロード

公式で公開されているOSはこちらです、
https://developer.nvidia.com/embedded/downloads
で、Jetson Nano Developer Kit SD Card Image をDownloadしました。
６．３７GBありました。

<img width="999" alt="スクリーンショット 2020-07-28 15.01.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74622/7c43468b-f005-c5c8-4d07-5e63fb87ae81.png">

**ですが、** 今回は、デフォルトで様々なアプリがインストールされていて、SSHなどの初期設定も完了している、
https://github.com/NVIDIA-AI-IOT/jetcard
こちらからダウンロードできるOSを利用します。
OpenCVやTensorflow、 Jyupiterも最初からインストールされているので、120%こちらがおすすめです。
OpenCVやTensorflowのダウンロードがうまく行かず2日くらい無駄にしました💦

[jetcard_v0p0p0.img ](https://drive.google.com/open?id=1wXD1CwtxiH5Mz4uSmIZ76fd78zDQltW_)
上記のGithubに記載のこちらからimageをダウンロードしてください、7GBほどあります。


## OSのSDカードへの書き込み

OSをSDカードに書き込む際に、balena Etcherを利用します。
以下のURLからダウンロード可能です。
https://www.balena.io/etcher/

先程DownloadしたOSのzipを選択して、差し込んだmicro SDカードを選択してFlash!ボタンです。
OSのzipは展開せずにそのままでも選択できました。

<img width="400" alt="スクリーンショット 2020-07-28 15.06.12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74622/1ddafe7f-b537-0ac2-3527-695c22f8aa4a.png">

このような表示になってSDカードへの書き込みが進みます。

<img width="400" alt="スクリーンショット 2020-07-28 15.08.13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74622/84821b31-fb82-bcf7-f3de-d244253c01fd.png">

## ハードの設定

OSを書き込んだSDカードを差し込みます
・場所が少し分かりづらかったのですが、USBやHDMIの逆サイドにありました。
<img width="400" alt="スクリーンショット 2020-07-28 15.08.13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74622/6ae4f0c8-1a0b-d54f-c464-187bef73bea1.jpeg">



・電源はmicroUSBでも可能ですが、今回は購入したAC電源を利用します。
AC電源を利用するにはジャンパーピンを購入時の位置から移動して、microUSB給電からAC電源給電に変更する必要があります。

とても分かりにくいですが、このジャンパーピンを
<img width="400" alt="スクリーンショット 2020-07-28 15.08.13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74622/300db59a-1215-d1ab-325b-d4b809190935.jpeg">

こうします
<img width="400" alt="スクリーンショット 2020-07-28 15.08.13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74622/60a237e6-9cf3-2ce6-3e41-1c716183a9d2.jpeg">

初期状態で、ジャンパーピン右側のピンが１本見えているのですが、ジャンパーピンを一度抜いて２本のピンを繋げる感じです。

その後AC電源を接続するとピカッと右側のLEDが光って電源が入ったことがわかります。
<img width="400" alt="スクリーンショット 2020-07-28 15.08.13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74622/b27bd558-8457-ff8f-1a90-09dc82dc47d7.jpeg">

ついでにLANケーブルも接続しました。MacBookから有線で接続しています。
Jetson nanoはWifiモジュールがないので、Wifiを利用したい場合は別途購入が必要です。この点はRaspberry Piには劣りますね。

## SSH接続
それではSSH接続ですが、sshのパスワードとユーザー名はいずれも jetson です。

```
ssh jetson@***.***.***.***
```

Mac OSの場合 `arp -a` コマンドでネットワーク上のIP一覧が見れます。その中で `192.168.2.16` などのbridgeと表記があるものがjetsonである可能性が高いです。

# OpenCVの導入
OpenCVのインストールなどを書こうと思いましたが。jetcardのOSを使うと何もする必要がなかったです。