SDK Guide for DJI’s Enterprise Drone Ecosystem

How to start developing with DJI’s SDK

By DJI Enterprise DJI Enterprise
April 27, 2023

As the use of commercial drones continues to grow, DJI recognizes the critical role that developers and integrators play in bringing customized solutions to market. Since the release of our software development kit (SDK) in 2014, DJI Enterprise has continued to collaborate with developers in an effort to enhance the user experience and expand the capabilities of commercial drones. 

In line with this commitment, we are proud to introduce this Enterprise Ecosystem Guide - a comprehensive list of resources, technical support channels, and information created to aid developers. 

With a focus on MSDK, PSDK, and Cloud API development solutions, this guide equips developers with the tools and support they need to create innovative drone solutions that meet the diverse needs of industries worldwide. 

DJI SDK ecosystem by the numbers 

Before we get into the guide, here is a quick snapshot of the DJI SDK developer ecosystem: 

  • 100,000+ developers have joined the DJI Ecosystem
  • 1000+ custom applications developed on MSDK
  • 110+ drone payloads developed on PSDK and mass-produced
  • 750+ developers have built cloud platforms since the release of Cloud API in March 2022

SDK Ecosystem

Mobile SDK (MSDK) 

1. What is MSDK?

The DJI Mobile SDK is a software development kit designed to give developers access to the capability of DJI's aircrafts.

The SDK simplifies the application development process by taking care of lower-level functionality such as flight stabilization, battery management, signal transmission, and communication. This way, the developer does not require a background in robotics or embedded systems and can instead focus on the application the DJI product is being integrated into.

MSDK has the following interfaces for creating mobile apps tailormade for DJI flight platforms based on the needs of different industries: 

MSDK Interface

Configuration Settings

Flight Control

Data Processing

More

Payload parameters 

Waypoint auto-flight

Live streaming

Health management 

Flight record

Aircraft parameters

Virtual control stick

MOP data channel

SD card encryption

Network control

Payload monitoring

RTK related

Media file management 

Upgrade reminders

Backup airlink

Aircraft monitoring 

Tracking mission

Live cloud data

   

2. Basic Requirements

To develop with DJI’s MSDK, it’s recommended to first have a basic understanding of Android Development. Additionally, a basic understanding of drones, such as their capabilities and key components, is recommended. 

3. List of Resources

① Developer Tutorials

https://developer.dji.com/doc/mobile-sdk-tutorial/en/ 

② API Documents

https://developer.dji.com/cn/api-reference-v5/android-api/Components/SDKManager/DJISDKManager.html 

③ GitHub Sample Code Package

https://github.com/dji-sdk/Mobile-SDK-Android-V5 


4. MSDK Beginner Development Process

Sign Up to be a DJI developer

Purchase Drone Platform

Generate an APP Key

Run Sample App

 

Run Sample Code

https://developer.dji.com/doc/mobile-sdk-tutorial/en/quick-start/run-sample.html 

Payload SDK (PSDK) 

SDK Ecosystem - PSDK

1. What is PSDK?

In order to support developers in developing payload devices that can be mounted onto DJI drones, DJI provides a development kit Payload SDK (PSDK) and development accessories X-Port, SkyPort V2, and SDK Round Ribbon Cable. According to the application requirements of the industry, developers can develop mapping cameras, multispectral cameras, megaphones, searchlights, and other equipment to meet different subdivisions.

PSDK combines sensors, mechanical parts, and other professional payloads with the leading DJI flight platforms to create professional payload solutions for different enterprise application scenarios.

2. Basic Requirements

To develop with DJI’s PSDK, it’s recommended to have basic C/C++ programming experience, basic experience in the embedded system, and a basic understanding of drones. 

3. List of Resources

① Developer Tutorials

https://developer.dji.com/doc/payload-sdk-tutorial/en/ 

② API Documents

https://developer.dji.com/doc/payload-sdk-api-reference/en/ 

③ GitHub Sample Code Package

https://github.com/dji-sdk/Payload-SDK 

④ PSDK Accessories

https://store.dji.com/list/education-and-industry?from=store-nav&tab=104&sort=recommendation&page=1&category=101%3D101.208 

 

4. PSDK Beginner Development Process

Sign Up to be a DJI developer

Purchase Drone / Development Kit

Select Development Platform

Apply Application

Run Sample Code

 

① Development Process

https://developer.dji.com/doc/payload-sdk-tutorial/en/basic-introduction/how-to-use-psdk.html 

Note: When applying to create a PSDK application for the first time, sign up to become a DJI Developer for PSDK. Then, you can directly create in the DJI Developer back end when creating PSDK applications.

② Apply to be a DJI Developer for PSDK and Create Applications

