最近一段时间一直在做大疆无人机安卓版开发,这水也是挺深的,不仔细看官网SDK的介绍就会遇到各种各样的坑,简单记录一下,希望可以让其他人少走一些弯路。
安卓端用到的SDK大概有两种:Android SDK和Android UX SDK
Android SDK(官网介绍):
开发人员可以通过SDK访问DJI的许多产品特性和功能。开发人员可以自动飞行,控制摄像机和云台,接收实时视频和传感器数据,从产品下载保存的媒体,以及监控其他组件的状态。
DJI Mobile SDK允许三种方式来控制飞机飞行:
- 手动:用户使用遥控器驾驶飞机,而SDK则允许监控实时视频和传感器数据。
- 虚拟摇杆命令:SDK允许生成虚拟遥控器摇杆来移动,模拟飞行员。
- 任务:方便,易于实现飞机的高水平控制。例如,可以使用Waypoint任务执行定义的飞行路径。
虚拟操纵杆命令和任务允许简单但强大的DJI飞机自动飞行控制。
相机和云台功能具有高度可编程性,允许:
- 相机模式:视频和静止图像捕捉
- 曝光:快门,ISO,光圈和曝光补偿均可定制,以获得最大的灵活性
- 图像参数:宽高比,对比度,色调,清晰度,饱和度和滤镜
- 视频参数:分辨率和帧速率
- 方向:使用云台,摄像机方向和运动可以自动化
飞机的实时视频可通过DJI Mobile SDK获得。即使相机正在将图像或视频捕获到其存储介质中,也可以使用实时视频。
SDK提供丰富的传感器数据。GPS位置,指南针,气压计,飞行速度和高度是通过Mobile SDK以高达10 Hz的频率提供的一些传感器读数。
保存到相机存储介质(SD卡或固态驱动器)的视频可通过DJI Mobile SDK查看和下载。可以访问预览和完整图像数据。
可以通过SDK访问遥控器,电池和无线链接。大多数这些组件提供状态信息,但也可以进行一些控制。
Android UX SDK(官网介绍):
许多使用DJI Mobile SDK控制DJI产品的应用程序具有相似的核心功能。他们通常会:
- 显示相机Feed的实时视图
- 显示产品状态(飞机遥测,电池电量,信号强度等)
- 允许用户查看和更改产品设置
- 具有自动起飞,降落,回家等基本功能。
要创建应用程序,开发人员通常必须在添加一些独特的功能之前提供这组核心功能。
DJI UX SDK提供具有这些核心功能的UI元素,因此可用于加快开发时间。事实上,通过使用默认的UX SDK,可以创建一个没有额外代码行的应用程序。
以上为官网介绍。