30.drc

Event

Authorization result notification

Topic: thing/product/{gateway_sn}/events

Direction: up

Method: cloud_control_auth_notify

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

output

Output

struct

»status

Task state

enum_string

{"canceled":"Another user initiated an authorization request, this request was canceled.","failed":"Error or user denied","ok":"User agreed"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"output": {
			"status": "ok"
		},
		"result": 0
	},
	"method": "cloud_control_auth_notify",
	"need_reply": 0,
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1704038400000
}

Topic: thing/product/{gateway_sn}/events

Direction: up

Method: drc_status_notify

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

drc_state

Live flight controls state

enum_int

{"0":"Not connected","1":"Connecting","2":"Connected"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"drc_state": 2,
		"result": 0
	},
	"need_reply": 1,
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Report photo capturing progress

Topic: thing/product/{gateway_sn}/events

Direction: up

Method: camera_photo_take_progress

Data:

Column
Name
Type
constraint
Description

output

Output

struct

»status

Photo capturing status

enum_string

{"fail":"Failed","in_progress":"Executing","ok":"Finished"}

»progress

Progress

struct

»»current_step

Execution step

enum_int

{"3000":"Panorama photo shoot not started or finished","3002":"Panorama photo shooting in progress","3005":"Panorama photo stitching in progress"}

»»percent

Progress value

int

{"max":"100","min":"0","step":"1"}

»ext

Extended content

struct

»»camera_mode

Current camera mode

enum_int

{"3":"Panoramic photography"}

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"output": {
			"ext": {
				"camera_mode": 3
			},
			"progress": {
				"current_step": 0,
				"percent": 100
			},
			"status": "ok"
		},
		"result": 0
	},
	"need_reply": 1,
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Service

Release cloud control

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: cloud_control_release

Data:

Column
Name
Type
constraint
Description

control_keys

Control key list

array

{"size": 1, "item_type": text}

List of control keys to release. "flight" represents flight control authority.

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: cloud_control_release

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"output": {
			"status": "ok"
		},
		"result": 0
	},
	"method": "cloud_control_release",
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1704038400000
}

Request cloud control authorization

After the request, a "Request Authorization" pop-up will appear on the remote controller.

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: cloud_control_auth_request

Data:

Column
Name
Type
constraint
Description

user_id

User ID

text

{ "length": "" }

The user ID of the cloud user requesting authorization.

user_callsign

User Callsign

text

{ "length": "" }

The nickname of the cloud user requesting authorization.

control_keys

Control Keys

array

{ "size": 1, "item_type": text }

To request flight control authorization, please fill in "flight".

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: cloud_control_auth_request

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"output": {
			"status": "ok"
		},
		"result": 0
	},
	"method": "cloud_control_auth_request",
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1704038400000
}

Exit live flight controls mode

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: drc_mode_exit

Data: null

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: drc_mode_exit

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Enter live flight controls mode

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: drc_mode_enter

Data:

Column
Name
Type
constraint
Description

mqtt_broker

Broker connection information

struct

Get the address and authentication information of the MQTT relay service

»address

Server connection address

text

Server connection address, for example, 192.0.2.1:8883, mqtt.dji.com:8883

»client_id

Client ID

text

Customizable MQTT client ID. It is recommended to use the device's serial number (SN code). It can also be combined with a meaningful prefix, such as drc-4J4R101

»username

User name

text

Username used when establishing a connection

»password

Password

text

Password required for authentication when establishing a connection

»expire_time

Authentication information expiration time

int

{"unit_name":"Seconds / s"}

Authentication information can be reused within the validity period. The expiration of authentication information does not affect devices that have already established a connection.

»enable_tls

Whether to enable TLS

bool

Enable TLS, i.e., encrypt the MQTT link

osd_frequency

OSD frequency

int

{"max":30,"min":1,"step":"","unit_name":"Hertz / Hz"}

Set OSD reporting frequency

hsi_frequency

HSI frequency

int

{"max":30,"min":1,"step":"","unit_name":"Hertz / Hz"}

Set HSI reporting frequency

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"hsi_frequency": 1,
		"mqtt_broker": {
			"address": "mqtt.dji.com:8883",
			"client_id": "sn_a",
			"enable_tls": true,
			"expire_time": 1672744922,
			"password": "jwt_token",
			"username": "sn_a_username"
		},
		"osd_frequency": 10
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: drc_mode_enter

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Switch Camera Mode

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_mode_switch

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

