0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Mobile SDK V5版固件開發(fā)大疆無人機(jī)手機(jī)端遙控器(4)

jf_Vqngj70R ? 來源:美男子玩編程 ? 2023-06-25 12:24 ? 次閱讀

概要

相較與V4版本開發(fā),V5版本有了更方便簡介的方式。V5不僅再功能上與V4增加更多的功能,而且在功能的使用及API的調(diào)用也做了優(yōu)化。雖然V5現(xiàn)在很新也在不斷地迭代,但是不免會出現(xiàn)對一些飛行或者遙控器出現(xiàn)bug,大疆的開發(fā)人員也在不斷的完善這整個V5開發(fā)包,已提供更全更優(yōu)的開發(fā)模式。下面是使用V5開發(fā)包進(jìn)行的大疆無人機(jī)飛控系統(tǒng)的開發(fā)過程。

整體架構(gòu)流程

DJI Mobile SDK V5擁有更加簡潔易用的無人機(jī)硬件控制接口和軟件服務(wù)接口,開放全開源的生產(chǎn)代碼及 Sample 和豐富的教程,為開發(fā)者提供了具有競爭力的無人機(jī)移動端解決方案,極大的提升開發(fā)體驗和效率?,F(xiàn)目前所支持的飛機(jī)有以下幾種:

Matrice 300 RTKMatrice 30 Series

DJI Mavic 3 Enterprise Series

DJI Mavic 3MDJI Mini 3

DJI Mini 3 Pro

現(xiàn)目前V5 SDK 有下面幾種功能:

參數(shù)獲取和設(shè)置:負(fù)載參數(shù)設(shè)置、無人機(jī)參數(shù)設(shè)置、負(fù)載狀態(tài)監(jiān)聽、無人機(jī)狀態(tài)監(jiān)聽。

飛行控制:航點(diǎn)自動飛行、虛擬搖桿飛行、RTK定位配置、Tracking飛行。

應(yīng)用數(shù)據(jù)處理:實(shí)時碼流直播、MOP數(shù)據(jù)通道、媒體文件管理、實(shí)時點(diǎn)云數(shù)據(jù)獲取。

更多功能:健康管理、SD卡加密、升級提示、飛行記錄、網(wǎng)絡(luò)控制、備份鏈路。

技術(shù)細(xì)節(jié)

SDK 架構(gòu)體系概述

Mobile SDK的體系結(jié)構(gòu)被設(shè)計為高度可擴(kuò)展的,其中使用了抽象產(chǎn)品類和組件類,以便應(yīng)用程序可以使用相同的代碼控制不同的產(chǎn)品。對于一些沒法在不同產(chǎn)品中保持一致性的功能可以在運(yùn)行時被查詢調(diào)用,對于一些能保持一致性的功能則直接可以工作了。

例如,Phantom和Inspire系列產(chǎn)品的絕大多數(shù)功能是一致的。因此,為適配Phantom 4而編寫的應(yīng)用程序,除Inspire 1的一些獨(dú)特功能外,將可以直接在Inspire 1機(jī)型上使用。

這也意味著當(dāng)新產(chǎn)品發(fā)布時,就已經(jīng)可以與現(xiàn)有的應(yīng)用程序一起使用了(需要使用支持該新產(chǎn)品的最新SDK)。新產(chǎn)品中的任何新功能都需要添加到應(yīng)用程序中,但是所有現(xiàn)有功能都不需要做修改了。

層級架構(gòu)

移動應(yīng)用程序一般通過下圖所示的幾個主要類來訪問Mobile SDK:

75a643a4-130d-11ee-962d-dac502259ad0.png

SDKManager:MSDK工具包的入口類,管理MSDK的初始化,反初始化,MSDK注冊,以及監(jiān)聽DJI硬件產(chǎn)品的連接事件。

KeyTools / KeyManager:MSDK V5版本使用了以Key為基礎(chǔ)元素的參數(shù)設(shè)置和參數(shù)獲取功能接口,KeyTools是創(chuàng)建Key的入口類,KeyManager是調(diào)用或者監(jiān)聽Key的入口類,大多數(shù)的功能都可以通過相應(yīng)的Key來控制,例如控制云臺旋轉(zhuǎn)或者控制相機(jī)拍照、錄像等。

