drc

2023-11-30
No Rating

Event

Event notification of flyto result

Topic: thing/product/{gateway_sn}/events

Direction: up

Method: fly_to_point_progress

Data:

ColumnNameTypeconstraintDescription
fly_to_idTarget point IDtext
statusStateenum_string{"wayline_progress":"Executing","wayline_failed":"Execution is failed","wayline_ok":"Execution is successful. Aircraft arrived at the target point.","wayline_cancel":"Flying to target point is cancelled"}
resultReturn CodeintNon-0 means error.
way_point_indexCurrently executing waypoint indexint
remaining_distance[New] Remaining mission distancefloat{"unit":"meter / m","step":0.1}
remaining_time[New] Remaining mission timefloat{"unit":"second / s","step":0.1}
planned_path_points[New] Planned trajectory point listarray{}
»[array_item]Elements in arraystruct{}{"size": ""}
»»latitudeLatitude of trajectory pointdouble{"min":-90,"max":90}The latitude of trajectory points is angular values. Negative values for south latitude and positive values for north latitude. It is accurate to six decimal places.
»»longitudeLongitude of trajectory pointdouble{"min":-180,"max":180}The latitude of trajectory points is angular values. Negative values for west latitude and positive values for east latitude. It is accurate to six decimal places.
»»heightHeight of trajectory pointfloat{"unit":"meter / m","step":0.1}Ellipsoid height

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"fly_to_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
		"result": 0,
		"status": "wayline_progress",
		"way_point_index": 0,
		"remaining_distance": 0,
		"remaining_time": 0,
		"planned_path_points": [
			{
				"latitude": 13.23,
				"longitude": 123.234,
				"height": 123.234
			}
		]
	},
	"need_reply": 1,
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 16540709686556,
	"method": "fly_to_point_progress"
}

Event notification of one-key taking off result

Topic: thing/product/{gateway_sn}/events

Direction: up

Method: takeoff_to_point_progress

Data:

ColumnNameTypeconstraintDescription
statusMission stateenum_string{"task_ready":"Ready to take off","wayline_progress":"Executing","wayline_failed":"Execution is failed","wayline_ok":"Execution is successful. Drone arrived at the target point.","wayline_cancel":"Flying to target point is cancelled","task_finish":"One-key taking off task is finished"}
resultReturn CodeintNon-0 means error.
flight_idMission UUID of the one-key taking offtext
track_idTrack IDtext
way_point_indexCurrently executing waypoint indexint
remaining_distance[New] Remaining mission distancefloat{"unit":"meter / m","step":0.1}
remaining_time[New] Remaining mission timefloat{"unit":"second / s","step":0.1}
planned_path_points[New] Planned trajectory point listarray{}
»[array_item]Elements in arraystruct{}{"size": ""}
»»latitudeLatitude of trajectory pointdouble{"min":-90,"max":90}The latitude of trajectory points is angular values. Negative values for south latitude and positive values for north latitude. It is accurate to six decimal places.
»»longitudeLongitude of trajectory pointdouble{"min":-180,"max":180}The latitude of trajectory points is angular values. Negative values for west latitude and positive values for east latitude. It is accurate to six decimal places.
»»heightHeight of trajectory pointfloat{"unit":"meter / m","step":0.1}Ellipsoid height

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"flight_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
		"result": 0,
		"status": "wayline_ok",
		"track_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
		"way_point_index": 1,
		"remaining_distance": 0,
		"remaining_time": 0,
		"planned_path_points": [
			{
				"latitude": 13.23,
				"longitude": 123.234,
				"height": 123.234
			}
		]
	},
	"need_reply": 1,
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 16540709686556,
	"method": "takeoff_to_point_progress"
}

Topic: thing/product/{gateway_sn}/events

Direction: up

Method: drc_status_notify

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.
drc_stateDRC stateenum_int{"0":"Disconnected","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,
	"method": "drc_status_notify"
}

Reason notification of invalid Joystick control

Topic: thing/product/{gateway_sn}/events

Direction: up

Method: joystick_invalid_notify

Data:

