
DJI SDK
文章平均质量分 90
介绍DJI SDK开发的使用,主要以PSDK、OSDK运行环境、代码编译、运行介绍,MSDK配合测试。增加了TSDK和aerosocpe相关的内容。又增加了ESDK的内容。
若有非列表中相关内容的开发,可私信联系。
优惠券已抵扣
余额抵扣
还需支付
¥399.90
¥499.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
aworkholic
路漫漫其修远兮,吾将上下而求索
展开
-
DJI SDK开发目录
简要介绍dji sdk各个版本。后面列出dji osdk、dji psdk和dji msdk的开发目录,以及项目博文的简单介绍。若有非列表中相关内容的开发,可以私信联系。原创 2020-11-06 10:43:00 · 7758 阅读 · 4 评论 -
DJI无人机拓展通道应用--使用树莓派GPIO检测PWM
M600系列多光谱相机的控制系统通过遥控器拓展通道触发指令事件,A3飞控输出PWM波形,树莓派捕获并分析PWM信号,发送串口数据到上位机以控制设备。遥控器使用S3和S5开关,A3飞控设置PWM输出通道映射,树莓派通过GPIO捕获PWM波形并检测占空比变化,生成对应事件数据。上位机接收事件数据并执行相应操作。Python代码实现PWM检测和事件处理,确保系统稳定运行。原创 2025-05-14 11:15:40 · 36 阅读 · 0 评论 -
dji psdk开发 关于SDK认证芯片的使用
Payload SDK V3.10.0 于 2025-1-8 发布,增加了 Matrice 4T/4E 机型支持,同时也增加了 DJI SDK 认证芯片(DJI SDK CC)功能支持。关于认证芯片的介绍大疆 SDK 认证芯片(DJI SDK Certified Chip),简称 DJI SDK CC,用于认证基于 DJI Eport/Eport-Lite 接口开发的第三方负载设备,确保设备能够正常工作并与无人机可以进行有效通信,起到负载安全认证和功能授权的作用。原创 2025-04-30 02:10:40 · 102 阅读 · 0 评论 -
dji psdk开发中各种机型的连接和配置说明(增加E-Prot接口不使用usb配置的方式)
本文介绍不同机型使用osdk/psdk开发的连接方式整理,以及使用的注意事项。另外,目前主流机型均使用e-port 进行psdk开发,对于初学者配置usb slave稍微有些麻烦,且需要硬件支持,因此使用网络连接的方式来降低开发难度。原创 2024-08-05 21:45:00 · 3198 阅读 · 1 评论 -
dji esdk开发(4)SDK互联互通(与云端进行小数据通信)
使用自定义小数据通道需要通过上云 API 协议 ESDK 互联互通与云端通信。仅2个接口函数,一个用于注册接收云端数据函数,一个用于发送数据的函数。数据内容为字符串。(1)发送接口该接口最大可以发送256字节的数据,使用该接口进行业务数据的发送,由接口内部进行上云 API 协议格式数据的封装。例如 esdk demo中 发送字符串,云端收到的封装后的数据为json格式如下,我们实际发送字符串在 data.value 字段中。原创 2024-03-27 21:45:00 · 628 阅读 · 0 评论 -
dji esdk开发(3)媒体资源文件获取下载
MediaFile和PSDK中下载媒体文件列表类似,ESDK中也可以获取机场的媒体文件列表,再通过列表中的媒体文件信息进行下载媒体文件数据。媒体文件通过结构体MediaFile定义如下,各字段通过名字就知其义。/*!原创 2024-03-25 22:15:00 · 340 阅读 · 0 评论 -
dji esdk开发(2)订阅实时视频流
码流订阅功能提供码流服务状态,和码流初始化、码流传输开始、码流传输停止、和相机源切换接口。原创 2024-03-23 20:15:00 · 769 阅读 · 0 评论 -
dji esdk开发(1)Edge SDK 简介、配置demo运行
DJI 为支持开发者在机场端部署边缘计算服务及设备,提供了开发工具包 Edge SDK(即 ESDK),方便开发者利用大疆机场上如电源、通讯链路及媒体数据等资源。不同于机载PSDK,开发者使用ESDK仅需要通过局域网络连接即可机场通信,支持拉取无人机的媒体文件、订阅无人机实时码流、与上云云端通信等,其主要为满足开发如图像预处理、图像压缩、AI 目标识别、AI 缺陷识别等细分领域功能。原创 2024-03-21 22:15:00 · 1156 阅读 · 0 评论 -
dji psdk开发(10)运动规划(航线任务、KMZ文件的解析,兴趣点环绕)
航线任务到目前主要使用waypoint v2 和 waypoint v3三个版本。这里先简要介绍 Waypoint 3.0,其只需要导入一个KMZ文件即可实现和Pilot2相同的航线规划功能。之后再介绍相对复杂的waypoint v2版本 api,手动解析kml/kml文件。原创 2024-03-19 21:00:00 · 2799 阅读 · 0 评论 -
dji psdk开发(9)第三方自定义 HMS 功能
该文件定义了获取HSM信息的回调功能接口说明。单条HMS的错误信息包括一个错误ID,错误的Index和一个错误的等级,在订阅HMS信息后,这些错误信息将会打包发送给PSDK。PSDK根据这些错误信息的数据解析成字符串,并从终端打印出来。PSDK 中自带的HMS数据库,位于;hms.json;最新PSDK中附带可以查询文件。当有HMS错误发生时,就能在回调函数中获取到具体的HMS信息。在回调中处理结果时,通过中的hmsInfoNum数量遍历hmsInfo数组,通过对应错误码。原创 2023-11-28 11:45:27 · 978 阅读 · 2 评论 -
dji tsdk 开发(4)thermal sdk的测温应用(2)测温应用
前面相关博客介绍了dji thermal sdk 的api和简单测试,这里开始利用sdk开发一个测温的包。实际使用时,直接使用应用层接口即可。在前面,通过Dirp类持久化了一些应用程序需要的数据,例如加载照片后获取的图像分辨率,RAW分辨率,RAW数据,支持重复读取照片或RAW。本文,继续说明测试应用的实现。原创 2023-07-15 20:15:00 · 1201 阅读 · 2 评论 -
dji tsdk 开发(3)thermal sdk的测温应用(1)dji tsdk的封装
介绍 dji tsdk封装层,实际就是实现了前一篇博客测试代码的功能,但是持久化了一些应用程序需要的数据,例如加载照片后获取的图像分辨率,RAW分辨率,RAW数据,支持重复读取照片或RAW。原创 2023-07-13 07:15:00 · 1120 阅读 · 0 评论 -
dji tsdk 开发(2)thermal sdk的API和测试代码
介绍大疆热红外分析工具的基本使用,DJI Thermal SDK基本介绍。命令行工具的使用,温度数据的解析读取。原创 2023-07-10 21:30:00 · 1106 阅读 · 0 评论 -
dji tsdk 开发(1)thermal sdk介绍和工具使用
大疆红外热分析工具3.0主要用于分析,处理红外照片,通过获取拍摄物体重要位置的温度信息,协助进行状态分析,可广泛应用于工业,科研,国防,民用等各行业领域。大疆红外热分析工具3.0下载链接 https://www.dji.com/cn/downloads/softwares/dji-dtat3。原创 2023-07-08 19:30:00 · 2628 阅读 · 0 评论 -
dji云哨aeroscope反制数据的解码、破解
云哨主机和sdk之间使用了ssl加密,这里不讨论加解密流程。云哨使用udp在局域网广播主机设备数据,使用tcp传递无人机实时数据和主机的状态数据,网络数据传输使用二进制编码。官方linux sdk中关于数据格式定义在头文件UavMonitorSdkMsg.h中,首先是输入、输出数据完整包为结构体之后根据其成员的和eimiMsgId来判断其 成员联合体该如何解析,主要解析为无人机数据、主机设备两类数据。//sec };原创 2023-07-01 22:00:00 · 3349 阅读 · 10 评论 -
Payload SDK v3.4、v3.5的更新和测试(重点功能:测温、请求I帧)
在近2个月最新发布了两个版本,主要完善M30/M3的功能支持,以及支持新机型M350。原创 2023-06-21 18:15:00 · 1230 阅读 · 5 评论 -
PSDK v3.3版本测试、老版本对比
前面博客文章介绍。新版本 PSDK v3.3 在2022年11月发布,支持3E/3T,在系统上usb bulk配置发生了变化。原创 2022-12-08 16:11:16 · 6006 阅读 · 0 评论 -
DJI M30无人机运行PSDK V3.1/3.2
设备上RNDIS启动后,可以将设备端IP设置成192.168.112.x网段,然后ping M30 飞机IP:ping 192.168.112.1,可以检查链路是不是通的。树莓派不能通过moudles加载g_ether (在/boot/cmdline.txt )原创 2022-11-09 10:22:23 · 3099 阅读 · 5 评论 -
PSKD V3版本中集成OSDK功能(1)psdk v3使用配置详解
网传了一段时间的osdk 5.0版本,目前仍发布,不过OSDK 4.x的功能最终集成到了最新发布的PSDK v3版本中。简单说,以后使用一个Payloadk SDK,既能实现原有的psdk、也能实现osdk这两个SDK的功能。由于开源的osdk功能集成到了psdk中,psdk不再要求dji企业开发者申请使用,直接可以在github上公开下载。官方下载链接为 https://github.com/dji-sdk/Payload-SDK。本文说明新版本的PSDK v3配置使用。1、配置文件新版本采用v2原创 2021-12-24 23:04:04 · 3258 阅读 · 0 评论 -
PSDK视频流图传发送实现、问题汇总
文章目录1、视频流格式1.1、H264-Custom1.2、H264-DJI1.3、两种视频流格式对比测试1.4、H264-DJI 使用 GDR 格式2、PSDK 图传功能2.1、图传api接口及其本质2.1.1、图传主体代码2.1.2、图传接口本质2.2、网络可能出现的问题3、图传功能测试3.1、静态IP和动态IP3.2、使用 H264-DJI 格式3.2.1、Period I 测试 (等PSDK v3.0新版本修复)3.2.2、GDR 测试 (等回复)在前面实现PSDK图传功能博客《dji psdk开原创 2021-10-20 16:13:52 · 3127 阅读 · 18 评论 -
解决从GDR H264码流中间开始解码异常的问题(解码H20/Z30相机数据)
在文章《dji osdk开发(6)高级视觉功能 - api接口使用示例(2)获取相机实时RGB图像》 中留有一个问题,使用在OSDK demo中无法解析Z30相机的码流。Z30相机使用GDR编码(有关GDR编码可以参看博文《视频编码中的帧内刷新intra refresh》,从码流中间解码时,没有IDR帧作为参考,导致使用ffmpeg不能正常解码。针对GDR编码的H264数据,如果是从第一帧编码数据开始解码,整个码流文件仅第一帧是IDR帧,后续帧全部是P帧,ffmpeg是能够正常解码的。对于不支持GDR格原创 2021-09-23 21:25:54 · 2662 阅读 · 18 评论 -
raspiberry树莓派相机编码库
文章目录1、libRaspiCamera1.1、库函数定义1.2、库测试demo1.3、PSDK图传的使用2、RaspiEncoder2.1、库函数定义2.2、库测试demo3、RaspiEncode3.1、库函数定义3.2、库测试demo4、测试库下载链接在树莓派4B平台下为PSDK负载图传开发,提供几个不同需求下的试用接口静态库实现。1、libRaspiCamera不依赖于第三方编码库,仅使用树莓派自带的依赖库。 目前仅支持树莓派相机。1.1、库函数定义先看头文件 RaspiCam.h 中的定原创 2021-09-15 09:20:10 · 790 阅读 · 2 评论 -
dji psdk开发(8)电源管理(高功率申请、关机通知)
基于PSDK开发的负载设备使用电源管理功能实现:高功率的申请,无人机关机通知。如果负载设备需要动态的切换功率,需要负载设备也支持在低功率下工作。接口引脚 硬件平台 指标要求 普通功率输出 X-Port13.6V / 2A SkyPort V213.6V / 4A SkyPort13.6V / 4A 高功率输出 X-Port17V / 2.5A SkyPort V217V / 4A 高功率申请 X-PortSkyPort V20~3.3V PPS 引脚电压 X-Por原创 2021-09-12 12:20:11 · 1069 阅读 · 0 评论 -
dji psdk开发(7)时间同步功能
时间同步用于消除负载设备与无人机系统的时钟差,同步负载设备和无人机的时间。具有“时间同步”功能的负载设备,能够方便用户顺利地使用日志排查无人机飞行过程中的各类故障、分析传感器采样的数据以及获取精准的定位信息等功能。多数情况下,我们的负载不联网且无时钟源时,日志记录时间与真实时间有较大的误差,通过时间同步功能来设置负载设备本地时间。另外,在定位应用中需要获取负载设备的精准定位结果,也需要使用时间同步功能。1、时间同步使用时间同步功能前,必须确认无人机与RTK 卫星间保持良好的通信状态,可以通过Pilo原创 2021-09-09 23:16:15 · 1465 阅读 · 5 评论 -
dji psdk开发(4)自定义控件widge(运行不依赖widget_config.json文件)
前面博客《dji psdk开发(4)自定义控件widget》 在linux环境下介绍了自定义控件功能的开发。如果负载产品带有Widget功能,后续升级一旦Widget的变更时就必须同步更新widget_config.json文件,这种需求是不能通过《dji psdk开发(3)负载应用固件升级》介绍的使用DJI Assistant2进行本地升级的,因为本地升级功能仅能替换旧版的可执行程序。可能的解决方案,基于MSDK开发的移动应用app于psdk程序进行通信,将widget_config.json从APP上原创 2021-09-02 19:58:09 · 1037 阅读 · 0 评论 -
dji psdk开发(5)SDK互联互通功能MopChannel
目前PSDK v3.3目前由于飞机固件问题,对新机型M30、M3的适配还未完成。MopChannel中的"mop"三个字母其实就是指MSDK、OSDK和PSDK的首字母,通过彼此间建立Channel进行通信。理论上,就是封装了基于socket的UDP、TCP封装。基于DJI OSDK 开发的应用程序能够与基于MSDK 开发的移动端APP 和基于PSDK 开发的负载设备相互通信,如用户从基于MSDK开发的移动端APP 向无人机发送控制指令,控制负载设备和机载计算机执行指定的任务;原创 2021-08-21 23:44:58 · 3495 阅读 · 6 评论 -
dji osdk开发(6)高级视觉功能 - api接口使用示例(2)获取相机实时RGB图像
OSDK高级视觉功能advanced-sensing模块,提供能接口获取相机的H264码流,在上一文章中已经说明,本文介绍获取相机RGB图像的功能。高级视觉模块默认获取相机的H264码流,当用户需要RGB图像时,将使用FFMPEG的对H264码流进行解码为RGB图像(使用libavcodec库将h264码流解码成YUV420P图像,再使用libswscale库转换图像格式为RGB24)。用户可以使用轮询、毁掉两种方式获取RGB图像数据。1、advanced-sensing实现流程OSDK版本4.1.0。原创 2021-08-17 21:50:44 · 2264 阅读 · 0 评论 -
dji osdk开发(6)高级视觉功能 - api接口使用示例(1)获取相机H264码流
无人机通过USB数据线发送搭载的视觉传感器(机载FPV相机,负载相机)的数据到OSDK,通过无限图传链路发送到MSDK。基于OSKD开发的应用程序,可以通过api接口获取FPV、云台H264码流;osdk sample实现利用ffmpeg将码流解码成RGB图像数据,开发者可通过查询、回调两种方式获取图像数据。OSKD还能获取无人机机身四周、上、下各方向的视觉感知传感器数据,根据周围环境的状态协助无人机刹车、避障和精确悬停。根据获取相机的实时图像数据,利用图像算法库进行更高级的应用,例如目标跟踪。1、获取原创 2021-08-17 21:48:51 · 3074 阅读 · 0 评论 -
dji osdk开发(6)高级视觉功能 - 环境准备、测试demo运行
前面博客使用编译的osdk库不支持使用高级视觉功能,高级视觉功能依赖ffmpeg库,并且使用USB接口进行视频流或者图像数据获取。1、开发环境和库编译这里以M300无人机,linux 为例说明。1.1、环境准备GCC编译器5.4/5.5,完整支持C++11,cmake 2.8.3+。为Linux 中指定的用户添加UART 读写权限:sudo usermod -a -G dialout $USER,退出重新登录生效。添加USB节点在/etc/udev/rules.d/目录下创建文件D原创 2021-08-17 21:47:50 · 1362 阅读 · 5 评论 -
dji osdk开发(5)广播与订阅:消息订阅功能
无人机上的各个部件以及第三方传感器根据无人机实际的飞行状况,会实时产生大量的数据信息并被无人机推送(广播)给其他模块,具有消息订阅功能的应用程序(MSDK、OSDK)能够记录用户所需订阅的数据。1、广播功能的说明使用OSKD开发的应用程序,可以使用消息订阅功能接收无人机广播的数据:传感器数据信息:陀螺仪和磁力计等传感器读数融合数据,例如态度和全球位置无人机基础信息:电池,云台和飞行状态这里给出一个可订阅消息项表,其中订阅频率是指用户端接收该数据的更新快慢,数值越大获取的数据越灵敏,但不能超过原创 2021-08-06 21:12:16 · 1064 阅读 · 12 评论 -
dji psdk开发(4)自定义控件widget
文章目录1、自定义控件UI介绍1.1、主界面的控件1.2 配置界面的控件1.3 控件配置文件1.4 控件图标2、自定义控件功能实现2.1 编写控件配置文件2.2编程实现2.2.1 控件注册函数2.2.2 控件注册参数2.2.3 控件处理回调函数2.2.4 操作控件效果2.2.5 控件默认选项/初始值3、按键映射与航点任务基于PSDK开发的负载,如何快速验证负载设备的功能?需要使用到PSDK 库中的“自定义控件”模块。“自定义控件”是一个将“负载设备的功能”封装为按钮、开关以及范围条等控件的功能;使用D原创 2021-07-01 22:14:22 · 2547 阅读 · 0 评论 -
dji psdk开发(3)负载应用固件升级
基于PSDK发布的负载设备交给客户后,若后续版本时,我们应该将新版本的程序固件包发给客户,客户通过DJI Assistant 2 导入程序固件包更新负载设备,进行本地升级。原创 2021-01-29 14:10:26 · 991 阅读 · 0 评论 -
dji psdk开发(2)图传功能实现-以树莓派相机为例
上一章介绍了PSDK demo的交叉编译的开发过程。本章介绍实现PSDK相机的视频实时图传功能。以树莓派3B+/4搭配Raspiberry Camera V2模组为例,首先基于rapivid项目编译一个获取相机实时h624流的库,之后整合PSDK流媒体传输功能,实现一个简单的相机负载。原创 2020-11-06 13:55:35 · 4411 阅读 · 12 评论 -
dji psdk开发(1)交叉编译与运行
DJI 为支持开发者开发出可挂载在DJI 无人机上的负载设备,提供了Payload SDK(即PSDK)、X-Port 标准云台)和SkyPort 转接环,方便开发者利用DJI 无人机上如电源、通讯链路及状态信息等资源,开发出可挂载在DJI 无人机上的负载设备。本文介绍psdk的demo编译运行演示,已经交叉编译。原创 2020-11-06 13:37:03 · 4101 阅读 · 20 评论 -
dji msdk开发 sample测试与osdk通信
文章目录注册成为DJI开发者生成 App KeyiOS 示例代码iOS 示例代码配置Objective C App Key 配置Swift App Key 配置Android 示例代码Android 示例代码配置运行示例代码USB 连接步骤WiFi 连接步骤接收osdk数据测试为了更好地学习如何入门DJI iOS Mobile SDK开发,请查看入门视频.注册成为DJI开发者您可以点击这里注册成为DJI开发者。本指南假定您使用 Xcode 7.3 以及 Android Studio 2.1.1 以上原创 2020-11-06 13:14:22 · 2115 阅读 · 0 评论 -
dji osdk开发(4)osdk4.x交叉编译使用(TYPE C硬件连接)
今年5月发布了M300 RTK,相应OSDK发布了v 4.x版本以支持新机型。OSDK相对有些变动,前面博客中使用的代码不能直接使用,并且osdk-core中默认添加了预编译的libdji-linker.a静态库,并且跨平台的hal、osal独立到用户代码部分。最新版本OSDK v4.0.1上的开发需要做一些改变。本章演示中,目标机仍然使用树莓派armv7的架构,宿主机为wsl。注意最后一节的硬件说明,M200系列飞机有无人机扩展通道,可以直接使用;M300在使用开发套件测试通过 (直接连接亦测试通过)原创 2020-11-06 12:19:14 · 1463 阅读 · 7 评论 -
dji osdk开发(3)osdk3.9.0 demo简单示例代码
在上一篇demo编译测试中,使用的代码代码包含了dji_linux_environment和dhi_linux_helpers两个模块代码、UserConfig.txt配置文件。且对官方代码做了修改,略显复杂。本章给出一个极简的代码,仅包含main.cpp代码。使用一个函数替代osdk配置创建Vehicle *对象的代码。原代码为 LinuxSetup linuxEnvironment("UserConfig.txt"); Vehicle *vehicle = linuxEnvironment.原创 2020-11-06 11:27:30 · 1342 阅读 · 0 评论 -
dji osdk开发(2)交叉编译
在嵌入式开发中,目标机多数不便于开发和调试,也为了批量部署,通常选择在宿主机(例如x86_64的PC机)使用交叉编译器生成可在目标机(arm或aarch64的开发版)上执行的可执行程序。本章以wsl为宿主机,使用多个交叉编译器,编译生成不同架构平台下的osdk-core静态库,并生成目标程序,最终直接复制程序到目标机(树莓派arm)运行。原创 2020-11-06 11:21:13 · 1198 阅读 · 0 评论 -
dji osdk开发(1)介绍与demo运行
文章目录1、OSDK 框架2、环境准备2.1 DJI APP创建2.2 无人机配置2.3 软件开发环境2.4 设备连接3、Demo测试3.1 OSDK v3.9.0包结构说明3.2 demo编译运行4、运行Demo中的问题4.1 第一次运行程序4.2 运行过程中可能的问题4.3 APP开发问题OSDK为Onboard SDK缩写, OSDK 是一个用于用于开发无人机应用程序的开发工具包,基于OSDK 开发的应用程序能够运行在机载计算机上(如Manifold 2, 还有linux小型机,STM32嵌入式系统原创 2020-11-06 11:02:32 · 3524 阅读 · 0 评论