Jetson Nanoでシングルボードコンピュータに入門
Jetson Nanoを購入しました。
元々、自分は組み込みエンジニアとしてキャリアをスタートさせたのですが、豊富なリソースを使っていろいろできるクラウドエンジニアに鞍替えした身です。 コロナ禍では出社しなくても仕事ができるので助かっているのですが、組み込み時代の名残なのか触れる実体があるものにどうも惹かれてしまうんですよね。
Raspberry Piとどちらにするか悩んだのですが、計算能力が高くて応用が利きそうなのと、認識系のAIの実装は仕事でも役に立ちそうなので、Jetson Nanoにしました。
用意するもの
今回はJetson Nanoのセットアップの仕方について書きたいと思います。 始めるにあたって秋月電子で以下のものを購入しました。
NVIDIA Jetson Nano 開発者キット B01: マイコン関連 秋月電子通商-電子部品・ネット通販
スイッチングACアダプター 5V4A AD−A50P400: 電源一般 秋月電子通商-電子部品・ネット通販
重たい処理をするときなどではUSB電源では電力供給が間に合わなくなるとのことなので、5V4AのACアダプターを購入しておきました。
これら以外は、手持ちのもので済ませました。
- ディスプレイ(メインのパソコンで使っているものを利用)
- HDMIケーブル(HDMI切り替え機と併用)
- LANケーブル
- microSDカード 64GB(Class10 UHS-I)
- SDカードリーダー
- キーボード、マウス(USBで接続できるもの)
Jetson NanoのGUI表示のために専用のディスプレイを買う人もいるようですが、 自分はHDMI切り替え機を使ってメインPCのモニターと併用しています。 PCで調べながら作業するとき、いちいち切り替える面倒はありますが、 切り替え機はそれほど高くないので、コスト的にはこのやり方がお勧めです。
HDMI切替器、Vilcome HDMI分配器/セレクター 3入力1出力 1080p/3D対応(メス→オス) 電源不要 Chromecast Stick/Xbox One ゲーム機 液晶テレビ対応
他の記事を調べると、microSDカードについてはアプリケーションパフォーマンスクラス(A1, A2)の規格に合ったものを使うことが勧められています。 microSDカードはJetson NanoのOSの書き込みに使うのですが、アプリケーションによるランダムアクセスに対応したものでないとパフォーマンスが遅くなってしまうということです。
今回は手持ちのmicroSDカードを使用することにしました。あまり遅くなるようでしたら、それについても今後の記事で書いていこうと思います。
Jetson Nanoのセットアップ
自分は書籍を購入しましたが、 NVIDIAのページに公式マニュアルがあるので、基本的にはこれに従えばセットアップできます。
microSDカードのフォーマット
まず、自分のPCでmicroSDカードをフォーマットします。 フォーマットにはSD Associationが提供するデスクトップアプリを使います。 SD Memory Card Formatter | SD Associationから自分の環境(Windows or Mac)にあったものをダウンロードして実行します。
デスクトップアプリのインストールが完了したら、 microSDカードをフォーマットします。 PCにmicroSDカードを接続すれば自動的に識別されますが、 念のためmicroSDカードに割り当てられているボリューム名と一致しているか確認しましょう。 フォーマットオプションで「クイックフォーマット」を選択して、右下の「フォーマット」ボタンをクリックすればフォーマットが実行できました。
JetPackの書き込み
Jetson NanoのOSイメージをダウンロードします。 NVIDIAのサイト JetPack SDK | NVIDIA Developer より「JETSON NANO DEVELOPER KITS」→「For Jetson Nano Developer Kit」のSD Card Imageをダウンロードします。
JetPackはサイズが6GBもあるので、先にダウンロードしておくのもありです。
次にbalenaEtcherというソフトで、このOSイメージをmicroSDカードに書き込みます。
balenaEtcherをPCにインストールして起動すると、以下のような画面になります。
書き込むOSイメージ、書き込み先のmicroSDカードを指定して「Flash」ボタンを押せば書き込みが開始されます。
書き込みには結構時間がかかります。 書き込み中にWindows Explorerでマウントしているストレージを確認すると、 以下のようにUSBドライブが大量に表示されていましたが、 構わず書き込みが終わるのを待ちます。
「Flash Complete!」と表示されたら書き込み完了です。
Jetson Nanoの準備
Jetson Nanoにケーブル類や入出力デバイスをつなげます。
※自分はあとで気づいたのですが、 ACアダプターをJ25電源ジャック(NVIDIA公式ページの図の⑧ DC Barrel jack for 5V power input)に接続して電源供給する場合、 J48ヘッダー(写真赤丸)にジャンパーピンをセットする必要があります。 購入時の状態ではUSB給電モードになっており、ジャンパーピンはJ48ヘッダーに引っ掛けてあるだけでした。 ACアダプターから給電する場合は、これをちゃんとセットしてピンをブリッジします。
Jetson Nanoの起動
JetPackを焼いたmicroSDカードをJetson Nanoにセットし、電源が通れば、画面上に起動シーケンスが表示されます。
※自分が試した時では、起動シーケンスのログが途中で止まってしまい、スタックしてしまいました。 これはよくあることらしく、Ctrl + Alt + Del で再起動すると問題なく立ち上りました。
起動するとパーティションサイズの設定を求められるので、最大サイズをそのまま指定して続行。
この他にも以下の入力が求められます。
- ライセンスへの同意
- 言語選択: English
- キーボードレイアウトの選択: Japanese
- 使用場所の選択: Tokyo
- ログイン情報
ライブラリのアップデート
ターミナルを起動して、お決まりのコマンドでライブラリをアップデートしておきました。
sudo apt-get update sudo apt-get upgrade
まとめ
- NVIDIAの公式ページに従えば、Jetson Nanoの起動は簡単でした
- 個人的には、はまりポイントは2点
- ACアダプター給電時にジャンパーピンをセットすること
- 起動シーケンスで詰まったら、Ctrl+Alt+Delで再起動すること
立ち上げ時に必要な購入品など参考にしてもらえたら幸いです。