电子产业一站式赋能平台

PCB联盟网

搜索
查看: 123|回复: 0
收起左侧

基于Mobile SDK V4版固件开发大疆无人机手机端遥控器(1)

[复制链接]

840

主题

840

帖子

6491

积分

高级会员

Rank: 5Rank: 5

积分
6491
发表于 2023-6-5 12:01:00 | 显示全部楼层 |阅读模式

gerlowlj0o564047563224.gif

gerlowlj0o564047563224.gif
5 }, W0 m) ]4 n& ~0 d6 \+ j
点击上方蓝色字体,关注我们
5 A$ z$ `' y# n  N. s9 |刚刚结束了项目交付,趁热打铁分享一下这次遇到的新东西。首先了解一下大疆的无人机,它大致可以分为三级。
3 ^! {+ W5 I- {9 ^
  • 入门级:适合新手,没事干在野外飞一飞拍拍风景啥的。操作也简单,基本上看飞行教程都能懂,也不需要太高的专业性,飞机也相对较小安全系数相对较高。如:御2系列的一些飞机。
  • 消费级:形体上会比入门级的大一点,但是飞机搭载了一些高精度的东西,比如RTK、高精度摄像头、红外镜头等。这类飞机则需要飞手具备一定的专业知识,并且需要考取大疆的初级飞手证书才能上手飞行。如:精灵系列、悟系列的一些飞机。
  • 专业级:形体上更大,操作不当会出现一些严重后果。它的优势在于高续航、高精度定位、热成像镜头、搭载第三方喊话器等。一般用于大型工程作业,使用这个级别的飞机则需要考取大疆专业飞手证书,一般这个会在你购买专业级飞机的时候赠送你培训课程,一般全部听完就能考过。这类飞机的典型代表有:M30系列、M300系列。0 w: Q* y$ f/ D* H- \* S
    7 y& \: b$ B9 R% u' S$ w. ?
    1" ~' A1 K! g" E& k* @
    SDK开发包
    1 K  h3 d$ l0 H) }8 s; H/ W
    ' X" M4 M6 V% H) L大疆的SDK开发包目前分为两个大版本:( K0 D$ |$ m" ]3 [# n: l) F( i" _  k# @% C
    v4版
    $ `- n2 U$ b; l7 _; }! q0 |" T' AMobile SDK是一款软件开发套件,旨在让开发者能够访问DJI无人机和手持相机产品的丰富功能。该SDK通过兼顾更底层的功能,诸如飞行稳定,电池管理,信号传输和通信等,简化了应用程序开发的过程。这样,开发者就不需要具备丰富的机器人或嵌入式系统背景知识,而可以专注于DJI产品相关的行业应用开发。
    % x: \1 U+ D7 t, A# i" c该SDK包括:2 R6 v- m% w* y# X: ~: Q
  • 可导入Android或iOS应用程序的库/框架,用于访问DJI产品的功能。
  • 飞行模拟器和可视化工具。
  • 适用于iOS的调试工具和远程logger。
  • 示例代码和教程。
  • 开发者指南和API文档。功能概述
    5 a) S5 G' M9 y开发者可以通过SDK访问许多DJI产品的功能。开发者可以实现自主飞行,控制相机和云台,接收实时视频图传和传感器数据,下载保存好的媒体文件,以及监听其他组件的状态。! A+ |/ P# ]1 r
    飞行控制
    ! E; e$ ~5 l& U  G, }4 h: [Mobile SDK提供三种控制无人机飞行的方式:: B/ u# g3 l8 u
  • 手动操控: 用户使用遥控器操控无人机,而SDK支持监控实时视频流和传感器数据。虚拟摇杆命令: SDK支持产生模拟遥控器摇杆的控制指令。
  • 智能任务: 方便,易于实现无人机的高级控制。例如,可以通过航点任务,让无人机按预定义的飞行路径飞行。
  • 虚拟摇杆命令和智能任务允许对DJI无人机进行简单而功能强大的自主飞行控制。+ }$ U# a" \+ U1 J" _
    相机
    6 K+ n7 Z1 P$ t. {相机和云台的功能都支持编程调用, 例如:
    , _2 \, |4 X$ {% ]( r7 @
  • 相机模式: 视频和静态图像拍摄。
  • 曝光: 快门,ISO,光圈和曝光补偿均支持定制,以实现最大的灵活性。
  • 图像参数: 屏幕长宽比,对比度,色相,清晰度,饱和度和滤镜。
  • 视频参数: 分辨率和帧频。
  • 方向: 使用云台时,相机的朝向和运动可以自动控制。9 j' ~( p# S6 `$ g( D7 O; Y
    实时视频流
    8 f8 @% O% i5 [8 w+ b开发者可以通过Mobile SDK获取无人机主摄像头的实时视频流。即使摄像头正在将图像或视频捕获到存储介质中,也可以获取实时视频流。
    / ~& M$ m4 R4 W. ?) t$ E传感器数据
    , [3 ~' p# E5 p开发者可以通过SDK获得丰富的传感器数据。GPS位置,指南针,气压计,飞行速度和海拔高度都是通过Mobile SDK获取的一些传感器数据,频率最高可达10 Hz。
    * P3 ?" _/ q$ I) ^1 w- T+ M; w下载媒体文件; n3 ^* D: u8 V) P5 w
    开发者通过Mobile SDK可以查看和下载保存在相机存储介质(SD卡或固态硬盘)中的照片和视频。预览图和完整的图像数据都可以被访问。6 p5 p, ]% z1 R$ Z) R4 N; N
    遥控器,电池和无线链路
    . d8 v4 W4 Z9 g4 ], ^遥控器,电池和无线链路都可以通过SDK进行访问。通常,这些组件会提供相关的状态信息,但开发者也可以对它们进行一些控制。3 [* r" C8 j0 n: B! T. ~4 T
    连接应用程序和产品2 _) t% b7 _. n  `
    下图说明了Mobile SDK如何与移动应用程序进行融合以及如何与DJI飞行器进行连接。
    ( O# O% i' c& u  F. N

    vv2fjfrxkjr64047563324.png

    vv2fjfrxkjr64047563324.png

    # P: J: G5 R7 r6 Z8 T6 u- {" m对于手持摄像机产品,遥控器已替换为手持控制器,并且没有飞行器或其他无线链路。
    ! e0 j* |1 O' V/ x" X, W移动应用程序由Mobile SDK,平台SDK(iOS或Android)构建而成,并在移动设备(Apple iPhone,iPad,Nexus手机,Nexus平板电脑等)上运行。
    2 L, j, x8 K0 L! v+ w: N移动设备可以通过WiFi无线连接到DJI产品上,也可以通过USB线缆连接到DJI产品上。' T: Y* D- J6 Z: C- i
    v5版* T  t4 j/ [3 h" ?; {
    v5版现在只适用于M30、M300系列,目前还在持续更新,因为是新版的SDK,大疆的工程师也是在不断地再完善里面的内容,这里就不详细说了,之后的文章会详细说这个v5版的SDK。
    # q- R3 X8 L6 @0 a" X4 H2/ k% E0 `3 |$ u) P
    V4版SDK 二次开发* _$ R2 f' ?. q1 U: ^4 ?0 B1 L0 @6 t
    多的不说少的不唠,上主菜。“工欲善其事,必先利其器”,首先准备好开发软件,因为我们使用的是Android版的SDK所以开发软件我们使用Android Studio,本人使用的是Android Studio Fox版,版本之间感觉都一样没有什么开发上的区别。准备好工具之后,先去大疆无人机的开发者官网注册一个开发者账号,并且注册好自己的应用,拿到sdk的专用Key值,申请的方法大疆官网有我就不赘述了。给大家个地址【大疆开发者官网】自己看吧,挺简单的。
    , P/ Y" F) k1 E: c8 _1 `注册成为DJI开发者$ L; p- U# S" }; @/ N
    在注册过程中,需要您提供电子邮件信息和信用卡或手机号码用于注册验证。您所提供的任何信用卡信息将仅用于验证,不会收取任何费用。% E' w& H' }/ U: L' Y5 i
    本指南假定您使用 Xcode 7.3 以及 Android Studio 2.1.1 以上版本。
    * J9 r- w- u0 F% |/ q5 w' A; `生成 App Key$ o9 b0 f; S2 }) O3 m- g* d
    每个应用程序都需要一个唯一的应用程序密钥(App Key)来初始化SDK。
    ' F; n2 e8 s; N% p+ r要创建一个应用程序App Key:3 u) ~! T4 e& O! m
    请访问DJI开发者网站的 开发者中心7 `  {/ ^4 i% F- t) i
  • 选择左侧栏的 "应用 "。
  • 选择右侧的 “创建应用” 按钮。
  • 输入应用程序的名称, 开发平台, Package Name,分类和描述信息。
  • 会收到一封应用程序激活邮件,以完成App Key的生成。
  • 可以在开发者中心中找到AppKey,复制粘贴到应用程序配置中。Android 示例代码配置
    $ B5 c) v# }) {) R' l! m下载或者克隆Github上的Android示例代码工程。2 ?* ]! _0 k* b. D: X
    在Android Studio中打开项目工程,将生成的App Key字符串粘贴到 "AndroidManifest.xml" 文件中 "com.dji.sdk.API_KEY" meda-data element下的 android:value。
    " A7 @0 h* G8 T6 [) i"com.dji.sdk.API_KEY"/ J/ S7 f/ y) u
        android:value="" />
    " s  ~& h7 a* {7 l3
    3 h3 P5 @( {" J( \Android Studio项目集成本节中的屏幕截图是使用Android Studio 4.1生成的。& A8 Q& c0 t, a2 h! A9 N' a# T! k# _
    创建一个新的应用
    5 }9 m5 G" T) J& n' i9 b5 @可以使用一个新的应用程序来演示如何将DJI SDK集成到Android Studio项目中。, Q  Y& F9 {8 o, X/ v6 b9 C: H
  • 打开Android Studio,然后在初始屏幕上选择Start a new Android Studio project
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表