ColumnNameTypeconstraintDescription
reasonMission stateint{"0":"Remote controller is disconnected","1":"Low-power return-to-home","2":"Low-power landing","3":"Approach GEO zone","4":"Authority is grabbed by remote controller (For example, return-to-home is triggered. B control grabs the authority.)"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"reason": 0
	},
	"need_reply": 1,
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655,
	"method": "joystick_invalid_notify"
}

Service

Flight control authority grabbing

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: flight_authority_grab

Data: null

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: flight_authority_grab

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control authority grabbing

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: payload_authority_grab

Data:

ColumnNameTypeconstraintDescription
payload_indexEnumeration value of payloadtextEnumeration value of lens payloads and mounted location. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: payload_authority_grab

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Enter the live flight controls mode

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: drc_mode_enter

Data:

ColumnNameTypeconstraintDescription
mqtt_brokerBroker connection informationstructGet the address and certification information of MQTT relay service
»addressServer linking addresstextFor example, 192.0.2.1:8883, mqtt.dji.com:8883
»client_idClient IDtextCustomizable MQTT client ID. Device SN code or semantic prefix combinations are recommended. For example, drc-4J4R101
»usernameUsernametextUsername when builds the connection
»passwordPasswordtextThe password required for authentication when establishing a connection
»expire_timeExpired time of certification informationint{"unit":"second / s"}The certification information can be reused within the validity period. When the certification information expires, connected devices will not be affected.
»enable_tlsWhether enable the TLSboolEnabling TLS means enabling encryption of the MQTT link.
osd_frequencyOSD frequencyint{"max":30,"min":1,"unit":"hertz / Hz"}Set the OSD pushing frequency. Then the frequency of DRC-high frequency osd information pushing(Method: osd_info_push) will be changed.
hsi_frequencyHSI frequencyint{"max":30,"min":1,"unit":"hertz / Hz"}Set the HSI pushing frequency. Then the frequency of DRC-obstacle avoidance information pushing(Method: hsi_info_push) will be changed.

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,
	"method": "drc_mode_enter"
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: drc_mode_enter

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Exit the 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,
	"method": "drc_mode_exit"
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: drc_mode_exit

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

One-key taking off

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: takeoff_to_point

Data:

ColumnNameTypeconstraintDescription
target_latitudeLongitude of trajectory pointdouble{"max":90,"min":-90}The latitude of trajectory points is angular values. Negative values for south latitude and positive values for north latitude. It is accurate to six decimal places.
target_longitudeLongitude of target pointdouble{"max":180,"min":-180}The latitude of trajectory points is angular values. Negative values for west latitude and positive values for east latitude. It is accurate to six decimal places.
target_heightHeight of target pointfloat{"max":1500,"min":2,"step":0.1,"unit":"meter / m"}Ellipsoid height.
security_takeoff_heightSafe height of taking offfloat{"max":1500,"min":2,"step":0.1,"unit":"meter / m"}The height relative to the taking off point of DJI Dock. ALT. The aircraft fly to specific height first, then fly to target point.
rth_altitudeHeight of return-to-homeint{"max":1500,"min":2,"step":1,"unit":"meter / m"}The height relative to the taking off point of DJI Dock. ALT.
rc_lost_actionRemote controller out of control actionenum_int{"0":"Hovering","1":"Landing","2":"Returning to home"}
exit_wayline_when_rc_lost[Deprecated]Wayline out of control actionenum_int{"0":"Continue to execute the wayline task","1":"Exit the wayline task, and execute the remote controller out of control action."}
commander_mode_lost_action[New] To-point flight mission out of control actionenum_int{"0":"Continue to execute the wayline task","1":"Exit the wayline task, and execute the remote controller out of control action."}
commander_flight_height[New] To-point flight mission heightfloat{"max":3000,"min":2,"step":0.1,"unit":"meter / m"}Relative to (airport) takeoff point altitude. ALT.
flight_idMission UUID of the one-key taking offtextMission UUID. Globally unique. It is used for coloring and allow the cloud to differentiate whether this value represents a regular planned mission or a one-key taking off mission.
max_speedThe maximum speed achievable during the one-key taking off flightint{"max":15,"min":1,"unit":"meter per second / m/s"}
simulate_mission[New] Whether execute mission in simulatorstructOptional field. Used to indoor debugging the simulated mission.
»is_enableWhether enable a simulated missionenum_int{"0":"Disable","1":"Enable"}
»latitudeLatitudedouble{"max":"90.0","min":"-90.0"}
»longitudeLongitudedouble{"max":"180.0","min":"-180.0"}

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"flight_id": "ABDEAC21DCADDA",
		"max_speed": 12,
		"out_of_control_action": 0,
		"rth_altitude": 100,
		"security_takeoff_height": 100,
		"target_height": 100,
		"target_latitude": 12.23,
		"target_longitude": 12.32
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655,
	"method": "takeoff_to_point"
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: takeoff_to_point

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