https://developer.dji.com/payload-sdk/apply/ 

③ Run Sample Code

https://developer.dji.com/doc/payload-sdk-tutorial/en/quick-start/run-sample-code.html 

 

SDK Ecosystem 1

 

Cloud API

SDK Ecosystem - Cloud API and DJI Dock

1. What is Cloud API?

Based on common standard protocols such as MQTT, HTTPS, and Websocket, DJI Cloud API abstracts the function set sufficiently and isolates complex hardware operations logic in the drone, and makes it possible for our developers to focus on their own business without worrying about the underlying flight logic. In addition, DJI Cloud API can adapt to any network as long as the DJI Pilot 2 or DJI Dock is allowed to access the third-party platform server.

Cloud API Topology:

Communication Link

Flight Control Function Set

Drone

Gateway Device

MQTT

Map Element

Live Streaming

Device Management

M30 Series

DJI Pilot

Terrain Situational Awareness

Payload Control

Device Log

M300 RTK

HTTPS

Remote Firmware Upgrade

Flight Route Library

Media Library

Mavic 3 Enterprise Series

Device HMS

DJI WPML

More

More

DJI Dock

WebSocket

Data Security

2. Basic Requirements

Front-end and back-end development experience

To develop with DJI’s Cloud API, it’s recommended to have front-end and back-end development experience. 

3. List of Resources

① Developer Tutorials

https://developer.dji.com/doc/cloud-api-tutorial/en/ 

② API Documents

https://developer.dji.com/doc/cloud-api-tutorial/en/server-api-reference/mqtt/topic-definition.html 

③ GitHub Sample Code Package (Front end)

https://github.com/dji-sdk/Cloud-API-Demo-Web 

④ GitHub Sample Code Package (Back end) 

https://github.com/dji-sdk/DJI-Cloud-API-Demo 

4. Cloud API Beginner Development Process

Sign Up to be a DJI developer

Purchase Drone / DJI Dock

Generate a License

Run Sample Code

 

① Run Sample Code

https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-introduction.html 

② Function Display Video

https://developer.dji.com/doc/cloud-api-tutorial/en/quick-start/function-display-video.html 

③ Sign up as DJI Developer and Create Apps

https://developer.dji.com/doc/cloud-api-tutorial/en/quick-start/source-code-deployment-steps.html 

④ Environment Preparation 

https://developer.dji.com/doc/cloud-api-tutorial/en/quick-start/environment-prepare-list.html 

SDK Ecosystem - Support

Technical Support

Step 1:

Search in the knowledge library to filter out known issues.

https://sdk-forum.dji.net/hc/en-us 

Step 2:

For questions that cannot be found in the knowledge library, send a request and our back-end technicians will reply within 24 hours. You can also sign up for the DJI SDK Forum and discuss your issue there. 

https://sdk-forum.dji.net/hc/en-us/requests/new 

Join the DJI Enterprise Ecosystem Solution Catalogue

If you already have a product/solution developed with DJI SDK, you can apply to join the DJI Enterprise Ecosystem.

https://enterprise.dji.com/ecosystem 

1. Submit Application

Complete and submit application form online.

2. Basic Info Review

The candidate hardware/software solution should be based on a DJI drone platform or DJI SDK/API. 

3. Solution Review

A demo unit/test account/live demo needs to be provided for the functionalities test. At least five successful cases need to be provided for validation.

4. Become a DJI Solution Partner

After the application is approved, necessary visual materials/descriptions need to be provided for the webpage display.

 

Share on Social Media:

Tags: Drone Ecosystem

New call-to-action

To stay in touch and receive ebooks, resources, and product updates, subscribe to our newsletter.

DJI Enterprise
About the Author DJI Enterprise

Related articles

Recent Posts

Regulations

DJI Enterprise Drones Guide for EASA C2 Class Identification Label

As the use of drones becomes more widespread, it is important for operators to comply with regulations regarding their use. One such regulation is the European Drone Classification System, introduced...
Read More

Product Innovation

V7.1: The Biggest Firmware Upgrade for DJI Enterprise Products is here!

Firmware 7.1 Update is here and with it, an enhanced flying experience for our users. These firmware updates span across multiple products including our latest drones, software, and even our...
Read More

AEC & Surveying

Importing DJI Drone Data into Trimble Business Center

Imagery captured from drones is one of the best methods of capturing insights on your site. The resolution of the data, as well as the frequency of capture makes it possible to get daily or weekly...
Read More

AEC & Surveying

Stockpile Measurements with DJI Enterprise Drones and DJI Terra

Do you ever find yourself asking “How much inventory do I have on my site?” or “How much material do I have in this stockpile?”
Read More