0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DJI Mobile SDKのサンプルコードでSimulatorを動かしてみる

Posted at

やりたいこと

ドローンを利用して自動操縦(Autopilot)のロジックを組みたいですが、自宅でドローンを飛ばしたら家が「破壊」されてしまうので、Simulatorを使いたいなと思いました。
色々と調べた結果、DJI Assistant 2というアプリがあるので、それを使って開発PCでデバッグしながら動きを見られるといいです。

それでは、早速作業に入りましょー!

必要なもの

  • DJI Phantom 4
  • リモートコントローラー(以下、RC)
  • USBケーブル数本
    image.png

バージョン

  • 開発PC
    • Android Studio Hedgedog
    • Android SDK API Level 31
    • Gradle 7.5
    • Gradle JDK Correcto-11
  • Simulator用PC
    • DJI Assistant 2 for Phantom
  • Bridge App用携帯
    • DJI Bridge App

システム構成

image.png

手順

1.(開発PC)DJI Mobile SDK V4をクローン

2.(開発PC)DJI DeveloperでAPIキーを発行

  • DJI Developerでログイン
  • 「CREATE APP」でアプリケーションを登録する
    ※Package Nameはサンプルコード内のパッケージ名(各パッケージが存在するパス:Sample Code/app/src/main/java)。その他の項目は適当に記載
    image.png

3.(開発PC)サンプリコード内にAPIキーを入力

AndroidManifest.xml(パス:Sample Code/app/src/main/main)
image.png

4.(開発PC)Sample Codeフォルダーを開いてビルドする

  • gradle-wrapper.properties(パス:Sample Code/gradle/wrapper)で一度「Sync」OR「build」
    ※まず最初からSyncするといいと思うが、大抵の場合ビルドエラーが起こる。こんな感じ
    image.png
  • 「Change Gradle version in Gradle wrapper to 7.5....」を押すと、自動的にgradle-wrapper.propertiesの中身を書き換えてくれて、ビルドする
    image.png

5.(開発PC)エミュレータを起動

image.png

  • 起動後に「Register App」を押すと、DJI SDK利用が可能になる

6.(BridgeApp用携帯)携帯にBridgeAppをインストール

7.(BridgeApp用携帯)Bridge AppでRCに接続

  • 携帯は開発者モードをONにし、USB DebuggingをONにする
  • RCの電源をON、Phantom 4の電源をONにする
  • Bridge Appを立ち上げて、USBでRCに繋ぐ
    image.png
  • 画面のIPアドレスをメモる(こちらの端末では192.168.1.35)

8.(開発PC)IPアドレスをエミュレータ画面に入力

  • 「WSBridge IP」欄にIPアドレスを入力
    (開発PC画面)
    image.png
    (BridgeApp用携帯画面)
    image.png

9.(Simulator用PC)DJI Assistant 2でPhantom 4に接続

  • DJI Assistant 2 for Phantomを立ち上げて、USBでPhantom 4に繋ぐ
  • このアプリを使うには、以下の制限と設定が必要(めんどい、、、
    ※新し目のMACで使えない
    ※USBドライブにアクセス制限あるPCはそれを解除する必要
  • 検知できると、こんな画面が出てくる
    image.png
  • image.png
  • 「Simulator」>「Start Simulating」を押すと、Simulatorが立ち上がる
    ※ファイアウォールを無効化にする必要!そうしないとRCからの信号が到達できない
    image.png

10.🍷🍷🍷操作できました🍷🍷🍷

結論

ドローン本体がないとなにもできないです(泣)
ドローンにUSBで繋ぐところはなぜファイアウォールを無効化する必要があるのか今後調査課題とします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?