Jetson Nanoの環境構築手順

Jetson Nanoは、NVIDIAが開発したAIエッジデバイス向けのプラットフォームです。この小型のデバイスは、高度な計算能力を持ち、AIや機械学習のタスクを効率的に実行することができます。
今回は、お仕事でJetson Nanoを使う機会が出来たので、その環境構築手順をまとめておく。

![71LzDCFs3EL._AC_SL1500_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/92867/1259962b-93d9-bfe6-04d3-d31a2e4e2444.jpeg)


# 1. Jetson NanoのOSイメージ (JetPack) の書き込み

### JetPackのダウンロード:
1\. NVIDIAのJetPack SDKのページから最新のJetPackをダウンロードします。[JetPack SDKダウンロードページ](https://developer.nvidia.com/embedded/jetpack)
JetPackのアーカイブページはこちら。[JetPack Archive](https://developer.nvidia.com/embedded/jetpack-archive)
注意: JetPack 4.6.3がJetson NanoのUbuntu 18.04ベースのOSでの最新バージョンです。使用するバージョンに注意してください。

### JetCardの利用 (オプション):
NVIDIAが提供するJetson NanoのAIプログラミング用のイメージ。TensorFlowがプリインストールされており、ネットワーク経由でJetson Nano上のJupyterLabにアクセス可能。

### SDカードのフォーマット:
1\. [SDメモリカードフォーマッター](https://www.sdcard.org/downloads/formatter/)を使用してSDカードをフォーマットします。
2\. SDカードをPCに接続し、「フォーマット」をクリックしてフォーマットを実行します。

使用したマイクロSD: [SanDisk Ultra SDSQUNR-128G-GN6MN](https://amzn.to/3Zes59V)
[BUFFALO USB3.0 microSD/SDカード専用カードリーダー](https://amzn.to/3RyJZ5N)
![スクリーンショット 2023-09-12 9.45.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/92867/8834ff62-06c2-d39e-e229-60388b9ee8ab.png)

### SDカードへのイメージ書き込み:

SDカードをPCに接続します。
1\. [balenaEtcher](https://etcher.balena.io/)を起動します。
2\. イメージを選択したら、SDカードを選択します。
3\. "Flash"をクリックして書き込みを開始します。
![スクリーンショット 2023-09-12 9.50.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/92867/fc0cf27e-62d5-6b31-c714-fe5f5b6fec19.png)

# 2. JetsonNanoの初期設定と日本語入力設定
Jetson Nanoを初めて起動する際には、いくつかの初期設定が必要です。また、日本語入力を行いたい場合には、追加の設定が必要となります。

## Jetson Nanoの初期設定
1\. Jetson NanoにmicroSDカードを挿入し、電源を入れます。
2\. 初回起動時に表示されるセットアップウィザードに従い、基本的な設定を行います。これには、言語、キーボードレイアウト、タイムゾーン、ユーザーアカウントの作成などが含まれます。
3\.Ubuntuの更新:

不要なソフトの削除やパッケージの更新を行う。
```bash
sudo apt remove libreoffice-* -y
sudo apt install apt-utils -y
sudo apt update
sudo apt upgrade -y
```

## 日本語入力設定
1\. System Settingsを開き、Language Supportを選択。
2\. 言語サポートのパッケージをインストール。
3\. 「メニューとウィンドウの言語」欄で「日本語」を最上位に設定。
4\. 「キーボード入力に使うIMシステム」を「fcitx」に変更。
5\. 変更を反映するために再起動。

参考記事
https://denor.jp/jetsonnano%E3%81%AE%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A%E3%81%A8%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%85%A5%E5%8A%9B%E8%A8%AD%E5%AE%9A#i


# 3. Jetson NanoでWi-Fi接続する方法
Jetson Nanoでは、Wi-Fiは標準でサポートされていません。しかし、USB Wi-Fiアダプタを使用することで、Wi-Fi接続を利用することができます。

使用したWi-Fiアダプタ: [WI-U2-433DMS](https://amzn.to/44H27gw)

※注意: すべてのWi-FiアダプタがJetson Nanoで動作するわけではありません。動作確認済みのアダプタのリストは、[Jetson Nanoの公式フォーラム](https://forums.developer.nvidia.com/c/agx-autonomous-machines/jetson-embedded-systems/jetson-nano/76)で確認できます。

**セットアップ方法**:

1\. Wi-FiアダプタをJetson NanoのUSBポートに接続します。
2\.. ターミナルを開き、以下のコマンドを実行して、必要なパッケージとドライバをインストールします。
```bash
$ sudo apt-get update
$ sudo apt-get install dkms
$ git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.git && cd rtl8812au
$ sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
$ sed -i 's/CONFIG_PLATFORM_ARM_NV_NANO = n/CONFIG_PLATFORM_ARM_NV_NANO = y/g' Makefile
$ sudo make dkms_install
$ sudo reboot
```
3\. `lsusb`コマンドを実行して、Wi-Fiアダプタが正しく認識されているか確認します。
```
$ lsusb
```
4\. `iwconfig`コマンドを実行して、Wi-Fiの設定を確認します。
```
$ iwconfig
```
5\. Wi-FiのSSIDとパスワードを設定し、Wi-Fiに接続します。

# まとめ
Jetson Nanoは、AIや機械学習のタスクを効率的に実行するための強力なツールです。この記事では、Jetson Nanoのセットアップ手順を解説しました。初めてJetson Nanoを使用する方や、環境構築に関する情報を探している方の参考になれば嬉しいです。