知的好奇心 for IoT

IoT関連の知的好奇心を探求するブログです

NVIDIA Jetson NanoをMicro USB経由で(PC接続で)インターネットにアクセスさせる方法

NVIDIAの「Getting Started With Jetson Nano Developer Kit」ページからダウンロードしたイメージでJetson Nanoを動かすと、「L4T-README」という変なドライブがあることに気付いたと思います。

f:id:IntellectualCuriosity:20190713134212p:plain

※2019/7/13現在、このリンクからは「jetson-nano-sd-r32.1.1-2019-05-31.zip」がダウンロードされます。

f:id:IntellectualCuriosity:20190713153736p:plain

「これはなんだ?」と思ってはいたものの華麗にスルーしていたのですが、NVIDIAの「Getting Started with AI on Jetson Nano」というオンライン講座(ただです)を受講して、それが「headress:USB Device Mode」のためだということがわかったんです。

「USB Device Mode」って、簡単に言うと、Jetson Nanoにディスプレイやキーボードを付けずに、Jetson NanoのMicro USBとPCを接続してSSHなどのリモート接続でJetson Nanoを操作するためのものだったんです。

セットアップのアニメーションを貼っておきます。

https://dli-lms.s3.amazonaws.com/data/c-rx-02/videos/headless_dev-mode_animation.gif

 

 

ネットワークアドレスの設定

Jetson NanoのMicro USBとPC(Windows 10)を繋げると、「Remote NIDS Compatible Device」という名前のネットワークアダプタが追加されます。

f:id:IntellectualCuriosity:20190713224203p:plain

このアダプタの 「ネットワーク接続の詳細」を見ると、「192.168.55.100」が割り当てられていることがわかります。

f:id:IntellectualCuriosity:20190713225112p:plain

しかーし、ここに落とし穴が!

少ししてまた「ネットワーク接続の詳細」を見てみるとこんなことになっているんです。

f:id:IntellectualCuriosity:20190713230013p:plain f:id:IntellectualCuriosity:20190713230021p:plain

あ、アドレスがー!

DHCPがなんかすっごーく不安定なんです!で、当然ですがこのままだとちょくちょく接続が切れてしまします。

そこで、DHCPを使わずに直接アドレスを設定してしまいました。

f:id:IntellectualCuriosity:20190713233926p:plain

これで、接続は安定します。

 

ブリッジの作成

で、JetsonとPCを繋いだら、PCをネットに繋げているアダプタとJetsonを繋いでいるアダプタを選択して、右クリック「ブリッジ接続」を選ぶと「ネットワーク ブリッジ」が作成されます。

f:id:IntellectualCuriosity:20190714001514p:plain

f:id:IntellectualCuriosity:20190714004344p:plain

しかーし、ここで2回目の落とし穴が。「ネットワークブリッジ」はブリッジであってルーターではありません。2つのアダプタが「同じネットワーク」でないと通信ができないのです。

Jetson Nano側のネットワークを変更するのが普通なのでしょうが、Jetson Nanoのイメージを焼いたSDカードを幾つも作ることになりそうだし、誰かのJetson Nanoを繋ぐことがあるかもしれないので、部屋のWiFiルーターの方を変更しちゃいました。

「192.168.55.1」がJetson Nanoで「192.168.55.100」がPCに割り振られているので、WiFiルーターを「192.168.55.254」に設定してルーターDHCPの割り当て範囲を「192.168.55.201~192.168.55.240」とかにします。

 

デフォルトゲートウェイの追加

このままではJetson Nanoからインターネットにアクセスすることができないので、WiFiルーターデフォルトゲートウェイに設定します。

「route」コマンドで元の状態を確認するとこんな感じになっています。

f:id:IntellectualCuriosity:20190714011945p:plain

で、「sudo route add default gw 192.168.55.254」とWiFiルーターのアドレスをデフォルトゲートウェイとして追加してあげると、こうなります。

f:id:IntellectualCuriosity:20190714012647p:plain

これでJetson Nanoからインターネットにアクセスすることができるようになります。

 

おまけ(AC Adapterなし接続)

Jetson NanoをAC Adapterで使うときに繋ぐジャンパーピンは、基板に印字されている「ADD JUMPER TO DISABLE uUSB PWR」の言葉通り、マイクロUSBケーブルからの電源供給を無効にするためのものです。

f:id:IntellectualCuriosity:20190714014036j:plain

そこで、J48を繋いだ状態にして、マイクロUSBからの電源を直接基板に供給してやります。(5VとGNDに繋ぐ)

f:id:IntellectualCuriosity:20190714015746p:plain

この写真では、秋月電子で売っている「電源用マイクロUSBコネクタDIP化キット」を使っています。

ちょっと危なっかしい感じですが、これでAC AdapterがなくてもUSB Device Modeを試すことができます。

おわり