flyto target point

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: fly_to_point

Data:

ColumnNameTypeconstraintDescription
fly_to_idTarget point IDtext
max_speedThe maximum speed achievable during the flyto flightint{"max":15,"min":0,"unit":"meter per second / m/s"}
pointsList of flyto target pointsarray{}Only one target point is supported.
»[array_item]Elements in arraystruct{}{"size": ""}
»»latitudeLatitude of target pointdouble{"max":90,"min":-90}The latitude of target points is angular values. Negative values for south latitude and positive values for north latitude. It is accurate to six decimal places.
»»longitudeLongitude of target pointdouble{"max":180,"min":-180}The latitude of target points is angular values. Negative values for west latitude and positive values for east latitude. It is accurate to six decimal places.
»»heightHeight of target pointfloat{"max":10000,"min":2,"step":0.1,"unit":"meter / m"}Ellipsoid height

Example:

{
	"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"data": {
		"fly_to_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
		"max_speed": 12,
		"points": [
			{
				"height": 100,
				"latitude": 12.23,
				"longitude": 12.23
			},
			{
				"height": 100,
				"latitude": 12.23,
				"longitude": 12.23
			}
		]
	},
	"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
	"timestamp": 1654070968655,
	"method": "fly_to_point"
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: fly_to_point

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

End the mission of flying to target point

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: fly_to_point_stop

Data: null

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: fly_to_point_stop

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - switch the camera mode

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_mode_switch

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window
camera_modeCamera modeenum_int{"0":"Photo taking","1":"Video recording"}

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_mode_switch

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - take single photo

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_photo_take

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_photo_take

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - start recording

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_recording_start

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_recording_start

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - stop recording

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_recording_stop

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_recording_stop

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - screen dragging control

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_screen_drag

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window
lockedWhether the relative location of drone head and gimbal is lockedbool{"true":"Drone head is locked. The gimbal and drone body rotate together.","false":"Only gimbal rotates. Drone body doesn't move."}
pitch_speedGimbal pitch speeddouble{"unit":"rad per second / rad/s"}
yaw_speedGimbal yaw speeddouble{"unit":"rad per second / rad/s"}Gimbal yaw speed.Only effect 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,
	"method": "camera_screen_drag"
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_screen_drag

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - double tab to become AIM

The function of Payload control - double tab to become AIM is to double-click on a target point within the camera lens's field of view, and that target point will become the center of the camera's field of view

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_aim

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window
camera_typeCamera typeenum_string{"zoom":"zoom","wide":"wide","ir":"Infrared"}
lockedWhether the relative location of drone head and gimbal is lockedbool{"true":"Drone head is locked. The gimbal and drone body rotate together.","false":"Only gimbal rotates. Drone body doesn't move."}
xTarget coordinate xdouble{"max":1,"min":0}Target coordinate x. Take the upper left corner of lens as the coordinate center. Horizontal direction is x.
yTarget coordinate ydouble{"max":1,"min":0}Target coordinate y. Take the upper left corner of lens as the coordinate center. Vertical direction is 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,
	"method": "camera_aim"
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_aim

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - zoom

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_focal_length_set

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window
camera_typeCamera typeenum_string{"zoom":"zoom","wide":"wide","ir":"Infrared"}
zoom_factorZoom factordouble{"max":200,"min":2}The factor of visible light are from 2 to 200. The factor of infrared light are from 2 to 20.

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,
	"method": "camera_focal_length_set"
}

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_focal_length_set

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - reset the gimbal

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: gimbal_reset

Data:

