iOSは開発環境を整えるのに資金(Macbook買ったりDeveloper登録したり)が必要なのでまずはAndroidアプリの開発。
参考になる記事だったりが英語がほとんど。っていうか全部英語。
日本語で参考になるページやブログはほぼ皆無。
前提条件としてDJIのSDKを扱うのは初めて。
Android Studioを使うのも初めて。
PCは東芝のノートPC、Windows10 x64
やったこと。
- DJIのDeveloper登録
DJI Developer
https://developer.dji.com - Android Studioのダウンロード、インストール
Android Studio と SDK ツールをダウンロードする | Android Studio
https://developer.android.com/studio/index.html
3.0.1を使った。
日本語化もした。あんまり記憶に無いけど多分これ使ってやった。
Pleiades - 日本語化プラグイン Eclipse, IntelliJ, PhpStorm...
http://mergedoc.osdn.jp/ - DJI SDKのダウンロード
DJIのSDKは大きく三種類ある。
Mobile SDK、Onboard SDK、Guidance SDK
SDKのダウンロードにDeveloper登録が必須なように思ったが、GitHubから落とせる。
https://github.com/dji-sdk/Mobile-SDK-Android
このへんとか参考
https://www.borg.media/dii-developer-overview/
サンプルとしてカメラにアクセスしたかった。
ここをに書いてあることだけをしてサンプルアプリを作れるもんだと思ったが、どうしてもビルドが通らなかった。
Creating a Camera Application - DJI Mobile SDK Documentation
いろいろぐぐると出来上がったサンプルソースがあった。
これがサンプルソース。これを基本的にはそのまま使えばアプリが起動する。
- GitHub - DJI-Mobile-SDK-Tutorials/Android-FPVDemo: This demo shows how to create a simple FPV view and how to take photo and record video using DJI Mobile SDK.
https://github.com/DJI-Mobile-SDK-Tutorials/Android-FPVDemo
- DJI Developerサイトでアプリの登録。
USER CENTER→AppsでCREATE APP
APP NameにFPVDemo
Bundle Identifierにcom.dji.FPVDemo
他は適当。API Keyが発行される。
- Android-FPVDemo-master\FPVDemo\app\src\main\AndroidManifest.xml
の
android:value="Please enter your App Key here."
に自分のAPIキーを入力。
- ビルドが通らなかった。
こんなエラーメッセージ
エラー:Failed to find target with hash string 'android-23' in: C:\Users\user\AppData\Local\Android\Sdk
Consult IDE log for more details (Help | Show Log)
<a href="install.android.platform">Install missing platform(s) and sync project</a>
C:\Users\user\Desktop\Android-FPVDemo-master\FPVDemo\app\build.gradle
これを
defaultConfig {
ndk {
abiFilters 'armeabi-v7a'
}
こう
ndk {
abiFilters "armeabi-v7a", "x86"
}
- Android-FPVDemo-master\FPVDemo\.idea\misc.xml
これも変わってたけど意図して変えた記憶はなし。
これが
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="JDK" project-jdk-type="JavaSDK">
こうなってた。
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
実機でバッグの方法はAndroid側端末で
設定→端末情報→ビルド番号
ここを連打タップ。そしたら設定画面に「開発者向けオプション」が表示されるようになるので、ONにして「USBデバッグ」のチェックを入れる。
OSがアップデートされたら方法は変わるかも。
PCとAndroid端末をUSBで接続したら端末側に「USBデバッグを許可しますか?」の旨の文言と PCの(おそらく)MACアドレスが表示されるのでOKを押下。
AndroidStudio側は
実行→デバッグ→接続済みのデバイス
から接続した端末を選択してOK。
接続して直ぐに表示されなかったり、正しい端末名が表示されるまで時間がかかることがあるので少しは気長に待つこと。
これで実機デバッグできる。
デバッグをすると端末側にデバッグしたいアプリがインストールされるみたい。
アプリ一覧に(アプリ側でアイコンを設定していなければ)ドロイドくんのアイコンで指定したアプリ名のアプリがインストールされていることが分かる。
ドローンとAndroid端末を接続するには2つすることがある。
- ドローン側でWiFiモードへ切り替える。
Mavic Proの話でSDカードが入っているスロットcoverを開いて制御モードのスイッチをWiFiモードに切り替える。
普段はRCモードのはず。 - 端末をドローンにWiFi接続する。
端末側のWiFi設定でドローンのアクセスポイントに接続する。
APの設定はドローン本体のシールに記載。
Mavic Proの場合はバッテリーを外した本体側にSSIDとパスワードが書いてあるので写真を取ると吉。
追記:右前足にもWiFiのシールが貼ってあったのでバッテリーがハマっていても確認可能。
ドローンの電源をONにするとドローンAPに接続できる。
サンプルアプリではリアルタイムのカメラ映像の表示、静止画・動画のキャプチャができた。
キャプチャしたデータはドローンのSDカードに保存される。
サンプルページを参考に自分でコーディングしようとしてたところで一週間くらいつまずいたが、サンプルアプリをそのままきどうするだけなら半日かからずで終えることができた。
DJIのDeveloperページとかReferenceが日本語化されたらめっちゃ開発しやすいのになぁ・・・。
とりあえずここまで。
0 件のコメント:
コメントを投稿