Keywords: DJI SDK，DJI drone secondary development, Third-party load integration
When using a DJI drone for secondary development, it cannot be directly developed on the drone. However, several different SDKs are provided for integration or secondary development based on DJI drones. As a software development kit, SDK can be regarded as an interface or protocol for our own developed applications to communicate with drones. Our applications can interact or control DJI drones based on the SDK. The models and functions supported by different SDKs are not exactly the same. Through this article, you can first understand the general functions of the DJI SDK, and then select the appropriate SDK for evaluation and development based on our actual application needs.
Developing our applications with DJI drones, the applications are mainly divided into two categories,
One is the secondary development based on the drone side, such as mounting our own equipment on the UAV, and for example, we do not need to use the remote control to control the UAV, but we can installe a control unit(Onboard computer) on the drone that can also achieve autonomous control and flight via the DJI SDK.
The other one is the development of APPs on the ground side of the remote control. The APP can be used to implement functions similar to the official APP DJI Pilot. The APP developed based on Android/IOS can also be expanded as a transfer module, such as forwarding to the server, PC, etc.
Based on the above two types of applications, DJI SDK mainly provides Onboard SDK/Payload SDK for the secondary development of the Onboard side, and Mobile SDK for the secondary development of the APP on the remote control side.
Onboard SDK is used for the secondary development of the drone side. It is usually used for the onboard computer to control the flight of the UAV, obtain the telemetry datas(such as GPS) of the UAV, obtain the real-time video stream of the camera, developers can process the obtained data through the onboard computer platform. OSDK supports flightCtrl(joystick), waypoint mission to control drone flight.
If you need to evaluate the communication with the ground side through the OSDK, you can also evaluate the integration of the wireless communication module on the onboard computer.
Onboard computer platforms：
Linux, ROS, FreeRTOS(STM32)
DJI Payload SDK is usually used to integrate third-party payloads to DJI drones. For example, cameras developed by developers can be integrated into DJI drones through PSDK, these cameras can reuse DJI wireless links, and they are able to communicate with RC, DJI APP or MSDK.
PSDK mainly supports Linux(ARM, X86) and STM32.
The third payload with PSDK development needs to be connected to the drone through skyport and X-PORT.
Mobile SDK is mainly used for the secondary development of the RC ground station, communicating with the drone through the remote controller.
Support IOS and Android.
Different SDKs have different functions and development features. For specific functions and development guidance, please refer to the DJI developer's website:
Note: This article is from Chinese and is translated by machine. If there is any error, please point it out and we will correct it in time