電子工作には、Arduinoから入り始め、ラズパイにも手を出していました。これまではArduinoやラズパイを使って家のIoT化を自分の手で進めようとあれこれ遊んでいました。最近では、手軽にIoT化できるObnizを購入して使ったりもしていました。
そんな中、ディープラーニングのブームにも乗って、Jetsonが熱いと噂を耳にし、どんなものなのかと調べているうちにほしくなってついに買ってしまいました(笑)。購入したのはJetson Nanoですが、1万円台で買えるお手ごろさに加えて、ラズパイよりも画像処理やディープラーニングが得意であることがとても魅力的でした。
まずはJetson Nanoで画像処理、物体の位置の認識などできるようにしたいと思っていて、そのために調べたことややってみたことをまとめていきたいと思います。
Jetson Nanoの仕様
Jetson Nanoの主な技術仕様は次の通りです。
表 Jetson Nanoの主な技術仕様(Jetson Nano HPより)
GPU | 128コア NVIDIA Maxwell アーキテクチャ |
CPU | 64ビット クアッドコア ARM Cortex -A57 MPCoreプロセッサ |
メモリ | 4GB 64ビット LPDDR4 |
ストレージ | 16GB eMMC 5.1 フラッシュ |
ビデオエンコード | 4K@30 |
ビデオデコード | 4K@60 |
カメラ | 12レーン(3×4または4×2) MIPI CSI-2 DPHY 1.1 (1.5 Gbps) |
コネクタビティ | ギガビットイーサネット |
Jetson Nanoに入っているのは、Tegra X1というSoCです。
SoCはSystem on a Chipの略で一つの半導体チップの中に、CPUとGPU、メモリなど異なる役割をする回路を同時に形成しているチップのことを指します。
Jetson Nanoに入っているTegra X1というのは、CPUとしてCortex -A57コアを4個とGPUとしてMaxwellアーキテクチャベースの128コアGPUを内蔵したSoCになります。
ちなみに、Tegra X1を採用しているJetson TX1というGPUモジュール基板では、GPUのコアが256コアとJetson Nanoの2倍になっています。
Tegra X1写真(NVIDIAプレスリリースより)
Jetson Nanoの購入
Jetson Nanoは公式ホームページから購入することができます。その他にも電子部品ショップなどでも購入することが出来ます。Jetson Nanoの開発キットには、Jetson Nanoを起動させるために必要な電源アダプターやmicro SDカードが付属していませんので、それらも一緒に購入する必要があります。その他にもHDMIモニタ、USBキーボード、USBマウス、有線LANネットワークまたは無線LAN USBが必要となります。持っていないものがあれば、一緒に買いましょう。
私は秋葉原の秋月電子通商さんでJetson Nanoのキットとアダプターを購入し、SDカードはヨドバシカメラで購入しました。
また、ACアダプターを使用するには、ジャンパ(J48)をショートさせる必要があるので、ジャンパピンも準備します。
有線LANは何かとケーブルの取り回しが大変になるので、無線LAN USBを購入しました。無線LAN USBはたくさん種類がありますが、Buffalo社の無線LAN USBはドライバのインストール不要で使用することができたので、おすすめです。tp-linkの無線LAN USBも試しましたが、うまく接続することが出来ませんでした。(詳しくは補足で。)
~私が購入したもの~
ACアダプター:AD-A50P400
SDカード:TOSHIBA microSDHC UHS-Iカード 32GB
無線LAN USB:Buffalo WLI-UC-GNM2S
マイクロSDカードにイメージファイルを書き込む
Jetson Nanoを起動するために、イメージファイルをマイクロSDカードに書き込みます。
こちらのページにJetson Nanoの立ち上げ方が説明されており、ここからイメージファイルをダウンロードします。
同じページにイメージファイルをマイクロSDカードに書き込む方法が説明されています。Windows, Mac, Linuxでの場合について、それぞれ説明されていますが、ここではWindowsの場合について紹介します。
まず、SDカードをフォーマット(初期化)するために、”SD Memory Card Formatter”をダウンロードします。
先ほど紹介したページからダウンロードページに移動することが出来ます。(下記参照)
ダウンロードしたSD Memory Card Formatterを起動します。
SDカードを挿入しドライブを選択、クイックフォーマットを選択します。
Volume labelは空欄のままフォーマットを押すと、初期化が始まります。
つぎに、イメージファイルをSDカードに書き込むために”Etcher”をダウンロードします。こちらも同じページからダウンロードページに移動することができます。(下記参照)
ダウンロードしたEtcherを起動します。まずはSDカードに書き込むイメージファイルを選択します。こちらは先ほどダウンロードしたイメージファイルを指定します。
次に、イメージファイルを書き込むSDカードを指定します。
そして、Flushを実行するとイメージファイルの書き込みが始まります。イメージファイルの書き込み中にポップアップが出てきて、SDカードをフォーマットしますか、と聞かれますがすべてキャンセルを選択してポップアップを消してください。
~ダウンロードページ~
SD Memory Card Formatter:https://www.sdcard.org/downloads/formatter/eula_windows/
Etcher:https://www.balena.io/etcher/
Jetson Nanoの起動
SDカードへの書き込みが完了したらいよいよJetson Nanoを起動します。
まずは、ACアダプタから電源を供給できるようにJ48をショートさせます。次にイメージファイルを書き込んだSDカードを挿入します。
そして周辺機器を接続します。接続するのは、
・HDMIモニタ
・USB キーボード
・USB マウス
・有線LANネットワーク
です。いきなり無線LAN USBを接続してもいいですが、初回は有線LANネットワークで接続したほうが無難だと思います。
最後にACアダプタを接続して電源を入れると、OS(Linux)が起動されます。
OSが起動したら初期設定を行います。
- ライセンスへの同意
I acceptを選択して同意する。 - 言語
Englishを選択する。日本語を選択した場合、日本語のせいで動かないパッケージやソフトがあると嫌なので、英語を選択します。 - キーボードレイアウト
手持ちのキーボードに合わせて選択する。私は日本語をせんたくしました。 - タイムゾーン
Tokyoを選択する。 - ユーザー名、パスワード
ユーザー名とパスワードを設定する。ログインするためのユーザー名とパスワードになるので忘れないように! - 自動で再起動されるので、ログイン
下のような画面が表示されたら、最初のセットアップは完了です。
まとめ
Jetson Nanoの購入から立ち上げまでのやり方について紹介しました。Jetson Nanoのキットには電源やSDカード、無線LANは含まれていませんので、ぜひそれも買うことをお勧めします。特に、画像認識をすると消費電力が大きいので、5V 4Aを流せる電源は必須だと思います。
今後、Jetsonを使ってディープラーニング、AIの世界を体験していきたいと思います。
補足 tp-link社製 無線LAN USBについて
こちらのページにtp-link社製 無線LAN USB、T2U Nanoを使って無線LAN接続をしたという報告があったので、私も試してみました。
T2U NanoはRealTek社製のチップを使用しているため、まず、Githubで公開されているRealTek 88xxシリーズのドライバをインストールします。
git cloneで/usr/local/srcにドライバのディレクトリをコピーします。
上記のページにはどこのディレクトリにコピーすればいいのか書いておりませんが、下記ページを参考にsrcにコピーしてみました。
指定のファイルを修正して、インストールして再起動しましたが、認識されることはなく無線LANに接続することはできませんでした。
そのため、T2U Nanoを使うことをあきらめ、Buffalo社の無線LAN USBを使うことにしました。
最近のコメント