2.3 开发前准备

通过上一节中对Mobile SDK的基本架构分析得知,使用Mobile SDK监测和控制无人机飞行之前,首先需要注册应用程序。另外,对于在中国大陆范围内使用无人机,还需要登录DJI账号进行实名制认证。这就需要我们进行一些开发前的准备工作,包括注册DJI开发者、下载Mobile SDK和申请应用程序密钥。

本书以使用Mobile SDK 4.13.1版本为例,介绍Mobile SDK的使用方法。通常Mobile SDK的版本是向下兼容的,因此本书所介绍的内容适应本书出版时大疆所发布的最新版本Mobile SDK。

2.3.1 注册DJI开发者账号

在使用Mobile SDK等各类大疆SDK之前,首先需要注册DJI开发者账号,以申请测试应用程序(或正式发布的应用程序)的密钥(App Key),并用于注册应用程序。没有密钥的应用程序无法连接到无人机设备,许多功能无法正常执行。

注册DJI开发者账号需要提前准备好身份证号(个人认证)等信息,并按照以下步骤操作。

(1)在没有DJI账号的情况下,需要首先在浏览器中打开DJI账号的注册页面(http://account.dji.com/register/),如图2-10所示。

图2-10 DJI账号的注册页面

在注册页面中输入邮箱、密码等必要信息,单击【Submit】按钮即可注册。已经注册DJI账号的读者可直接在开发者网址(developer.dji.com)中登录账号。

(2)通过开发者网址的提示或者通过手动输入网址(https://developer.dji.com/cn/user/apply/)的方式进入开发者账号页面。如果该账号未经过开发者认证,则系统会弹出如图2-11所示的提示文字,并向注册邮箱中发送激活邮件。此时,单击邮箱中的激活链接(Activation link)即可完成账号激活,如图2-12所示。

图2-11 开发者认证提示

图2-12 开发者认证激活邮件

(3)打开激活链接,首先出现的是申请开发者协议页面(见图2-13)。阅读《隐私政策》、《使用条款》、《最终用户许可协议》、《DJI开发者政策》等协议内容,单击【同意】按钮即可。

图2-13 申请开发者协议页面

(4)如图2-14所示,在弹出的申请开发者页面中,输入开发者类型(个人开发者、企业或组织机构),并填写相关的备案信息,单击【下一步】按钮确认。

图2-14 申请开发者页面

随后,需要提供个人、企业或机构的相关认证材料。在本例中,开发者类型选项选择为“个人开发者”,单击【下一步】按钮后会弹出身份认证页面,个人身份验证可采用“手机验证”或“中国大陆身份证验证”两种方式,如图2-15所示。

图2-15身份认证页面(个人开发者)

请读者根据实际情况选择合适的验证方式后,跟随系统的提示,最后在提交页面单击【提交】按钮确认备案信息,如图2-16所示。

图2-16 提交页面

(5)如果此时弹出如图2-17所示的对话框,则说明注册完成。

图2-17 开发者审核通过对话框

❀ 大疆开发者账户分为基础版和高级版两类:基础版为免费账户,而高级版需要缴纳99美元/年的费用。新注册的开发者在默认情况下为基础版用户。基础版账号存在一定的限制,主要包括:仅可对该账户所管理的应用程序进行最多20次的激活,且无法进行MFi认证,因此适合初学者学习和小范围的推广使用。高级版用户不限次数激活应用程序,且具有优先技术支持、MFi认证服务和SDK的Beta版本的优先使用权,适合大范围的应用推广使用。开发账号类型的变更可在以下地址页面进行操作:https://developer.dji.com/cn/user/membership/。

2.3.2 下载Mobile SDK

在https://developer.dji.com/cn/mobile-sdk/downloads/页面中可以下载到最新版本的Mobile SDK,以及相应的发布记录与示例程序、用于调试使用的桥接App、DJI模拟器等各种开发时常用的软件工具,这些软件工具会在今后的学习中进行介绍,如图2-18所示。

图2-18 Mobile SDK的下载页面

1. Android Mobile SDK

Android Mobile SDK可以通过Gradle或者Maven等构建工具的仓库进行管理,一般不需要下载到本地。在图2-18所示的页面中单击【下载ANDROID MOBILE SDK V4.13.1】按钮后,页面会跳转到Android Mobile SDK的Github仓库,其地址为https://github.com/dji sdk/Mobile-SDK-Android,下载后可见Android Mobile SDK包括如下两个目录。

• docs:该目录下包括API参考、SDK各版本变化等文档。

• Sample Code:该目录下为Android SDK的示例程序。

Mobile SDK的Android版本支持的最低Android SDK版本为5.0,最低支持Android Studio的1.5版本,并支持绝大多数的Android手机与平板设备(系统版本需大于5.0)。

2. iOS Mobile SDK

在图2-18所示的页面中单击【下载IOS MOBILE SDK V4.13.1】按钮后,会自动下载iOS Mobile SDK,解压后可见其包括如下两个目录。

• API Reference:iOS Mobile SDK的API参考文档。

• DJISDK.framework:iOS Mobile SDK的类库打包文件。

iOS Mobile SDK本身并不包括iOS示例程序,需要在iOS Mobile SDK的Github仓库单独下载,其地址为https://github.com/dji-sdk/Mobile-SDK-iOS。

Mobile SDK的iOS版本支持最低为iOS 9.0版本,并需要使用Xcode 7.0以上作为开发环境,支持的设备包括iPhone 5s及以上版本、iPad Pro、iPad Air 2、iPad mini 2及以上版本、iPod touch 5及以上版本。

2.3.3 申请应用程序密钥

在第一次使用Mobile SDK开发的应用程序时,需要将密钥和应用程序信息在大疆的网站上注册,注册成功后才可以正常使用Mobile SDK的各项功能。申请密钥前,需要开发者准备一些关于应用程序的备案信息,包括应用程序名称、包标识符、应用类型、描述信息等。然后,我们按照以下步骤申请应用程序密钥。

(1)打开应用程序管理页面。

在大疆开发者网站的用户中心中,单击左侧的【应用】选项即可打开应用程序管理页面(或通过http://developer.dji.com/user/apps/访问),如图2-19所示。

图2-19 应用程序管理页面

❀ 本节以中文语言为例,在大疆开发者网站页面的右下角“”即可将页面切换为英文等其他语言。

(2)创建应用程序。

单击应用程序管理页面右上角的【创建应用】按钮,弹出创建应用程序对话框,如图2-20所示。

图2-20 创建应用程序对话框

在对话框中输入以下内容。

• SDK(类型):选择应用程序所使用的SDK类型,包括Mobile SDK、Onboard SDK和Windows SDK等。

• App名称(App Name):输入应用程序名称,可以与移动应用程序的名称稍有不同。

• 开发平台(Software Platform):选择应用程序的运行平台,包括Android和iOS两个选项。

• 应用程序包标识符(Package Name):输入应用程序的包标识符,用于识别应用程序。对于Android应用程序,包识别符即为包名,可在AndroidManifest.xml文件中定义,如图2-21所示。对于iOS应用程序来说,包标识符通过项目属性中的“Bundle Identifier”选项定义,如图2-22所示。

图2-21 Android应用程序的包名定义

图2-22 iOS应用程序的包名定义

• 分类(Category):输入应用程序的应用类别,包括农业应用(Agricultrual applications)、测绘制图(Cartography)、灾害探查(Disaster probe)、运动追踪(Motion tracking)、电影摄制(Film shooting)、动物饲养(Animal feeding)、自然探索(Nature discovery)、电力巡检(Power line patrol)与其他(Other)等。选择其他时,需要手动输入类别。

• 描述(Description):输入应用程序的相关描述。

在本节中,“SDK”选择为“Mobile SDK”,其余的选项按照上述说明如实填写,单击【创建】按钮。此时,大疆开发者网站会向DJI的注册邮箱中发送激活链接,如图2-23所示。打开激活链接后即可完成激活。

图2-23 通过邮箱激活创建的App

(3)查看已注册的应用程序及其密钥。

在大疆开发者网站中单击“Apps”链接后即可显示所有注册的应用程序。单击左上方的【ALL SDK】按钮,即可在“显示全部SDK应用程序(ALL SDK)”、“显示Mobile SDK应用程序”、“显示Onboard SDK应用程序”和“显示Windows SDK应用程序”之间切换。

单击【BUTTON VIEW】,即可将已经注册的应用程序在按钮视图(BUTTON VIEW)和列表视图(LIST VIEW)之间进行切换。在列表视图下,可显示所有注册的应用程序的SDK类型(SDK Type)、应用程序名称(App Name)、应用程序ID(App ID)、MFi状态(MFi Status)和详细信息(Detail)。其中,没有通过邮箱激活的应用程序以灰色按钮【NOT ACTIVATED】显示,已经通过邮箱激活的应用程序可单击【查看详情】按钮查看详情,如图2-24所示。

图2-24 在大疆开发者网站查看已注册的应用程序列表

单击刚刚注册的应用程序右侧的【查看详情】按钮即可查看其详细信息。如图2-25所示,在应用程序详细信息中,“APP密钥”项目右侧的字符串即为该应用程序的密钥,此时需要通过复制粘贴的方式将其放入Mobile SDK应用程序项目的指定位置(请参见“第3章第一个Mobile SDK应用程序”)。

图2-25 已注册的应用程序信息查看页面