博客
关于我
大疆无人机连接拍照和电池
阅读量:478 次
发布时间:2019-03-06

本文共 2219 字,大约阅读时间需要 7 分钟。

大疆无人机开发入门指南

在开始开发之前,确保已注册并获取大疆无人机开发所需的APP KEY。这是开发过程中至关重要的一步,无需APP KEY将无法正常运行。

1. 环境配置

1.1 安装并配置开发环境

确保已安装Android Studio,开启一个新的项目,配置以下设置:

  • SDK版本:Android 28(API 28)-そうな '_', 你的内容看起来像是在尝试使用Markdown格式,但实际上用户要求的是将内容转换为自然的中文段落,而不是Markdown代码块或其他格式。因此,我需要将你提供的代码块换成更自然段落,保持内容的完整性,同时符合用户的要求。

在项目根目录下,添加必要的依赖项。修改app/build.gradle,确保以下内容已包括:

compile 'com.dji:dji-sdk:4.8.1'compile 'com.dji:dji-uxsdk:4.8.1'compileOnly 'com.dji:dji-sdk-provided:4.8.1'

1.2 权限申请

AndroidManifest.xml中添加大疆SDK所需的权限,确保以下权限已存在:

新增的高级权限(如Android 6.0以上版本所需)需要动态申请。在ConnectionActivity中实现权限申请逻辑,确保功能正常运行。

2. 清单文件配置

确保清单文件中包含以下关键部分:

  • APP KEY_MetaData
  • 必要的权限
  • 定义与大疆SDK相关的活动intent

修改AndroidManifest.xml,确保activity定义正确:

  • 首次运行时,默认关闭稍后启动的service。
  • 确保usbAccessory权限正确设置,与驱动程序协同工作。

3. 密钥与环境验证

创建用于全局状态管理的Application类:

public class MApplication extends Application {    private static final String TAG = "MApplication";        @Override    protected void attachBaseContext(Context base) {        super.attachBaseContext(base);        // 一些初始化逻辑,确保SDK环境初始化    }    @Override    public void onCreate() {        super.onCreate();        // 初始化SDK和相关服务    }}

4. 无人机绑定与状态刷新

MainActivity中实现绑定状态刷新逻辑,确保能够跟踪无人机连接状态:

BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {    @Override    public void onReceive(Context context, Intent intent) {        // 刷新界面状态        refreshSDKRelativeUI();    }};_ctx.registerReceiver(broadcastReceiver, new IntentFilter());
  • 具体实现中需确保界面状态与实际连接状态保持一致。

5. 拍照功能实现

MainActivity中实现拍照功能:

// 拍摄Activity的点击事件处理@Overridepublic void onClick(View v) {    if (v.getId() == R.id.btn_capture) {        // 拍摄逻辑        captureAction();    }}private void captureAction() {    final Camera camera = FPVDemoApplication.getCameraInstance();    if (camera != null) {        camera.setShootPhotoMode(SettingsDefinitions.CameraMode.SINGLE, new CommonCallbacks.CompletionCallback() {            // 照片拍摄完成回调        });    }}
  • 需配置SD卡路径,确保图片存储在指定目录。
  • onActivityResult中处理返回值,确保图片获取成功。

6. 诸多功能拓展

  • 动态权限申请逻辑需完善,特别是在高版本Android系统中。
  • 各活动之间的状态传递需确保流畅。-ropicity

开发大疆无人机相关应用,需要仔细遵循大疆SDK文档,并结合实际需求进行功能开发。建议参考大疆的官方开发文档,获取更详细的技术支持和开发实践经验。

遇到问题时,可以参考大疆开发者社区和相关技术论坛,寻求帮助和解答。

如需进一步了解大疆无人机开发相关内容,可以访问大疆开发者官网,看阅详尽的开发文档及示例项目。

转载地址:http://jxpdz.baihongyu.com/

你可能感兴趣的文章
NT AUTHORITY\NETWORK SERVICE 权限问题
查看>>
NT symbols are incorrect, please fix symbols
查看>>
ntelliJ IDEA 报错:找不到包或者找不到符号
查看>>
ntko web firefox跨浏览器插件_深度比较:2019年6个最好的跨浏览器测试工具
查看>>
ntko文件存取错误_苹果推送 macOS 10.15.4:iCloud 云盘文件夹共享终于来了
查看>>
ntpdate 通过外网同步时间
查看>>
NTPD使用/etc/ntp.conf配置时钟同步详解
查看>>
NTP及Chrony时间同步服务设置
查看>>
NTP配置
查看>>
NUC1077 Humble Numbers【数学计算+打表】
查看>>
NuGet Gallery 开源项目快速入门指南
查看>>
NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
查看>>
nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
查看>>
Nuget~管理自己的包包
查看>>
NuGet学习笔记001---了解使用NuGet给net快速获取引用
查看>>
nullnullHuge Pages
查看>>
NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
查看>>
null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
查看>>
Numix Core 开源项目教程
查看>>
NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
查看>>