AMDのZen2(Ryzen3xxx)が発売されると同時にハイスペックなパソコンを組もうとして狙っていました。
しかし最近はゲーム配信や動画編集をすることもなくなり、本当に高性能なパソコンが必要なのか?と躊躇してもいました。
結局なんだかんだと出費があったこともあって、しばらく様子を見ることにしたのでした。
勉強・実験用のマシンが欲しい
というわけで動画編集やエンコードのためのハイスペックなパソコンは断念したのですが、そこそこの性能で良いので不満なく勉強や実験に使えるマシンが欲しいとは思っていました。
これまでもメインパソコン(i5-6500)に余っていた64GBのSSDを接続して、Linuxを入れてデュアルブートで起動するようにはしていました。
通常使用するWindows10環境は汚さずにいろいろ試すことができる環境として用意してみたのですが、起ち上げ直すのが面倒でほとんど使ってきませんでした。
Windows10上でVMやubuntuを使うこともできますが、こちらもあまり興味がわきません。
出費は抑えつつ、メインパソコンと同時起動できる勉強・実験用の環境を作れないかと考えてみると、マイコンならうちにたくさんあるじゃないか、と気づきました。
NVIDIA Jetson Nanoを日常使用することに
うちに一番たくさんあるマイコンといえばArduinoです。
Arduinoは動作中に気軽に電源のON/OFFができたり、I/Oや割り込み、アナログ入力が簡単にできたりと工作がしやすいマイコンですが、OSが動くわけではないためパソコン代わりに使用するのには向きません。
OSが上がるマイコンといえば部屋のどこかにRaspberry Pi 2 Model Bも転がっているはずですが、より快適に動作することを期待してNVIDIA Jetson Nanoを使用することにします。
Jetson NanoはエッジAI用途で使われることが多いのですが、要はGPUを積んだARMマイコンなので汎用Linuxマシンとしても問題なく使えるはずです。USB3.0に対応していることもありますし、どの程度の使い勝手なのか試してみることにしました。
ハイスペックではなくとも良いので、不自由なく各種ソフトウェア・フレームワークの勉強に使える環境を目標とします。
SSD化
Raspberry Piもそうですが、このようなマイコンの多くはMicroSDカードをメインの記録媒体としています。
最近はスピードの速いカードも出ていますし、高耐久性をうたった製品も出ています。
しかし、日常使用するのであればSSD化しておきたいところです。
Jetson NanoにはM.2コネクタがついていますがKey EのコネクタなのでSSDではなくWifi用といった意味合いが強いようです。
そこでSSDはUSBポートに接続することにしました。
最近はSSDもかなり安くなっていますが、ちゃんと動く保証がなかったため、できるだけ節約する方向で進めてみます。
USBメモリから起動させてFIX MBR。
Windows10が起動するようになったのでメインパソコンの作業はこれで終了。
大半が空きスペースの240GBのSSDが無駄に付いているため、これをJetson Nanoで使用することにします。
ほとんど使っていないとはいえ、何かの不具合対応で使えるかもしれないのでZBOX CI320 nanoも一応起動できるようにしておきましょう。
まず、不要ファイルを削除してパーティションサイズを縮小。
60GB程度に収められたら、STEP.1で取り外しておいた64GBのSSDにクローン。
SSDを交換してWindowsが起動することを確認したらZBOX CI320 nanoの作業は終了です。
以下の情報を参考にしてMicroSDカードからSSDへコピーすれば作業完了です。
ファンを付けるまでの間、USBポートにミニ扇風機をつなげて冷却していたためわかったのですが、USB周りの初期化(電力供給)はある程度起動が進んでから行われるようです。(間違った理解をしていたらすみません)
そのためSSDへコピーした後もMicroSDカードを抜いてしまうとOSが起動しなくなってしまいます。そのまま挿しておきましょう。
ケースに入れる
AliExperssで手頃な価格のケースとファンが売っていたので買ってみました。
ケース
参考
Jetson Nano アクリルクリア/透明ケースAliExpress
ファン
参考
Jetson Nano 5V PWM FANAliExpress
取り付け前のケースとファン
ケースは透明アクリル製で保護紙がついています。
保護紙はしばらく水(お湯)に浸けておくと綺麗に剥がすことができます。
ファン
ファンは5V PWMファン(4pin)です。
Jetson NanoユーザーにはNoctuaのファンが定評があるようですが、人気が高すぎて品切れとなり、Amazonでは最安値が13000円程というプレミア価格になっています。
4cm FAN1つとJetson Nanoがほぼ同じ価格とは信じられないですね!
AliExpressで700円台だったこちらのファンはコネクタもバッチリ合いました。
起動させてもファンが回っている様子がなかったため不安になったのですが、単に温度が低かったからのようです。
試しに以下のコマンドを打ってファンを最高速で回してみたところ、ちゃんと回っていることを確認できました。
1 | $ sudo sh -c 'echo 255 > /sys/devices/pwm-fan/target_pwm' |
通常のファン・・・ 回転数は固定
PWMファン ・・・ 回転数の制御が可能
ということのようです。
確認してみたところ、確かに温度が上がってもファンは回らず、/sys/devices/pwm-fan/target_pwmは0(オフ)でした。
1 2 | $cat /sys/devices/pwm-fan/target_pwm 0 |
現在は50%の回転数で様子を見ています。
1 2 3 | $sudo sh -c 'echo 128 > /sys/devices/pwm-fan/target_pwm' $cat /sys/devices/pwm-fan/target_pwm 50 |
起動時に毎回コマンドを叩くのは面倒なので、crontabに登録しておくことにしました。
参考
正面
専用ケースだけあって大きさもピッタリ。コネクタ部分の切り欠きもバッチリです。
電源スイッチ・リセットスイッチをどこに配置するか悩ましかったため、小型のブレッドボードを上部に両面テープで接着し、タクトスイッチを付けてみました。
部屋にあったもので何とかしただけですが、割とうまく収まったと思います。
左側
左側に配置されているピンはこちらが参考になります。
線を取り出しているものは電源スイッチ・リセットスイッチ用の配線です。
最高性能を引き出す場合にはUSB給電では不足してしまうため5V4AのACアダプタを接続する必要があるのですが、その際にジャンパーピンを挿す箇所も左側にあります。
背面
背面はMicroSDカードを抜き差しをするための切り欠きがされています。
右側
右側にはGPIOピンが配置されています。
一応ケースに切り欠きがされていますが、実際にGPIOを使用した工作をする際にはケースの蓋を外すことになると思います。
主にLinux(ubuntu)やプログラム、AI系の学習・実験用に使用する予定なのでGPIOはあまり使わないかもしれませんが、いちいち蓋を外すのは面倒ですよね。。
L時に曲げて切り欠きから顔を出すようにコネクタを取り付けられたら、蓋を外さずにGPIOピンを使用できるためかなり便利になると思います。
その他セットアップについて
Jetson Nanoのセットアップには様々なサイトを参考にさせていただきました。
特にこちらのサイトがとても良くまとまっていて助かりました。
使用してみた感想
Jetsonシリーズは日本語化すると何かと不都合が発生する可能性があるようなので、英語環境のまま使用しています。
しばらく使ってみましたが、パフォーマンス的にも今のところ不満は感じていません。
各種サイトやUdemy等の学習サイトをJetson Nanoを使用して行っていますが、順調に進められています。
Jetson Nano用のOSイメージにはJetpackとしてあらかじめTensorRT,cuDNN,CUDA等が含まれているため、すぐに使用できるのが便利ですね。
Darknet(YOLOv3 Tiny)も動きましたし、いろいろなことができそうなのでどんどん活用していこうと思います。