ColumnNameTypeconstraintDescription
payload_indexPayload indextextIt is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window
reset_modeReset mode typeenum_int{"0":"gimbal recenter","1":"gimbal down","2":"recenter gimbal pan","3":"gimbal pitch down"}

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: gimbal_reset

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - Look At

The lookat function refers to the aircraft turning itself from its current heading to point at a specified location of actual latitude, longitude, and altitude. For M30/M30T models, it is recommended to use a method that locks the gimbal when using the lookat function. When the gimbal reaches its limits, the lookat function may behave abnormally.

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_look_at

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window
lockedWhether the relative location of drone head and gimbal is lockedbool{"true":"Drone head is locked. The gimbal and drone body rotate together.","false":"Only gimbal rotates. Drone body doesn't move."}
latitudeLatitude of target pointdouble{"max":90,"min":-90}The latitude of target point is angular values. Negative values for south latitude and positive values for north latitude. It is accurate to six decimal places.
longitudeLongitude of target pointdouble{"max":180,"min":-180}The latitude of target point is angular values. Negative values for west latitude and positive values for east latitude. It is accurate to six decimal places.
heightHeight of target pointfloat{"max":10000,"min":2,"step":0.1,"unit":"meter / m"}Ellipsoid height

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_look_at

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - screen split

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: camera_screen_split

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window
enableWhether enable the screen splitbool

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: camera_screen_split

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - photo storage setting

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: photo_storage_set

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window
photo_storage_settingsPhoto storage settingarray{"size": }Photo storage type. Multi-selection.
»[array_item]Elements in arrayenum_string{"current":"Current photo","zoom":"zoom","wide":"wide","ir":"Infrared"}

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: photo_storage_set

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

Payload control - Video storage setting

Topic: thing/product/{gateway_sn}/services

Direction: down

Method: video_storage_set

Data:

ColumnNameTypeconstraintDescription
payload_indexCamera enumerationtextCamera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supportedopen in new window
video_storage_settingsVideo storage settingarray{"size": }Video storage type. Multi-selection.
»[array_item]Elements in arrayenum_string{"current":"Current screen","zoom":"zoom","wide":"wide","ir":"Infrared"}

Example:

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

Topic: thing/product/{gateway_sn}/services_reply

Direction: up

Method: video_storage_set

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

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

DRC

DRC-flight control

After the live flight controls mode is entered, this command is allowed to control the drone flight direction and speed. The sending frequency should be maintained from 5 to 10 HZ. Therefore the speed and direction can be controlled precisely.

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

Direction: down

Method: drone_control

Data:

ColumnNameTypeconstraintDescription
seqCommand sequence numberintIncreasing sequence number ensures that the commands are executed in order. If the value of x, y, h, w change, seq should start from 0.
xSpeed of forward and backward directiondouble{"max":17,"min":-17,"unit":"meter per second / m/s"}The maximum speed of going forward and backward. Negative value means going backward.
ySpeed of left and right directiondouble{"max":17,"min":-17,"unit":"meter per second / m/s"}The maximum speed of going left and right. Negative value means going left.
hHeight of upward and downward directiondouble{"max":5,"min":-4,"unit":"meter per second / m/s"}The maximum speed of going upward and downward. Negative value means going downward.
wDegree speed of drone bodydouble{"max":90,"min":-90,"unit":"rad per second / rad/s"}The maximum degree speed of going clockwise and counterclockwise. Negative value means turning counterclockwise.

Example:

{
	"data": {
		"h": 2.76,
		"seq": 1,
		"w": 2.86,
		"x": 2.34,
		"y": -2.45
	},
	"method": "drone_control"
}

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

Direction: up

Method: drone_control

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error. Abnormal case: No flight control authority. No virtual stick (Joystick) authority. Wrong data package sequence number.
outputOutputstruct
»seqCommand sequenceintIncreasing sequence number ensures that the commands are executed in order

Example:

{
	"data": {
		"output": {
			"seq": 1
		},
		"result": 0
	},
	"method": "drone_control"
}

DRC-aircraft emergency stop

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

Direction: down

Method: drone_emergency_stop

Data: null

Example:

{
	"data": {},
	"method": "drone_emergency_stop"
}

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

Direction: up

Method: drone_emergency_stop

Data:

ColumnNameTypeconstraintDescription
resultReturn CodeintNon-0 means error.

