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.
Before we get into the guide, here is a quick snapshot of the DJI SDK developer ecosystem:
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 |
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.
① Developer Tutorials |
|
② API Documents |
https://developer.dji.com/cn/api-reference-v5/android-api/Components/SDKManager/DJISDKManager.html |
③ GitHub Sample Code Package |
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 |
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.
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.
① Developer Tutorials |
|
② API Documents |
|
③ GitHub Sample Code Package |
|
④ PSDK Accessories |
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 |
|
③ Run Sample Code |
https://developer.dji.com/doc/payload-sdk-tutorial/en/quick-start/run-sample-code.html |
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.
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 |
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.
① Developer Tutorials |
|
② API Documents |
https://developer.dji.com/doc/cloud-api-tutorial/en/server-api-reference/mqtt/topic-definition.html |
③ GitHub Sample Code Package (Front end) |
|
④ GitHub Sample Code Package (Back end) |
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 |
Step 1: Search in the knowledge library to filter out known issues. |
|
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. |
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
Complete and submit application form online.
The candidate hardware/software solution should be based on a DJI drone platform or DJI SDK/API.
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.
After the application is approved, necessary visual materials/descriptions need to be provided for the webpage display.