90.drc

Overview

Pilot access to the cloud adds the remote control functionality. Users can control the aircraft gimbal and payloads via Pilot to achieve tasks such as looking at specific location, capturing, recording, measuring infrared temperature and so on. OSD and obstacle sensing information reporting is also supported. Currently only Mavic 3 Enterprise Series model is supported and there is no distinction between the flight control authority and payload control authority.

  • Flight control commands (DRC commands)

    Drone Remote Control (DRC) uses MQTT protocol and add two new topics to represents upward link and downward link. MQTT Topic Definition provides introduction and example of drc Topic structure. After the server and device successfully build MQTT link, an EMQX Broker will be distributed to the DRC communication link from server to device for faster transmission and response. To use DRC commands, the live flight controls control mode should be entered in advanced. DRC commands usually do not limited by flight control authority, but the DRC-flight control Method: drone_control must need the flight control authority.

Figure. DRC link

  • Payload control commands: All the payload control commands require payload control authority. Current payload control commands control the camera and gimbal actions to realize the payload operations like photo taking, camera zooming in or zooming out, gimbal reset and so on. Therefore the target information can be obtained through these payload operations.

Interaction Sequence Diagram

Note: To avoid the drone damage, executing the control authority seizure is recommended before issue the live flight controls APIs.

sequenceDiagram

participant web as Web Page
participant cloud as Cloud Server
participant mqtt as MQTT Broker
participant pilot as DJI Pilot 2

web -->> cloud: Request remote controller to authorize the cloud control
cloud -->> pilot: Request remote controller to authorize the cloud control <br/>Topic: thing/product/{gateway_sn}/services <br/>Method: cloud_control_auth_request
pilot -->> pilot: Remote controller agrees to tht cloud control
pilot -->> cloud: Reply to agree to the authorization <br/>Topic: thing/product/{gateway_sn}/services_reply <br/>Method: cloud_control_auth_request
pilot -->> cloud: Report authorization state <br/>Topic: thing/product/{gateway_sn}/state <br/>is_cloud_control_auth = true

web -->> cloud: Request to establish remote control link
cloud -->> pilot: Issue MQTT connection information
pilot -->> mqtt: Build MQTT connection
cloud -->> web: Issue MQTT connection information
web -->> mqtt: Build MQTT connection

web -->> mqtt: Send control command <br/>Topic: thing/product/{gateway_sn}/drc/down
mqtt -->> pilot: Send control command <br/>Topic: thing/product/{gateway_sn}/drc/down

pilot -->> mqtt: Upload information <br/>Topic: thing/product/{gateway_sn}/drc/up
mqtt -->> web: Upload information


    note left of pilot: Pilot user clicks the authority grabbing button

pilot -->> pilot: Cancel the authorization
pilot -->> cloud: Report the authorization state <br/>Topic: thing/product/{gateway_sn}/state <br/>is_cloud_control_auth = false


    note right of web: web user releases the cloud control

web -->> cloud: Release the cloud control
cloud -->> pilot: Release the authorization <br/>Topic: thing/product/{gateway_sn}/services <br/>cloud_control_release

Detailed API Realization

Note: Only when the "Media File Upload" is opened on Pilot, the media files generated by the payload control commands will be pushed by the media management function. For how to open the "Media File Upload" on Pilot, please refer to the Media File Library chapter of DJI FlightHub 2 User Manual.

Live Flight Controls

  • Flight control commands (DRC commands)

  • Payload control commands

Remote Control

Last updated