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_controlmust 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_releaseDetailed 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.
Flight control commands (DRC commands)
Payload control commands
Last updated