MediaDataCenter:應(yīng)用數(shù)據(jù)獲取功能的入口類,通過MediaDataCenter可以獲取到原始的碼流數(shù)據(jù)管理類,以及多媒體文件數(shù)據(jù)的管理類。

WaypointMissionManager:航點(diǎn)任務(wù)自動飛行的入口類,可以控制無人機(jī)基于航點(diǎn)的自主飛行。

VirtualStickManager:虛擬搖桿飛行入口類,可以控制無人機(jī)進(jìn)入虛擬搖桿控制模式,進(jìn)入此模式之后可以通過實(shí)時發(fā)送動作命令的形式控制無人機(jī)飛行。

FlightLogManager:飛行日志管理類,可以獲取手機(jī)端存儲的日志路徑。

DeviceHealthManager:設(shè)備健康管理模塊,通過此類可以實(shí)時獲取到設(shè)備的健康狀態(tài)以提醒無人機(jī)的操縱者。

智能任務(wù)

智能任務(wù)可以輕松實(shí)現(xiàn)飛行自動化。其中基于航點(diǎn)和航點(diǎn)動作定義的航點(diǎn)飛行任務(wù)(WaypointMission)可以使無人機(jī)沿著定義好的航點(diǎn)和航點(diǎn)動作來自動飛行,使用WaypointMissionManager來控制航點(diǎn)任務(wù)的執(zhí)行過程,航點(diǎn)動作和航點(diǎn)任務(wù)可以由KMZ文件定義?;趯?shí)時命令的虛擬搖桿飛行功能,也可以讓飛機(jī)實(shí)現(xiàn)自動飛行,開發(fā)者可以基于自己的算法,調(diào)用VirtualStickManager中的接口來控制無人機(jī)進(jìn)行自主飛行。

空白項目集成 MSDK

新建空白項目

1、在 Android Studio 啟動頁,選擇 New Project > Phone and Tablet > Empty Activity。

2、完成配置。

Name:My Application Package。

name:com.dji.myapplication。

Minimum SDK:23。

3、compileSdkVersion 和 targetSdkVersion 為 29。

新建 MyApplication.kt 文件

1、新建 MyApplication.kt 文件。

2、參照 MSDK V5 Sample 的 DJIAllApplication 編輯成如下內(nèi)容。代碼的作用是引入 SDK 的解密加固包。

packagecom.dji.myapplication

importandroid.app.Application
importandroid.content.Context

classMyApplication:Application(){
overridefunattachBaseContext(base:Context?){
super.attachBaseContext(base)
com.secneo.sdk.Helper.install(this)
}
}

修改 build.gradle(Module) 文件

1、在 dependencies 項里添加 MSDK 飛行器包,如只需全量包或手持包請參考 Sample 添加。

implementation"com.dji5.2.0"
implementation"com.dji5.2.0"
compileOnly"com.dji5.2.0"

implementation'com.squareup.okio1.15.0'
implementation'com.squareup.wire2.2.0'
implementation'com.airbnb.android3.3.1'

dji-sdk-v5-aircraft:飛機(jī)主包,提供 MSDK 對飛機(jī)控制的支持。dji-sdk-v5-networkImp:網(wǎng)絡(luò)庫包,為 MSDK 提供聯(lián)網(wǎng)能力。

dji-sdk-v5-aircraft-provided:飛機(jī)編譯包,提供飛機(jī)包相關(guān)接口。

2、在 android 項里添加 packagingOptions。

