• Stars
    star
    166
  • Rank 227,748 (Top 5 %)
  • Language
    C
  • License
    Other
  • Created about 6 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DJI Windows SDK: http://developer.dji.com/windows-sdk/

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:

  • A PC or a laptop.
  • Windows 10.
  • Visual Studio 2017.
  • Windows 10 SDK, version 1803.

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:

  • Install DJI Assistant 2 on the PC.
  • Ensure the remote controller has firmware version 01.00.200 or above. Use DJI GO 4 or DJI Assistant 2 to upgrade the remote controller if the firmware is old.
  • Make sure the remote controller is powered off.
  • Use a USB cable to connect PC with the remote controller. CAUTION: Use the mini-USB port of the remote controller instead of the Type A port.
  • Power on the remote controller.
  • Go to Device Manager of Windows. If the remote controller is connected successfully, you should see two devices in the list: Remote NDIS based Internet Sharing Device #1 and DJI USB Virtual COM (COM1). The number and the COM index may show differently across PC machines.

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

  • Select the "Apps" tab on the left.
  • Select the "Create App" button on the right.
  • Enter the name, platform, UWP package name, category and description of the application.
  • An application activation email will be sent to complete App Key generation.
  • The App Key will appear in the user center, and can be copied and pasted into the application.

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 [email protected]

More Repositories

1

Tello-Python

This is a collection of python modules that interact with the Ryze Tello drone.
Python
1,346
star
2

Mobile-SDK-Android

DJI Mobile SDK for Android: http://developer.dji.com/mobile-sdk/
Java
976
star
3

Onboard-SDK

DJI Onboard SDK Official Repository
C++
904
star
4

Mobile-SDK-iOS

DJI Mobile SDK for iOS: http://developer.dji.com/mobile-sdk/
Objective-C
576
star
5

Onboard-SDK-ROS

Official ROS packages for DJI onboard SDK.
C++
443
star
6

RoboMaster-SDK

DJI RoboMaster Python SDK and Sample Code for RoboMaster EP.
C
322
star
7

Mobile-SDK-Android-V5

MSDK V5 Sample
Java
254
star
8

Payload-SDK

DJI Payload SDK Official Repository
C
223
star
9

Mobile-UXSDK-Android

DJI Mobile UXSDK is a suite of product agnostic UI objects that fast tracks the development of Android applications using the DJI Mobile SDK.
151
star
10

Guidance-SDK

The official Guidance SDK package for Windows, Ubuntu and XU3.
C++
134
star
11

DJI-Cloud-API-Demo

Java
120
star
12

Mobile-UXSDK-Beta-Android

Mobile Android UXSDK Beta
Java
97
star
13

Cloud-API-Demo-Web

Vue
93
star
14

Android-Bridge-App

Source code of DJI Android Bridge App.
Java
93
star
15

Guidance-SDK-ROS

The official ROS package of Guidance SDK for 32/64 bit Ubuntu and XU3
C++
80
star
16

Mobile-UXSDK-iOS

DJI Mobile UXSDK is a suite of product agnostic UI objects that fast tracks the development of iOS applications using the DJI Mobile SDK.
Objective-C
73
star
17

Mobile-SDK-Tutorial

GitBook Link
CSS
61
star
18

Mobile-SDK-Doc

Source code and docs for the documentation page of DJI Mobile SDK Developer Website.
HTML
52
star
19

FlightRecordParsingLib

DJI Flight Record Parsing Lib
C++
45
star
20

DJI-IoTEdge

This project is a sample for you to learn how to combine Microsoft Azure IoT Edge DJI Windows SDK and DJI Drones.
C#
45
star
21

iOS-Bridge-App

The source code of DJI Bridge App project
Objective-C
38
star
22

DJIWidget

The DJIWidget is a delightful DJI library includes VideoPreviewer for video decoding.
C
35
star
23

Manifold-Cam

The project realizes to get the video data from X3 camera on M100.
C
34
star
24

Onboard-SDK-Doc

Source code and docs for the documentation page of DJI Onboard SDK Developer Website.
HTML
34
star
25

Mobile-UXSDK-Beta-iOS

Mobile iOS UXSDK Beta
Objective-C
23
star
26

Cloud-API-Doc

20
star
27

Edge-SDK

DJI Edge SDK Official Repository
C++
19
star
28

Windows-SDK-Doc

Source code and docs for the documentation page of DJI Windows SDK Developer Website.
HTML
18
star
29

Mobile-OSDK-iOS-App

Mobile - OnboardSDK communication iOS app
Objective-C
15
star
30

Payload-SDK-Doc

Source code and docs for the documentation page of DJI Payload SDK Developer Website.
HTML
14
star
31

DJIPSDKVideoStreamCheckTool

PSDK video stream check tool, used to check whether the specified video stream conforms to the PSDK video stream standard
C
13
star
32

Guidance-SDK-Doc

Source code and docs for the documentation page of DJI Guidance SDK Developer Website.
CSS
9
star
33

Mobile-SDK-Tutorial-V5

Mobile SDK Tutorial V5 Public
6
star
34

Onboard-SDK-Resources

6
star
35

Onboard-SDK-ROS-Release

4
star
36

DJIFlySafeDatabaseResource

DJIFlySafeDatabaseResource bundle.
Ruby
2
star
37

DJINetworkRTKHelper

The DJINetworkRTKHelper is used for Network RTK service in DJI Mobile SDK.
Ruby
2
star
38

OnboardSDK-Ping-iOSApp

Companion iOS App for Ping ADS-B integration to DJI onboard SDK.
Objective-C
1
star
39

Payload-SDK-Tutorial

Payload SDK Tutorial
1
star