電子工作には、Arduinoから入り始め、ラズパイにも手を出していました。これまではArduinoやラズパイを使って家のIoT化を自分の手で進めようとあれこれ遊んでいました。最近では、手軽にIoT化できるObnizを購入して使ったりもしていました。
センサーなどをつなぐだけで簡単にIoT化ができるObnizを使って、エアコンの遠隔操作リモコンを作ってみました。公式HPのチュートリアルにまさにやりたいことが載っていたので、それを参考にしながら工作しました。目標とするリモコンの概要今回作成したいリモコンの概要について整理します。まず、一番やりたいことは、①:エアコンのOn/Offをスマホを使って外出先から操作するです。暑い夏や寒い冬に家に帰る前にエアコンの電源を付けることが出来るようにすることが目的です。それだけだと、エアコンをつける必要があるのかどうかわか... Obnizで簡単IoT化!エアコン遠隔操作リモコンを作る! - sciencompass |
そんな中、ディープラーニングのブームにも乗って、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の立ち上げ方が説明されており、ここからイメージファイルをダウンロードします。
The NVIDIA® Jetson Nano™ Developer Kit is a small AI computer for makers, learners, and developers. After following along with this brief guide, you’ll be ready to start building practical AI applications, cool AI robots, and more. Getting Started With Jetson Nano Developer Kit - NVIDIA Developer |
同じページにイメージファイルをマイクロ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接続をしたという報告があったので、私も試してみました。
## Jetson Nano で無線LANを使いたい。Jetson Nano には、無線LAN機能が無い。無線LAN(とBluetooth)を使うためには、Intel 8265NGW との組み合わせが正統派らしい。けど、ケチって T... Jetson Nano で TP-LINK Archer T2U Nano を使う - Qiita - Qiita |
T2U NanoはRealTek社製のチップを使用しているため、まず、Githubで公開されているRealTek 88xxシリーズのドライバをインストールします。
git cloneで/usr/local/srcにドライバのディレクトリをコピーします。
上記のページにはどこのディレクトリにコピーすればいいのか書いておりませんが、下記ページを参考にsrcにコピーしてみました。
はい。 令和最初のコンニチハ~!!今回はNVIDIAさんの「Jetson Nano」開発者キットに5GHz WiFiなUSBアダプタ「GW-450D2」を繋いでみたよというお話で~す。更に、検証用まな板のSTLデータもオマケで公開しちゃいま 「Jetson Nano」に5GHz WiFi USBアダプタ「GW-450D2」を繋いでみたよ!(検証用ま... - きっと何かに役立つでしょ!? |
指定のファイルを修正して、インストールして再起動しましたが、認識されることはなく無線LANに接続することはできませんでした。
そのため、T2U Nanoを使うことをあきらめ、Buffalo社の無線LAN USBを使うことにしました。