packagingOptions{
doNotStrip"*/*/libconstants.so"
doNotStrip"*/*/libdji_innertools.so"
doNotStrip"*/*/libdjibase.so"
doNotStrip"*/*/libDJICSDKCommon.so"
doNotStrip"*/*/libDJIFlySafeCore-CSDK.so"
doNotStrip"*/*/libdjifs_jni-CSDK.so"
doNotStrip"*/*/libDJIRegister.so"
doNotStrip"*/*/libdjisdk_jni.so"
doNotStrip"*/*/libDJIUpgradeCore.so"
doNotStrip"*/*/libDJIUpgradeJNI.so"
doNotStrip"*/*/libDJIWaypointV2Core-CSDK.so"
doNotStrip"*/*/libdjiwpv2-CSDK.so"
doNotStrip"*/*/libffmpeg.so"
doNotStrip"*/*/libFlightRecordEngine.so"
doNotStrip"*/*/libvideo-framing.so"
doNotStrip"*/*/libwaes.so"
doNotStrip"*/*/libagora-rtsa-sdk.so"
doNotStrip"*/*/libc++.so"
doNotStrip"*/*/libc++_shared.so"
doNotStrip"*/*/libmrtc_28181.so"
doNotStrip"*/*/libmrtc_agora.so"
doNotStrip"*/*/libmrtc_core.so"
doNotStrip"*/*/libmrtc_core_jni.so"
doNotStrip"*/*/libmrtc_data.so"
doNotStrip"*/*/libmrtc_log.so"
doNotStrip"*/*/libmrtc_onvif.so"
doNotStrip"*/*/libmrtc_rtmp.so"
doNotStrip"*/*/libmrtc_rtsp.so"
}

修改 AndroidManifest.xml 文件

1、參照 Sample 的 AndroidManifest.xml 添加 SDK 需要的最基礎(chǔ)權(quán)限。










2、參照 MSDK V5 Sample 的 AndroidManifest.xml 添加 USB 相關(guān)權(quán)限,為了連接遙控器使用。



3、在 application 標(biāo)簽下添加 Myapplication 文件的聲明,啟動的時候需要加載。


4、參照 MSDK V5 Sample 的 AndroidManifest.xml 添加 SDK API KEY。用戶需要使用工程中的 AndroidManifest.xml 中的package,前往 開發(fā)者網(wǎng)站 申請 appkey,成功后將appkey替換如下代碼段中的X。本指導(dǎo)中 package=com.dji.myapplication。申請 appkey 時,Package Name 需填寫com.dji.myapplication。


75bdaf9e-130d-11ee-962d-dac502259ad0.png


5、在 activity 標(biāo)簽下添加 intent-filter 和 meta-data。








修改 MainActivity.kt 文件

添加 MSDK 的 init 函數(shù)即可。

packagecom.dji.myapplication

importandroid.os.Bundle
importandroid.util.Log
importandroidx.appcompat.app.AppCompatActivity
importdji.v5.common.error.IDJIError
importdji.v5.common.register.DJISDKInitEvent
importdji.v5.manager.SDKManager
importdji.v5.manager.interfaces.SDKManagerCallback

classMainActivity:AppCompatActivity(){
privatevalTAG="myApp"

overridefunonCreate(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
registerApp()
}

privatefunregisterApp(){
SDKManager.getInstance().init(this,object:SDKManagerCallback{
overridefunonRegisterSuccess(){
Log.i(TAG,"myApponRegisterSuccess")
}

overridefunonRegisterFailure(error:IDJIError){
Log.i(TAG,"myApponRegisterFailure")
}

overridefunonProductDisconnect(productId:Int){
Log.i(TAG,"myApponProductDisconnect")
}

overridefunonProductConnect(productId:Int){
Log.i(TAG,"myApponProductConnect")
}

overridefunonProductChanged(productId:Int){
Log.i(TAG,"myApponProductChanged")
}

overridefunonInitProcess(event:DJISDKInitEvent,totalProcess:Int){
Log.i(TAG,"myApponInitProcess")
if(event==DJISDKInitEvent.INITIALIZE_COMPLETE){
Log.i(TAG,"myAppstartregisterApp")
SDKManager.getInstance().registerApp()
}
}

overridefunonDatabaseDownloadProgress(current:Long,total:Long){
Log.i(TAG,"myApponDatabaseDownloadProgress")
}
})
}
}

導(dǎo)入 UXSDK 開源框架

1、將 UXSDK 項目(android-sdk-v5-uxsdk)整個復(fù)制到myapplication項目路徑的app/libs文件夾下。

2、工具欄點(diǎn)擊 File > New > Import Module,選擇myapplication項目路徑的app/libs文件夾下的android-sdk-v5-uxsdk。

3、修改settings.gradle文件。

rootProject.name="MyApplication"
include':app',':android-sdk-v5-uxsdk'
project(':android-sdk-v5-uxsdk').projectDir=newFile(rootDir,'app/libs/android-sdk-v5-uxsdk/')

