dji-sdk / Windows-SDK

DJI Windows SDK: http://developer.dji.com/windows-sdk/
Other
170 stars 117 forks source link

DJI Windows SDK

What Is This?

The DJI Windows SDK enables you to automate your DJI Product on a PC. You can control flight, and many subsystems of the product including the camera and gimbal. Using the DJI Windows SDK, create a customized UWP (Universal Windows Platform) app to unlock the full potential of your DJI aerial platform.

The Latest Version

The latest SDK version is Public Beta 0.3.2.

Get Started Immediately

Prerequisites

To use DJI Windows SDK, the following environments are required:

Supported Products

The supported DJI products include Mavic 2 Enterprise, Mavic 2 Enterprise Dual, Mavic 2 Pro/Zoom, Phantom 4 Pro V2.0+ (remote controller with screen), Mavic Air and Phantom 4 Pro V2.

For Mavic Air, only WiFi connection is supported. Therefore, the PC or the laptop should have a WiFi adapter.

For Phantom 4 Pro V2, USB connection is supported. Setup the connection with the following steps:

Insert the following XML code to Package.appxmanifest of your application:

<DeviceCapability Name="serialcommunication">
    <Device Id="vidpid:2ca3 001f">
        <Function Type="name:serialPort" />
    </Device>
</DeviceCapability>

This can enable the permission to access to the COM port in your UWP application. This step is done in the sample code already.

CAUTION: It is necessary to power off the remote controller first and connect it to PC after. The remote controller will determine whether to enable PC mode during booting. If the remote controller disconnects from the PC, it has to be powered off before re-connecting to the PC.

Generate APP Key

To enable DJI Windows SDK, developers will need to register applications with an APP key. This is also required to run the sample in this repository. Follow the steps to create the APP key:

Go to the DJI Developer Center

Run Sample Code

Git clone this repository. Open DJIWindowsSDKSample.sln. Because the dependencies and the video parser has been configured in this sample, just compile and run it using x86 as the architecture.

To start browsing all the features in the sample, you have to input the APP key. Following the previous section and use "com.wsdk.sample" as the package name to generate an APP key.

After SDK registers successfully, you should see the full list of features.

SDK API Reference

DJI Windows SDK API Documentation

FFmpeg Customization

We have forked the original FFmpeg and added customized features to provide more video frame information including the frame's width and height, frame rate number, etc. These features will help to implement video hardware decoding.

The sample is dynamically linked with modified libraries of FFmpeg licensed under the LGPLv2.1. The source code of these FFmpeg libraries, the compilation instructions, and the LGPL v2.1 license are provided in Github.

Support

You can get support from dev@dji.com