Example:

{
	"data": {
		"result": 0
	},
	"method": "drone_emergency_stop"
}

DRC-heart beat

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

Direction: down

Method: heart_beat

Data:

ColumnNameTypeconstraintDescription
seqCommand sequenceintIncreasing sequence number ensures that the commands are executed in order
timestampHeart beat sending timestampint{"unit":"millisecond / ms"}Used in delay time calculation.

Example:

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

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

Direction: up

Method: heart_beat

Data:

ColumnNameTypeconstraintDescription
seqCommand sequenceintIncreasing sequence number ensures that the commands are executed in order
timestampHeart beat sending timestampint{"unit":"millisecond / ms"}Used in delay time calculation.

Example:

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

DRC-obstacle avoidance information pushing

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

Direction: up

Method: hsi_info_push

Data:

ColumnNameTypeconstraintDescription
up_distanceDistance of upward obstacleint{"unit":"millimeter / mm"}
down_distanceDistance of downward obstacleint{"unit":"millimeter / mm"}
up_enableState of upward obstacle sensing switchbool
up_workWorking state of upward obstacle sensingbool
down_enableState of downward obstacle sensing switchbool
down_workWorking state of downward obstacle sensingbool
left_enableState of left obstacle sensing switchbool
left_workWorking state of left obstacle sensingbool
right_enableState of right obstacle sensing switchbool
right_workWorking state of right obstacle sensingbool
front_enableState of forward obstacle sensing switchbool
front_workWorking state of forward obstacle sensingbool
back_enableState of backward obstacle sensing switchbool
back_workWorking state of backward obstacle sensingbool
vertical_enableState of vertical obstacle sensing switchbool
vertical_workWorking state of vertical obstacle sensingbool
horizontal_enableState of horizontal obstacle sensing switchbool
horizontal_workWorking state of horizontal obstacle sensingbool
around_distancesSurrounding obstacle distancearray{"size": 360}Horizontal observation point in range of [0,360) degree region. 0 represents the heading direction of drone nose and the angle degree increases clockwise. Each value represents the distance between the obstacle and drone in that angle degree. 60000 means there is no obstacle.
»[array_item]Elements in arrayint{"unit":"millimeter / mm"}

Example:

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

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

Direction: up

Method: delay_info_push

Data:

ColumnNameTypeconstraintDescription
sdr_cmd_delayDelay of the image transmission command linkint{"unit":"millisecond / ms"}
liveview_delay_listDelay of image transmission video code streamarray{}Multi-channel code stream
»[array_item]Elements in arraystruct{}{"size": ""}
»»video_idLive stream indextext
»»liveview_delay_timeDelay of the live streamint{"unit":"millisecond / ms"}

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,
	"method": "delay_info_push"
}

DRC-high frequency osd information pushing

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

Direction: up

Method: osd_info_push

Data:

ColumnNameTypeconstraintDescription
attitude_headHead angle of aircraft attitudedouble{"unit":"degree / °"}
latitudeAircraft latitudedouble{"unit":"degree / °"}
longitudeAircraft longitudedouble{"unit":"degree / °"}
heightAircraft altitudedouble{"unit":"degree / °"}
speed_xAircraft speed of X coordinate directiondouble{"unit":"meter per second / m/s"}
speed_yAircraft speed of Y coordinate directiondouble{"unit":"meter per second / m/s"}
speed_zAircraft speed of Z coordinate directiondouble{"unit":"meter per second / m/s"}
gimbal_pitchGimbal pitch angledouble{"unit":"degree / °"}
gimbal_rollGimbal roll angledouble{"unit":"degree / °"}
gimbal_yawGimbal yaw angledouble{"unit":"degree / °"}

Example:

{
	"data": {
		"attitude_head": 60,
		"gimbal_pitch": 60,
		"gimbal_roll": 60,
		"gimbal_yaw": 60,
		"height": 10,
		"latitude": 10,
		"longitude": 10,
		"speed_x": 10,
		"speed_y": 10,
		"speed_z": 10
	},
	"timestamp": 1670415891013,
	"method": "osd_info_push"
}
If you have any comments or confusion about our documentation, you can click here to give feedback and we will get back to you as soon as possible.