入门大疆 SDK 开发前,你须要了解这些…

SDK(Software Development Kit),即软件开发工具包,用来开发适用于某个产品(好比 DJI Phantom 4)或某个平台(好比 Windows)的软件,一般由产品或平台的厂商提供给开发者使用。在这个工具包里一般包括各类各样的调试工具、API 文档、开发指南和模拟器。

而在大疆 SDK 里(以 Mobile SDK 为例),为开发者提供的工具备:html

  • 容许接入 DJI 产品的 iOS/Android 的代码库
  • 飞行模拟器及一些可视化工具
  • 调试工具及远程日志记录
  • 示例代码及教程
  • 开发者指南及 API 文档

开发者能够利用这些 SDK 的工具,从无人机的相机、云台、飞控状态信息获取等接口入手,经过大疆提供的代码库向无人机发送多种控制指令,完成特定的飞行任务。算法

P.S. 对于编程新手来讲,可能也会常常听到 API(Application Programming Interface)并想了解其与 SDK 的关系,钟德夫恰好在网络上找到这么一张图,很好地阐释了各个名词之间的关系:
编程

大疆 SDK 的种类

大疆官方提供了移动端、机载端和视觉导航系统的 SDK(Mobile SDK,Onboard SDK 和 Guidance SDK)。
安全

  • Mobile SDK 几乎全线支持大疆的硬件产品,在开发平台上支持如今主流的两大移动端系统平台:iOS 和 Android,换句话说,经过 Mobile SDK 最后开发出来的就是咱们常见的手机/平板 app,只不过这个 app 在开发的时候调用了部分 Mobile SDK 的 API 并封装成一个个能够用于操控无人机的功能。
  • Onboard SDK 则更强调在机载平台(包括妙算、禅思系列镜头、飞行控制器)上进行开发,属于硬件开发的范畴,更多的是处理数据通信协议,经过发送码流来达到控制无人机的目的,对于有高运算数据处理需求的开发者来讲,大疆的机载电脑(如妙算)和 Onboard SDK 就是很好的选择了。
  • Guidance SDK,顾名思义,就是为 Guidance 导航系统而设的 SDK,经过 SDK 你能够从 Guidance 硬件上获取到各类输出数据,包括实时三维速度、IMU 数据,五向超声波距离等等。

用大疆 SDK 能够作什么?

这取决于官方 SDK 提供的 API 种类,以及开发者的想象力。为了推广其 SDK 项目,大疆过去曾开展过 SDK 开发者大赛和编程马拉松比赛。想了解在这些比赛中开发者利用大疆 SDK 都玩出了什么「花样」,能够经过下方的文章连接进行回顾:网络

历届 DJI 开发者大赛优秀做品汇总app

另外,App Store 或 Google Play 上也有很多基于大疆 SDK 开发的 app,具体可参考钟德夫以前推荐的部分软件:框架

须要准备哪些方面的知识(以 Mobile SDK 为例)

不一样产品的需求和使用场景会对开发基础有不一样的要求,好比在测绘行业的,你须要了解有关 GIS 的知识,须要开发图像识别的,则须要掌握如 OpenCV 等图像处理的算法。这里只针对广泛的状况进行归纳:工具

  • iOS/Android app 开发:这意味着你须要掌握 Swift/Kotlin 或其余适用于 iOS/Android 这两个平台的开发语言。这个其实与无人机并无关系,但它是最基础的,由于大疆(Mobile)SDK 开发本质上就是开发 iOS/Android 平台上的 app。若是这块知识没掌握好,极可能在阅读 API 文档的时候便会遇到很大的麻烦。
  • DJI 产品组件:由于文档是英文的,因此须要熟悉一台无人机各组件的名称、用途及参数范围,对于刚从互联网转行到无人机行业的开发者来讲,这点尤其重要,具体可参考 https://developer.dji.com/cn/mobile-sdk/documentation/introduction/product_introduction.html

  • SDK 框架:由于无人机有不少组件及子组件构成,因此须要大概了解每一个组件都分别继承哪几个大类。

  • 飞行控制理论:无人机 app 的开发是面向三维的开发,了解空间坐标系系统(负责定位),及 Roll、Pitch 和 Yaw 的原理(负责移动)将会对开发颇有帮助。
  • API 文档:最后才是 SDK 里最核心部分,你能够根据需求或本身的想法调用不一样 API 来控制你的无人机。固然这部分的内容能够边开发便查阅。

当一切都准备就绪后,即可以尝试运行 SDK 提供的示例代码了,具体操做流程参见:https://developer.dji.com/cn/mobile-sdk/documentation/quick-start/index.html开发工具

小结

因为安全缘由,大疆并不是彻底开源,在涉及到限高、禁飞区等安全问题,开发者仍是无法经过 SDK 来突破这些限制的。另外,对比开源飞控(如 Pixhawk),大疆飞行系统更为稳定,也让开发者更为放心地进行开发。测试

虽然基于大疆(Mobile)SDK 的开发本质上仍是写 app,但因其控制的产品须要在半空中移动,对公共安全仍是有必定的威胁,因此在真机测试前必定要先在模拟器上多番测试,对程序稳定性有较高的把握后,再找一个空旷少人的地方进行真机测试。

最后,祝你们顺利写出第一个无人机 app 的「Hello World」。

相关文章
相关标签/搜索