2. What is the DJI Payload SDK?
- The PSDK is a library for linux or RTOS that can compile for several different
cpu architectures.
- The PSDK source is modular making it easy to “transplant” into your
application.
- DJI provides a development kit Payload SDK (PSDK) and development
accessories X-Port, SkyPort V2 and SDK Round Ribbon Cable
- The PSDK has the hardware and software tools needed to create your own
accessories based on predefined standards
3.
4.
5.
6. Features of the PSDK
- Power Management
- SDK Interconnection
- Data Subscription
- MOP Channels
- HQ Video Streaming
- Custom Widgets
- Works with DJI Pilot easily
- X-PORT Control
- Media Management
- Camera Features/Management
- Basic functions: set camera mode, take
pictures, record videos, get camera status
- Advanced functions: pointing zoom,
metering, focus
- Advanced features: video streaming,
media file playback and download
- Gimbal Features/Management
- Control the rotation speed and rotation
mode of the gimbal
- Set smoothing factor and maximum speed
factor
- Gimbal calibration, reset and angle fine-
tuning
7. How the PSDK Works (1) - Hardware Connection
- an X-PORT or SkyPort V2 to connect to a development board
- The development board then connects to any other third-party boards via
UART Serial or/and a network cable for high bandwidth applications
Image from DJI Developer Quick-start guide
8. How the PSDK Works (2) - Pinout
- Both X-PORT and SkyPort V2 have same pinout
Image from DJI Developer Quick-start guide
Pin Number Function
1 - 6 Power Supply
11, 12 Payload communication with
drone
14 Time Sync (drone must have
RTK)
15, 16 High-power apply
17 - 20 High-speed data transfer
10. Components
- DJI XPORT gimbal
- DJI Expansion Board with “Round Ribbon Cable”
- 10W Led Light Kit from LED Supply Company
- Raspberry PI Zero W 2
- 25vdc Relay, 1.2k Resistor, 2N4401 Transistor, X-30 power connectors
- A whole lot of Blue ABS 3D Printer Filament
11. How the PSDK Works (3) - Searchlight Example
- Order for how the searchlight interacts with PSDK/M300/Application:
1. Once a bound searchlight connects
2. The C++ UI widget initializes on the pi
3. The widget uses an internal PSDK bus to send messages over the serial bus
4. Once the widget has connected and DJI Pilot is showing the buttons
5. The C++ code on the pi receives button press events
6. A handler grabs these events
7. The event in the handler contains the ID of the button that was pressed
8. Logic in the handler uses these IDs to trigger specific actions, such as turning on and
off the search light