关键词:SDK,基础功能,如何开发,SDK区别与应用,SDK开发软件,DJI无人机编程实现,DJI无人机二次开发,第三发负载接入,搭载自己的负载
使用DJI 无人机进行二次开发时,不能直接在无人机上进行开发。但是提供了几种不同的SDK可以用来基于DJI无人机进行集成或者二次开发。SDK作为软件开发包,可以看做是咱们自己开发的应用与无人机通信的接口或者协议,我们的应用程序基于SDK的接口就可以与DJI无人机进行交互或控制。不同的SDK支持的机型与功能不完全一致,通过此可以先了解一下DJI SDK的大致功能,再结合咱们的实际应用需求,选择合适的SDK进行评估和开发。
使用DJI 无人机开发我们的应用程序时,应用主要分为两类,
一类是基于无人机侧机载端进行二次开发,比如将我们自己的设备挂载到无人机上,又比如我们不需要使用遥控器对无人机进行控制,可以在飞机上加装一个控制单元,通过DJI SDK提供的接口也可以实现自主控制和飞行。
另一类为遥控器地面端开发APP,可以使用APP实现类似与官方APP DJI Pilot的功能,基于Android/IOS开发的APP也可以作为中转模块进行拓展,比如转发至后台服务器,PC端等等。
基于以上两类应用,DJI SDK主要提供了Onboard SDK/Payload SDK用于机载端二次开发,Mobile SDK用于遥控器端进行APP二次开发。
Onboard SDK用于机载端二次开发,通常用于机载计算机来控制无人机的运行,获取无人机的遥测参数,获取相机的实时视频流,并通过机载平台对获取数据进行处理和应用控制。可以支持flightCtrl(joystick),waypoint mission控制无人机飞行。OSDK实现的机载计算机与无人机的交互,如果要考虑通过OSDK与地面端通信就可能需要评估在机载计算机上集成无线链路。
OSDK支持的机载计算机平台:
Linux、ROS、STM32 FreeRTOS平台。
机载计算机通过串口、USB(M210、M300需要使用USB通信)连接到无人机的OSDK端口。
OSDK支持的DJI无人机机型:
1. A3/N3 飞控
2. M100
3. M210
4. M600
5. M300
6. M30
7. M3行业机型
8. M350
Payload SDK用于机载端集成第三方负载,比如开发者自行开发的相机可通过PSDK的二次开发集成至无人机,通过OSDK集成的相机可以复用DJI 无线图传链路,并通过DJI APP或MSDK查看和控制。主要支持Linux、STM32平台开发的第三方负载。
PSDK接入的第三发负载需要通过skyport、X-PORT接入无人机,需要评估第三方负载的硬件接口。
PSDK通过串口和网口与无人机通信。
PSDK支持的DJI无人机机型:
1. M200
2. M210
3. M300
4. M30
5. M3行业机型
6. M350
备注:
1. PSDK 3.x版本开始,将OSDK功能和PSDK功能集成到同一个PSDK开发包中,即使用PSDK 3.x既可以在M300OSDK端口上开发OSDK功能,也可以在PSDK云台端口开发PSDK负载功能。
2. M30机型,M3行业机型上不再区分OSDK和PSDK端口,仅提供一个PSDK type C端口,仅支持PSDK 3.x版本进行机载端二次开发。既包含了原OSDK的控制相关功能,也包含了原PSDK的负载设备二次开发功能。
Mobile SDK主要用于遥控地面端二次开发,通过遥控器与无人机通信。支持IOS、Android平台的二次开发。
不同的SDK,其功能和开发不完全一样,具体功能和开发指导可以参考开发者官网:
https://developer.dji.com/cn
评论
0 条评论
请登录写评论。