4、修改build.gradle(:android-sdk-v5-uxsdk)文件中的配置和myApplication項目一致。

applyplugin:'com.android.library'
applyplugin:'kotlin-android'
applyplugin:'kotlin-android-extensions'
applyplugin:'kotlin-kapt'

android{
compileSdkVersion32

resourcePrefix"uxsdk_"
defaultConfig{
minSdkVersion23
targetSdkVersion32
versionCode1
versionName"1.0"
}

compileOptions{
sourceCompatibilityJavaVersion.VERSION_1_8
targetCompatibilityJavaVersion.VERSION_1_8
}

kotlinOptions{
jvmTarget=JavaVersion.VERSION_1_8
}
}

dependencies{
implementation'androidx.annotation1.1.0'
implementation'androidx.appcompat1.3.1'
implementation'androidx.multidex2.0.1'
implementation'androidx.legacy1.0.0'
implementation'androidx.recyclerview1.1.0'
implementation'com.squareup.okio1.15.0'
implementation'com.squareup.wire2.2.0'
implementation'androidx.constraintlayout1.1.3'
implementation'androidx.lifecycle2.3.1'
implementation'androidx.lifecycle2.3.1'
implementation'androidx.lifecycle2.3.1'
implementation'androidx.media1.0.0'
implementation"org.jetbrains.kotlin$kotlin_version"
implementation"androidx.core1.3.2"
api'io.reactivex.rxjava33.0.0'
implementation'com.airbnb.android3.3.1'
implementation'androidx.cardview1.0.0'

api'org.maplibre.gl1.0.0'
api'org.maplibre.gl5.9.0'
api'org.maplibre.gl9.4.2'
api'com.amap.api7.3.0'
api'com.amap.api7.3.0'

api'com.google.android.gms16.0.0'
api'com.google.android.gms16.0.0'
api'com.google.android.gms16.0.0'
api'com.google.android.gms16.0.0'

compileOnly"com.dji5.2.0"
compileOnly"com.dji5.2.0"
}

5、同步工程。

4.X 和 5.X 版本差異說明

以下內(nèi)容主要目的是將MSDK 4.X版本和MSDK 5.X版本中的核心接口做對比和說明,其中主要包含了DJIKey類型接口的對比說明,和幾個核心模塊的差異點(diǎn)說明,例如SDK注冊管理類(SDKManager)、設(shè)備健康狀態(tài)管理類(DeviceHealthManager)等。

注意:目前MSDK 4.X和5.X還不兼容,不能一起使用。MSDK 5.X 目前支持機(jī)型查看版本發(fā)布中的“支持產(chǎn)品列表和固件版本”,且未來只計劃支持部分DJI的新機(jī)型。

DJIKey差異說明

DJIKey

MSDK 5.X 大多數(shù)與設(shè)備交互的功能,都是基于DJIKey來實(shí)現(xiàn)的,一個DJIKey代表指定模塊的具體功能。

在4.X上,大部分接口的本質(zhì)是對DJIKey的封裝,比如說Camera$startShootPhoto,其本質(zhì)是CameraKey.START_SHOOT_PHOTO的應(yīng)用。在后面對比表格中,對于4.X,只顯示DJIKey,而不是接口。如有特別需要說明的情況,會特殊處理。

這里以FlightControllerState下的Motors中的方法areMotorsOn為例:先通過方法areMotorsOn在4.X文檔中,搜到areMotorsOn的方法說明,然后查詢到對應(yīng)的4.X DJIKey.FlightControllerKey.ARE_MOTOR_ON,繼而在遷移文檔中找到方法areMotorsOn對應(yīng)的5.X DJIKey。區(qū)別:



75f82692-130d-11ee-962d-dac502259ad0.png

如何CreateKey

在4.X上,DJIKey的create方法定義在各類模塊Key中,這里以CameraKey來舉例:

1、創(chuàng)建主位置的Key:CameraKey。

create(String paramKey, int componentIndex)3、創(chuàng)建指定位置、指定鏡頭的Key:CameraKey$createLensKey(String paramKey, int componentIndex, int subComponentIndex)。

在5.X上,DJIKey的create方法統(tǒng)一定義到KeyTools中,以CameraKey為例:

