注:筆者はLinux初心者のため、本記事には不正確な内容が含まれる可能性があります。
Host側PCのOSはUbuntu 14.04 LTS 日本語 Remix ですが
アップデートしてからディスプレイ周りの挙動がおかしくなった気がしています。ボスケテ!
電源投入まで
開発キットの内容物確認
・本体(TX1+開発ボード+カメラモジュール)
・電源ケーブル
・Wi-Fiアンテナx2(黒いオールみたいなやつ)
・USBケーブル (A to micro-B)
・USB変換コネクタ (micro-A to A)
・ペラ紙2枚
このうち、USB変換コネクタ以外は使うので出しておく
自分で用意する必要があるものは以下
・USBキーボード
・USBマウス
・USBハブ(有ったほうが良い)
・HDMIディスプレイ(電源、ケーブル)
・Host PC (Ubuntu 64bit インストール済)
添付のQUICK START GUIDEを参考に各種ケーブルを接続して、電源を投入する。
Wi-Fiアンテナは別に付けなくても動く。電波強度次第?
(以下の処理は必要なかったらしいが、一応記載しておく)
CUIが起動するので、表示された通りにコマンドを打つと環境構築が進み、Ubuntuが起動するようになる。
電源を入れてもファンが回らないので少し焦る。常温だとファンは回らない、らしい。
あと、最初の再起動ではUbuntuが起動しない事があった、焦る。
(もう一度再起動すると問題なく起動した)
開発環境インストール?
参考にさせて頂きました:CB1300SFのある生活
ここからは、Host PCでの作業となります。
Deep Learning (DIGITS) で遊ぶためにUbuntuインストールしていたので致命傷は回避できました。
NVIDIAのサイトから「Jetpack for L4T」をダウンロードする。(要登録)
https://developer.nvidia.com/embedded/jetpack
以下、Jetpack 2.1 について記載
こいつをHost PCにインストールする。
(TX1にインストールしようとすると怒られます)
この時、TX1側のデータは全て上書きされるので電源投入時のインストール作業は無駄になる。
途中、TX1との接続を求められるので画面の指示に従う。具体的には
1. 電源を落とす(ケーブルも抜く)
2. Host PCとUSB接続する。TX1側は、micro-Bポートに接続する。
3. TX1の電源を立ち上げる。電源→リカバリ(押しっぱなし)→リセット→リカバリ(離す)の順
4. Host PC側でEnterを押すと、インストール処理が次へ進む
手順4において、Enterを押す前にターミナルで以下のコマンドを実行する。
lsusb
デバイス一覧に「NVidia Corp.」というのが見えていればOK。
インストールが完了するまで数時間掛かるので、のんびり待つ。
あと、インストーラがTX1側のIPアドレスを取得するシーケンスがあるので
Host側でメッセージが表示されたら、TX1側でネットワーク設定をする
(恐らく、HostとTX1を直結してる場合やパス無しDHCPの場合などは問題ない)
以上でTX1側にLinux+GPU動作環境の構築が完了
Host側にもクロスコンパイラ環境が構築されるようですが、まだ触ってないので全く実感が湧きません。
動作確認
インストール後、TX1側のホームディレクトリに大量のデータが生成されています。
この中で、「NVIDIA_CUDA_._Samples/bin/...」というフォルダにサンプルソフトが置かれているので、適当に動作させます。
分かりやすいのはSobelFilter、実行するとLennaさんが100FPSくらいで表示されます。
カメラモジュールについて
Enabling camera on Jetson TX1 board
上記ページを参考に、何も考えず以下のコマンドを打ち込む(長いわ)
gst-launch-1.0 nvcamerasrc fpsRange="30.0 30.0" ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)30/1' ! nvtee ! nvvidconv flip-method=2 ! 'video/x-raw(memory:NVMM), format=(string)I420' ! nvoverlaysink -e
壊れてなければ、カメラ画像が表示されるはず。カメラの保護フィルムは剥がしてね
で、このカメラ何者?下記ページによるとOV5693なのかな?
TX1 camera driver source code
その他
ここからは、Linux経験者なら造作も無い手順だと思いますが
・ディスプレイ解像度について
デフォルトだと800x600とか、小さすぎて満足に操作できない解像度になってて困るので
System Setting → Displays から、解像度を変更します。
ただ、解像度を変えても「Apply」ボタンが画面外に居るせいで押せないんだよなぁ……
Shift+Tabでカーソルを移動して、無理やり押します。
(Applyボタンは画面の一番後ろにあるので、見えなくても何とかなる)
・キーボード配列/日本語入力について
デフォルトだと英語設定、キーボードも英語配列なので記号とかマトモに打てなくて困ります。
当然、日本語入力も出来ませんので、まずは以下のページを参考に日本語配列に戻します。
http://qiita.com/jjjiii26/items/af134896483ae9d32a7d
続いて日本語入力のため、Mozc(Linux版のGoogleIMEらしい)をインストール。モズク!(裏声)
http://qiita.com/kazoo04/items/d8747aa0235d7dfef70c
初日の作業はこんなところ。
さて、ここから何をどう触ったらいいものやら……