gerlowlj0o564047563224.gif
* X3 q, d( {6 {& ^/ Y! j
点击上方蓝色字体,关注我们
9 z) H7 y6 w4 Q3 {刚刚结束了项目交付,趁热打铁分享一下这次遇到的新东西。首先了解一下大疆的无人机,它大致可以分为三级。
x) e" I* f- Z: _入门级:适合新手,没事干在野外飞一飞拍拍风景啥的。操作也简单,基本上看飞行教程都能懂,也不需要太高的专业性,飞机也相对较小安全系数相对较高。如:御2系列的一些飞机。消费级:形体上会比入门级的大一点,但是飞机搭载了一些高精度的东西,比如RTK、高精度摄像头、红外镜头等。这类飞机则需要飞手具备一定的专业知识,并且需要考取大疆的初级飞手证书才能上手飞行。如:精灵系列、悟系列的一些飞机。专业级:形体上更大,操作不当会出现一些严重后果。它的优势在于高续航、高精度定位、热成像镜头、搭载第三方喊话器等。一般用于大型工程作业,使用这个级别的飞机则需要考取大疆专业飞手证书,一般这个会在你购买专业级飞机的时候赠送你培训课程,一般全部听完就能考过。这类飞机的典型代表有:M30系列、M300系列。' s4 g% F; b. p$ ?! w& I+ s [( t
# N: @( a; V( H+ m5 n0 e7 j1! Z4 O$ r& f8 q$ \, O% p) ^0 L3 V& N
SDK开发包' P5 P2 D, Z" t6 l+ ^9 i
( Q( Q1 C/ j: y n4 ~& D大疆的SDK开发包目前分为两个大版本:
8 \. ^" k: b& m: ?! H; sv4版
" J) Q* `2 v* O( BMobile SDK是一款软件开发套件,旨在让开发者能够访问DJI无人机和手持相机产品的丰富功能。该SDK通过兼顾更底层的功能,诸如飞行稳定,电池管理,信号传输和通信等,简化了应用程序开发的过程。这样,开发者就不需要具备丰富的机器人或嵌入式系统背景知识,而可以专注于DJI产品相关的行业应用开发。
& m4 ^5 `5 o& l' H% a9 e该SDK包括:+ F) z* P, N7 p; I, Y- X5 u
可导入Android或iOS应用程序的库/框架,用于访问DJI产品的功能。飞行模拟器和可视化工具。适用于iOS的调试工具和远程logger。示例代码和教程。开发者指南和API文档。功能概述
" |6 Y/ v, i4 S/ E开发者可以通过SDK访问许多DJI产品的功能。开发者可以实现自主飞行,控制相机和云台,接收实时视频图传和传感器数据,下载保存好的媒体文件,以及监听其他组件的状态。2 |+ ]# H' Z6 U' t
飞行控制* ^: l. r; y' P6 C+ r! {1 H; h, Y
Mobile SDK提供三种控制无人机飞行的方式:" C8 Z* r% [; x9 |7 Z1 _" I
手动操控: 用户使用遥控器操控无人机,而SDK支持监控实时视频流和传感器数据。虚拟摇杆命令: SDK支持产生模拟遥控器摇杆的控制指令。智能任务: 方便,易于实现无人机的高级控制。例如,可以通过航点任务,让无人机按预定义的飞行路径飞行。虚拟摇杆命令和智能任务允许对DJI无人机进行简单而功能强大的自主飞行控制。
6 u+ x3 Y! Q7 G6 N4 N' u; C相机
; J: [: L; m% ^1 w# W3 C2 r相机和云台的功能都支持编程调用, 例如:
! `9 Q7 b+ J4 \2 H0 h8 b& |相机模式: 视频和静态图像拍摄。曝光: 快门,ISO,光圈和曝光补偿均支持定制,以实现最大的灵活性。图像参数: 屏幕长宽比,对比度,色相,清晰度,饱和度和滤镜。视频参数: 分辨率和帧频。方向: 使用云台时,相机的朝向和运动可以自动控制。8 _3 @" F9 ^5 Q1 D
实时视频流
" t3 ]% }, R5 Y) Q6 v& \2 J# F& `+ Q开发者可以通过Mobile SDK获取无人机主摄像头的实时视频流。即使摄像头正在将图像或视频捕获到存储介质中,也可以获取实时视频流。* U- l$ n9 G5 h* D! n
传感器数据8 j0 G+ J) P$ S
开发者可以通过SDK获得丰富的传感器数据。GPS位置,指南针,气压计,飞行速度和海拔高度都是通过Mobile SDK获取的一些传感器数据,频率最高可达10 Hz。5 V ?1 O; E) p+ M& N- d
下载媒体文件
2 o2 K/ J7 k7 J7 G4 w7 H# e开发者通过Mobile SDK可以查看和下载保存在相机存储介质(SD卡或固态硬盘)中的照片和视频。预览图和完整的图像数据都可以被访问。
3 p) m& k' n3 Q$ |遥控器,电池和无线链路
1 V; \1 G7 X4 j遥控器,电池和无线链路都可以通过SDK进行访问。通常,这些组件会提供相关的状态信息,但开发者也可以对它们进行一些控制。: e- I/ a, |* P2 K. w4 N
连接应用程序和产品8 m5 ^$ S- M- D2 s/ Y
下图说明了Mobile SDK如何与移动应用程序进行融合以及如何与DJI飞行器进行连接。/ o; J! i; S; U& c' A! o3 ~9 y
vv2fjfrxkjr64047563324.png
7 ?) m, `& M. j% O+ C0 J# Y对于手持摄像机产品,遥控器已替换为手持控制器,并且没有飞行器或其他无线链路。- A1 c0 o% a) V4 t; x9 L
移动应用程序由Mobile SDK,平台SDK(iOS或Android)构建而成,并在移动设备(Apple iPhone,iPad,Nexus手机,Nexus平板电脑等)上运行。
+ S: }. m6 U9 I3 L移动设备可以通过WiFi无线连接到DJI产品上,也可以通过USB线缆连接到DJI产品上。" B8 ?( m1 ]! i z* |, w) h
v5版 p r9 n: Q0 K% p- Q
v5版现在只适用于M30、M300系列,目前还在持续更新,因为是新版的SDK,大疆的工程师也是在不断地再完善里面的内容,这里就不详细说了,之后的文章会详细说这个v5版的SDK。
( y0 ^$ R1 ~4 k D0 S: ?4 W1 n2 f6 l8 x2
( l! n8 F2 _+ ~! vV4版SDK 二次开发) T6 j/ j7 y4 ^
多的不说少的不唠,上主菜。“工欲善其事,必先利其器”,首先准备好开发软件,因为我们使用的是Android版的SDK所以开发软件我们使用Android Studio,本人使用的是Android Studio Fox版,版本之间感觉都一样没有什么开发上的区别。准备好工具之后,先去大疆无人机的开发者官网注册一个开发者账号,并且注册好自己的应用,拿到sdk的专用Key值,申请的方法大疆官网有我就不赘述了。给大家个地址【大疆开发者官网】自己看吧,挺简单的。
9 i2 k- T2 y9 z! j9 ~3 ~注册成为DJI开发者
6 ]' v% n! z* L1 K7 N& l6 M8 a6 N在注册过程中,需要您提供电子邮件信息和信用卡或手机号码用于注册验证。您所提供的任何信用卡信息将仅用于验证,不会收取任何费用。& `5 Z* ^. s- ?+ a2 o
本指南假定您使用 Xcode 7.3 以及 Android Studio 2.1.1 以上版本。. ^: U, l8 o" R* x" ~
生成 App Key
2 \- D& Y& `+ Z6 L每个应用程序都需要一个唯一的应用程序密钥(App Key)来初始化SDK。# z3 {5 ]# l& W, e( [
要创建一个应用程序App Key: m0 B/ t5 W* `" p
请访问DJI开发者网站的 开发者中心
/ M b* @1 }, Q" J" ^选择左侧栏的 "应用 "。选择右侧的 “创建应用” 按钮。输入应用程序的名称, 开发平台, Package Name,分类和描述信息。会收到一封应用程序激活邮件,以完成App Key的生成。可以在开发者中心中找到AppKey,复制粘贴到应用程序配置中。Android 示例代码配置1 e. Z# j2 `# a3 `7 l* l
下载或者克隆Github上的Android示例代码工程。
; ]7 ~" e: b. t, b在Android Studio中打开项目工程,将生成的App Key字符串粘贴到 "AndroidManifest.xml" 文件中 "com.dji.sdk.API_KEY" meda-data element下的 android:value。! s' n/ N' j! K5 E M
"com.dji.sdk.API_KEY"5 D- I' S: \: z" s" L* q4 u
android:value="" />
5 i( Q) }" C8 [& q6 Z8 j$ I- l' e3 H9 @38 ~, w4 b! R! H8 s' L8 B
Android Studio项目集成本节中的屏幕截图是使用Android Studio 4.1生成的。+ X p. N0 C, K
创建一个新的应用$ }1 S7 Q* `0 s1 l% `( ]5 M4 y
可以使用一个新的应用程序来演示如何将DJI SDK集成到Android Studio项目中。6 w. m0 O9 G6 j5 C) V5 m. B
打开Android Studio,然后在初始屏幕上选择Start a new Android Studio project。 |