camera_mode

Camera mode

enum_int

{"0":"Shooting","1":"Recording","2":"Smart low-light","3":"Panoramic photography"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"camera_mode": 0,
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_mode_switch

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Start Recording

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_recording_start

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_recording_start

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Stop Recording

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_recording_stop

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_recording_stop

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Screen Drag Control

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_screen_drag

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

locked

Whether the relative relationship between the aircraft's heading and the gimbal is locked

bool

{"false":"Only gimbal turns, the aircraft body does not turn","true":"Lock the aircraft's heading. The gimbal and the aircraft body turn together"}

pitch_speed

Gimbal pitch speed

double

{"unit_name":"Radians per second / rad/s"}

Gimbal pitch speed

yaw_speed

Gimbal yaw speed

double

{"unit_name":"Radians per second / rad/s"}

Gimbal yaw speed, effective only when the aircraft head is not locked.

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"locked": true,
		"payload_index": "39-0-7",
		"pitch_speed": 0.1,
		"yaw_speed": 0.1
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_screen_drag

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Double Tap to AIM

The double-tap AIM function allows you to double-tap on a target point within the camera's field of view, making that point the center of the camera's field of view.

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_aim

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

camera_type

Camera type

enum_string

{"ir":"Infrared","wide":"Wide-angle","zoom":"Zoom"}

Camera type enumeration

locked

Whether the relative relationship between the aircraft's heading and the gimbal is locked

bool

{"false":"Only gimbal turns, the aircraft body does not turn","true":"Lock the aircraft's heading. The gimbal and the aircraft body turn together"}

x

Target coordinates x

double

{"max":1,"min":0}

Target coordinates x, with the upper-left corner of the lens as the coordinate center, and the horizontal direction as x.

y

Target coordinates y

double

{"max":1,"min":0}

Target coordinates y, with the upper-left corner of the lens as the coordinate center, and the vertical direction as y.

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"camera_type": "zoom",
		"locked": true,
		"payload_index": "39-0-7",
		"x": 0.5,
		"y": 0.5
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_aim

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Zoom

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_focal_length_set

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

camera_type

Camera type

enum_string

{"ir":"Infrared","wide":"Wide-angle","zoom":"Zoom"}

Camera type enumeration

zoom_factor

Zoom factor

double

{"max":200,"min":2}

Zoom factor, 2-200 for visible light, 2-20 for infrared.

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"camera_type": "zoom",
		"payload_index": "39-0-7",
		"zoom_factor": 5
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_focal_length_set

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Reset gimbal

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: gimbal_reset

Data:

Column
Name
Type
constraint
Description

payload_index

Payload index

text

Payload index. Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

reset_mode

Reset mode type

enum_int

{"0":"Reset","1":"Downward","2":"Gimbal pan recenter","3":"Gimbal pitch downward"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"payload_index": "39-0-7",
		"reset_mode": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: gimbal_reset

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Look At

The Look At function instructs the aircraft to turn from its current orientation to a point specified by actual latitude, longitude, and altitude. For the M30/M30T model, it is recommended to use the method of locking the head. An exception may occur if the gimbal rotates only when the gimbal limit angle is reached.

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_look_at

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

locked

Whether the relative relationship between the aircraft's heading and the gimbal is locked

bool

{"false":"Only gimbal turns, the aircraft body does not turn","true":"Lock the aircraft's heading. The gimbal and the aircraft body turn together"}

latitude

Target point latitude (in degree values)

double

{"max":90,"min":-90}

Angle value. Negative for south latitude, positive for north latitude, accurate to 6 decimal places.

longitude

Target point longitude (in degree values)

double

{"max":180,"min":-180}

Angle value. East longitude is positive, west longitude is negative, precision to 6 decimal places.

height

Target point height

float

{"max":10000,"min":2,"step":0.1,"unit_name":"Meters / m"}

Target point height (ellipsoid height)

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"height": 100,
		"latitude": 12.23,
		"locked": true,
		"longitude": 12.23,
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_look_at

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Split Screen

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_screen_split

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

enable

Whether to enable split screen

bool

Enable or disable split screen

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"enable": true,
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_screen_split

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Photo storage settings

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: photo_storage_set

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

photo_storage_settings

Photo storage settings collection

array

{"size": -, "item_type": enum_string}

Photo storage types {current, vision, ir}, can be multiple

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"payload_index": "39-0-7",
		"photo_storage_settings": [
			"current",
			"vision",
			"ir"
		]
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: photo_storage_set

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Video storage settings

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: video_storage_set

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

video_storage_settings

Collection of video storage settings

array

{"size": -, "item_type": enum_string}

Video storage types {current, vision, ir}, can be selected multiple

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"payload_index": "39-0-7",
		"video_storage_settings": [
			"current",
			"vision",
			"ir"
		]
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: video_storage_set

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - subject zoom

The subject zoom function enables to select and frame a target area within the camera's field of view. When activated, the camera screen will automatically switch to the target frame, zoom in and adjust the gimbal to the center.

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_frame_zoom

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

camera_type

Camera type

enum_string

{"ir":"Infrared","wide":"Wide-angle","zoom":"Zoom"}

locked

Whether the relative relationship between the aircraft's heading and the gimbal is locked

bool

{"0":"Only gimbal turns, the aircraft body does not turn","1":"Lock the aircraft's heading. The gimbal and the aircraft body turn together"}

x

Upper-left coordinate x of the target frame

float

{"max":"1","min":"0","step":"0.000001","unit_name":"None / "}

y

Upper-left coordinate y of the target frame

float

{"max":"1","min":"0","step":"0.000001","unit_name":"None / "}

width

Width of the target frame

float

{"max":"1","min":"0","step":"0.000001","unit_name":"None / "}

height

Height of target frame

float

{"max":"1","min":"0","step":"0.000001","unit_name":"None / "}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"camera_type": "zoom",
		"height": 0.2,
		"locked": true,
		"payload_index": "39-0-7",
		"width": 0.2,
		"x": 0.5,
		"y": 0.5
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_frame_zoom

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - infrared temperature area settings

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: ir_metering_area_set

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

x

Temperature area coordinate x of the upper left corner

double

{"max":1,"min":"","step":"","unit_name"}

Horizontal direction x with the upper left corner of the lens as the coordinate center

y

Temperature area coordinate y of the upper left corner

double

{"max":1,"min":"","step":"","unit_name"}

Vertical direction y with the upper left corner of the lens as the coordinate center

width

Width of the temperature area

double

{"max":1,"min":"","step":"","unit_name"}

height

Height of the temperature area

double

{"max":1,"min":"","step":"","unit_name"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"height": 0.5,
		"payload_index": "39-0-7",
		"width": 0.5,
		"x": 0.5,
		"y": 0.5
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: ir_metering_area_set

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - infrared temperature point settings

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: ir_metering_point_set

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

x

Temperature point coordinate x

double

{"max":1,"min":"","step":"","unit_name":null}

Coordinates x of temperature point with the upper left corner of the lens as the coordinate center, horizontal direction as x

y

Temperature point coordinate y

double

{"max":1,"min":"","step":"","unit_name":null}

Coordinates y of temperature point with the upper left corner of the lens as the coordinate center, vertical direction as y

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"payload_index": "39-0-7",
		"x": 0.5,
		"y": 0.5
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: ir_metering_point_set

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - infrared temperature mode settings

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: ir_metering_mode_set

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

mode

Temperature mode

enum_int

{"0":"Turn off temperature measurement","1":"Point temperature measurement","2":"Area temperature measurement"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"mode": 1,
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: ir_metering_mode_set

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - Spot AF

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_point_focus_action

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

camera_type

Camera type

enum_string

{"wide":"Wide-angle","zoom":"Zoom"}

Camera type enumeration. Note: This parameter is only supported under the zoom lens configuration for Matrice 30 series aircraft.

x

Focus point coordinate x

double

{"max":1,"min":"","step":"","unit_name":null}

Coordinate x with the upper left corner of the lens as the origin, horizontal direction.

y

Focus point coordinate y

double

{"max":1,"min":"","step":"","unit_name":null}

Coordinate y with the upper left corner of the lens as the origin, vertical direction.

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"camera_type": "zoom",
		"payload_index": "39-0-7",
		"x": 0.5,
		"y": 0.5
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_point_focus_action

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - camera focus value settings

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_focus_value_set

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

camera_type

Camera type

enum_string

{"wide":"Wide-angle","zoom":"Zoom"}

Camera type enumeration. Note: This parameter is only supported under the zoom lens configuration for Matrice 30 series aircraft.

focus_value

Focus value

int

Focus value, range refer to aircraft model attributes zoom_max_focus_value and zoom_min_focus_value.

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"camera_type": "zoom",
		"focus_value": 5,
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_focus_value_set

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - camera focus mode settings

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_focus_mode_set

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

camera_type

Camera type

enum_string

{"wide":"Wide-angle","zoom":"Zoom"}

Camera type enumeration. Note: The Matrice 30 series aircraft only supports configuring this parameter under the zoom lens.

focus_mode

Focus mode

enum_int

{"0":"MF","1":"AFS","2":"AFC"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"camera_type": "zoom",
		"focus_mode": 1,
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_focus_mode_set

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - camera exposure value adjustment

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_exposure_set

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

camera_type

Camera type

enum_string

{"wide":"Wide-angle","zoom":"Zoom"}

exposure_value

Exposure value

enum_string

{"1":"-5.0EV","2":"-4.7EV","3":"-4.3EV","4":"-4.0EV","5":"-3.7EV","6":"-3.3EV","7":"-3.0EV","8":"-2.7EV","9":"-2.3EV","10":"-2.0EV","11":"-1.7EV","12":"-1.3EV","13":"-1.0EV","14":"-0.7EV","15":"-0.3EV","16":"0EV","17":"0.3EV","18":"0.7EV","19":"1.0EV","20":"1.3EV","21":"1.7EV","22":"2.0EV","23":"2.3EV","24":"2.7EV","25":"3.0EV","26":"3.3EV","27":"3.7EV","28":"4.0EV","29":"4.3EV","30":"4.7EV","31":"5.0EV","255":"FIXED"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"camera_type": "zoom",
		"exposure_value": 5,
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_exposure_set

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - camera exposure mode adjustment

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_exposure_mode_set

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

camera_type

Camera type

enum_string

{"wide":"Wide-angle","zoom":"Zoom"}

Camera type enumeration

exposure_mode

Exposure Mode

enum_int

{"1":"Auto","2":"Shutter Priority","3":"Aperture Priority","4":"Manual"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"camera_type": "zoom",
		"exposure_mode": 1,
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_exposure_mode_set

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - stop capturing

Stop capturing command, currently only panorama capture mode is supported.

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_photo_stop

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Camera enumeration values. Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_photo_stop

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Payload control - start capturing

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_photo_take

Data:

Column
Name
Type
constraint
Description

payload_index

Camera enumeration

text

Non-standard device_mode_key, formatted as {type-subtype-gimbalindex}. Please refer to Product Supported

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"payload_index": "39-0-7"
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_photo_take

Data:

Column
Name
Type
constraint
Description

result

Return code

int

Non-zero represents an error

status

Task state

enum_string

{"in_progress":"Executing"}

When capturing panoramas or other continuous photography actions, status information will be reported. Expect ongoing progress events to be reported. For detailed content, please refer to the camera_photo_take_progress event.

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"output": {
			"status": "in_progress"
		},
		"result": 0
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655
}

Requests

DRC - Heartbeat

The seq at the same level as data is an incrementing sequence number that ensures the sequential execution of commands.

Topic: thing/product/{gateway_sn}/drc/down

Direction: up

Method: heart_beat

Data:

Column
Name
Type
constraint
Description

seq

[Deprecated]Command sequence number

int

Incremental sequence number to ensure the sequential execution of commands

timestamp

Heartbeat transmission timestamp

int

{"unit_name":"Milliseconds / ms"}

The heart_beat protocol can determine whether the DRC link is active or not. If no heartbeat response is received within a certain period, the DRC link can be considered abnormal, and a retry can be initiated. If no heartbeat protocol is received for more than one minute, the device will consider the DRC link idle and exit the DRC link.

Example:

{
	"data": {
		"seq": 10,
		"timestamp": 1670415891013
	},
	"method": "heart_beat",
	"seq": 1
}

Topic: thing/product/{gateway_sn}/drc/up

Direction: down

Method: heart_beat

Data:

Column
Name
Type
constraint
Description

seq

[Deprecated]Command sequence number

int

Incremental sequence number to ensure the sequential execution of commands

timestamp

Heartbeat transmission timestamp

int

{"unit_name":"Milliseconds / ms"}

The heart_beat protocol can determine whether the DRC link is active or not. If no heartbeat response is received within a certain period, the DRC link can be considered abnormal, and a retry can be initiated. If no heartbeat protocol is received for more than one minute, the device will consider the DRC link idle and exit the DRC link.

Example:

{
	"data": {
		"seq": 10,
		"timestamp": 1670415891013
	},
	"method": "heart_beat",
	"seq": 1
}

DRC - Obstacle Information Report

Topic: thing/product/{gateway_sn}/drc/down

Direction: up

Method: hsi_info_push

Data:

Column
Name
Type
constraint
Description

up_distance

Upward obstacle distance

int

{"max":"","min":"","step":"","unit_name":"Millimeters / mm"}

Upward obstacle distance

down_distance

Downward obstacle distance

int

{"max":"","min":"","step":"","unit_name":"Millimeters / mm"}

Downward obstacle distance

up_enable

Upward obstacle sensing switch state

bool

{"0":"Disable","1":"Enable"}

Upward obstacle sensing switch state

up_work

Upward obstacle sensing work state

bool

{"0":"Disable","1":"Enable"}

Upward obstacle sensing work state

down_enable

Downward obstacle sensing switch state

bool

{"0":"Disable","1":"Enable"}

Downward obstacle sensing switch state

down_work

Downward obstacle sensing work state

bool

{"0":"Disable","1":"Enable"}

Downward obstacle sensing work state

around_distances

Distances to surrounding obstacles

array

{"size": -, "item_type": int}

Distances to surrounding obstacles

left_enable

Left obstacle sensing switch state

bool

{"0":"Disable","1":"Enable"}

left_work

Left obstacle sensing working state

bool

{"0":"Disable","1":"Enable"}

right_enable

Right obstacle sensing switch state

bool

{"0":"Disable","1":"Enable"}

right_work

Right obstacle sensing working state

bool

{"0":"Disable","1":"Enable"}

front_enable

Forward obstacle sensing switch state

bool

{"0":"Disable","1":"Enable"}

front_work

Forward obstacle sensing working state

bool

{"0":"Disable","1":"Enable"}

back_enable

Backward obstacle sensing switch state

bool

{"0":"Disable","1":"Enable"}

back_work

Backward obstacle sensing working state

bool

{"0":"Disable","1":"Enable"}

vertical_enable

Vertical obstacle sensing switch state

bool

{"0":"Disable","1":"Enable"}

vertical_work

Vertical obstacle sensing working state

bool

{"0":"Disable","1":"Enable"}

horizontal_enable

Horizontal obstacle sensing switch state

bool

{"0":"Disable","1":"Enable"}

horizontal_work

Horizontal obstacle sensing work state

bool

{"0":"Disable","1":"Enable"}

Example:

{
	"data": {
		"around_distance": [
			10,
			8,
			9,
			16,
			2
		],
		"back_enable": true,
		"back_work": true,
		"down_distance": 10,
		"down_enable": true,
		"down_work": true,
		"front_enable": true,
		"front_work": true,
		"horizontal_enable": true,
		"horizontal_work": true,
		"left_enable": true,
		"left_work": true,
		"right_enable": true,
		"right_work": true,
		"up_distance": 10,
		"up_enable": true,
		"up_work": true,
		"vertical_enable": true,
		"vertical_work": true
	},
	"timestamp": 1670415891013
}

Topic: thing/product/{gateway_sn}/drc/up

Direction: down

Method: hsi_info_push

Data: null

Topic: thing/product/{gateway_sn}/drc/down

Direction: up

Method: delay_info_push

Data:

Column
Name
Type
constraint
Description

sdr_cmd_delay

Delay in the transmission protocol command link

int

{"unit_name":"Milliseconds / ms"}

Delay in the transmission protocol command link

liveview_delay_list

Video transmission video stream delay

array

{"size": -, "item_type": struct}

Video transmission video stream delay, multiple streams

»video_id

Stream number

text

Stream number

»liveview_delay_time

Stream delay

int

{"unit_name":"Milliseconds / ms"}

Stream delay

Example:

{
	"data": {
		"liveview_delay_list": [
			{
				"liveview_delay_time": 60,
				"video_id": "1581BN210004555439234/52-0-0/normal-0"
			},
			{
				"liveview_delay_time": 80,
				"video_id": "1581BN210004555439234/53-0-0/normal-0"
			}
		],
		"sdr_cmd_delay": 10
	},
	"timestamp": 1670415891013
}

Topic: thing/product/{gateway_sn}/drc/up

Direction: down

Method: delay_info_push

Data: null

Last updated