只有一種方法,創(chuàng)建指定位置、指定鏡頭的DJIKey:KeyTools$createCameraKey(DJIKeyInfomKeyInfo, ComponentIndexType componentIndexType, CameraLensType cameraLensType),相關(guān)DJIKey如果不指明鏡頭的話,就用CameraLensType.CAMERA_LENS_DEFAULT(在Kotlin上,DJIKeyInfo有擴(kuò)展方法createCamera,cameraLensType默認(rèn)值就是CameraLensType.CAMERA_LENS_DEFAULT)。

參數(shù)說明:

762c9c38-130d-11ee-962d-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Mobile
    +關(guān)注

    關(guān)注

    0

    文章

    517

    瀏覽量

    26420
  • 遙控器
    +關(guān)注

    關(guān)注

    18

    文章

    825

    瀏覽量

    65380
  • 無人機(jī)
    +關(guān)注

    關(guān)注

    226

    文章

    10199

    瀏覽量

    177505
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1006

    瀏覽量

    45415
  • 手機(jī)端
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    2016

原文標(biāo)題:基于Mobile SDK V5版固件開發(fā)大疆無人機(jī)手機(jī)端遙控器(4)

文章出處:【微信號:美男子玩編程,微信公眾號:美男子玩編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    拆解大Mavic Air2無人機(jī)配套遙控器

    Mavic Air2遙控器內(nèi)部多使用螺絲或卡扣固定部件,伸縮式天線一體化手機(jī)支架將原來位于遙控器下方的手機(jī)移到了手機(jī)上方,方便觀察
    的頭像 發(fā)表于 07-21 13:37 ?2.7w次閱讀
    拆解大<b class='flag-5'>疆</b>Mavic Air2<b class='flag-5'>無人機(jī)</b>配套<b class='flag-5'>遙控器</b>

    【Aworks申請】開放式無人機(jī)地面基站

    申請理由:我們是在校大學(xué)生EDA興趣團(tuán)隊,正在設(shè)計制作無人機(jī)項目。我們發(fā)現(xiàn),現(xiàn)在無人機(jī)只能通過遙控器或者電腦上位機(jī)控制飛行。所以,我們試圖開發(fā)一個通用式地面基站,開放API和視頻數(shù)據(jù)流
    發(fā)表于 06-27 08:59

    【云智易申請】智能無人機(jī)通信

    申請理由:本次項目是基于STM32做無人機(jī),主要用WiFi實(shí)現(xiàn)無人機(jī)遙控器之間通信,無人機(jī)的電機(jī)我們可以用云智易開發(fā)板上面的電機(jī)進(jìn)行調(diào)試,
    發(fā)表于 08-07 11:02

    無人機(jī)遙控方向控制問題

    前段時間我弟弟買了個遙控無人機(jī)玩具,但是我發(fā)現(xiàn)一個問題。該無人機(jī)方向控制有問題,假設(shè)無人機(jī)有四個電機(jī),分別為A,B,C,D,遙控器四個按鍵1
    發(fā)表于 05-10 11:26

    stm32四軸無人機(jī)遙控器資料

    stm32四軸無人機(jī)遙控器資料
    發(fā)表于 06-09 23:16

    無人機(jī)怎么懸停

    `  誰能闡述下大無人機(jī)怎么懸停?`
    發(fā)表于 08-27 15:13

    【快速上手教程6】瘋殼·開源編隊無人機(jī)-遙控器固件燒寫

    COCOFLY 教程——瘋殼·無人機(jī)·系列遙控器固件燒寫 圖1 一、遙控器固件燒寫 這里的固件
    發(fā)表于 05-25 11:49

    【快速上手教程6】瘋殼·開源編隊無人機(jī)-遙控器固件燒寫

    COCOFLY 教程——瘋殼·無人機(jī)·系列遙控器固件燒寫 圖1 一、遙控器固件燒寫 這里的固件
    發(fā)表于 07-07 10:05

    【瘋殼·無人機(jī)教程6】開源編隊無人機(jī)-遙控器固件燒寫

    COCOFLY 教程——瘋殼·無人機(jī)·系列遙控器固件燒寫圖1 一、遙控器固件燒寫 這里的固件
    發(fā)表于 08-23 17:49

    CES 2019:大推出帶屏無人機(jī)遙控器 便攜式無線電源Yoolox亮相

    現(xiàn)如今航拍已成為年輕人的拍攝興趣,但智能手機(jī)好像并不是最理想控制航拍的遙控器。作為無人機(jī)生產(chǎn)廠家,大在今年的國際消費(fèi)類電子產(chǎn)品展覽會上展出了專為Mavic 2航拍
    的頭像 發(fā)表于 01-10 16:16 ?7941次閱讀

    音圈馬達(dá)裝置在大無人機(jī)的應(yīng)用

    音圈馬達(dá)助力的大將發(fā)布多款新品,大家都知道大是一家專業(yè)生產(chǎn)無人機(jī)的廠家,就在近日,大新公布的一份專利文件中,發(fā)現(xiàn)大已經(jīng)申請了一款新的
    發(fā)表于 08-31 15:55 ?671次閱讀

    基于Mobile SDK V4固件開發(fā)無人機(jī)手機(jī)遙控器(1)

    剛剛結(jié)束了項目交付,趁熱打鐵分享一下這次遇到的新東西。首先了解一下大無人機(jī),它大致可以分為三級。
    的頭像 發(fā)表于 06-07 09:53 ?945次閱讀
    基于<b class='flag-5'>Mobile</b> <b class='flag-5'>SDK</b> <b class='flag-5'>V4</b>版<b class='flag-5'>固件</b><b class='flag-5'>開發(fā)</b>大<b class='flag-5'>疆</b><b class='flag-5'>無人機(jī)手機(jī)</b><b class='flag-5'>端</b><b class='flag-5'>遙控器</b>(1)

    基于Mobile SDK V4固件開發(fā)無人機(jī)手機(jī)遙控器(2)

    上一篇文章(基于Mobile SDK V4固件開發(fā)無人
    的頭像 發(fā)表于 06-09 11:33 ?832次閱讀
    基于<b class='flag-5'>Mobile</b> <b class='flag-5'>SDK</b> <b class='flag-5'>V4</b>版<b class='flag-5'>固件</b><b class='flag-5'>開發(fā)</b>大<b class='flag-5'>疆</b><b class='flag-5'>無人機(jī)手機(jī)</b><b class='flag-5'>端</b><b class='flag-5'>遙控器</b>(2)

    基于Mobile SDK V4固件開發(fā)無人機(jī)手機(jī)遙控器(3)

    第三篇文章準(zhǔn)備單獨(dú)拿出來寫,因為在大人機(jī)的所有功能中,航線規(guī)劃的功能最為復(fù)雜,也相當(dāng)?shù)姆爆崳@里需要說仔細(xì)一點(diǎn),可能會將代碼進(jìn)行多步分解。
    的頭像 發(fā)表于 06-15 12:22 ?1299次閱讀
    基于<b class='flag-5'>Mobile</b> <b class='flag-5'>SDK</b> <b class='flag-5'>V4</b>版<b class='flag-5'>固件</b><b class='flag-5'>開發(fā)</b>大<b class='flag-5'>疆</b><b class='flag-5'>無人機(jī)手機(jī)</b><b class='flag-5'>端</b><b class='flag-5'>遙控器</b>(3)

    基于Mobile SDK V5固件開發(fā)無人機(jī)手機(jī)遙控器(5)

    v5.x版本的功能與v4.x基本相同,都是獲取飛機(jī)的姿態(tài)信息、獲取無人機(jī)多媒體文件、操作多媒體文件、航線規(guī)劃等。不過在上一章節(jié)中也大致說了一些兩個版本的中API的差別,下面是根據(jù)一些API使用所完成的一些功能,因為項目原因只能提
    的頭像 發(fā)表于 07-07 12:21 ?1901次閱讀
    基于<b class='flag-5'>Mobile</b> <b class='flag-5'>SDK</b> <b class='flag-5'>V5</b>版<b class='flag-5'>固件</b><b class='flag-5'>開發(fā)</b>大<b class='flag-5'>疆</b><b class='flag-5'>無人機(jī)手機(jī)</b><b class='flag-5'>端</b><b class='flag-5'>遙控器</b>(<b class='flag-5'>5</b>)