drc
- Event notification of flyto result
- Event notification of one-key taking off result
- Notification of DRC link state
- Reason notification of invalid Joystick control
- Flight control authority grabbing
- Payload control authority grabbing
- Enter the live flight controls mode
- Exit the live flight controls mode
- One-key taking off
- flyto target point
- End the mission of flying to target point
- Payload control - switch the camera mode
- Payload control - take single photo
- Payload control - start recording
- Payload control - stop recording
- Payload control - screen dragging control
- Payload control - double tab to become AIM
- Payload control - zoom
- Payload control - reset the gimbal
- Payload control - Look At
- Payload control - screen split
- Payload control - photo storage setting
- Payload control - Video storage setting
- DRC-flight control
- DRC-aircraft emergency stop
- DRC-heart beat
- DRC-obstacle avoidance information pushing
- DRC-delay information pushing of image transmission link
- DRC-high frequency osd information pushing
Event
Event notification of flyto result
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: fly_to_point_progress
Data:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
fly_to_id | Target point ID | text | ||
status | State | enum_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"} | |
result | Return Code | int | Non-0 means error. | |
way_point_index | Currently executing waypoint index | int | ||
remaining_distance | [New] Remaining mission distance | float | {"unit":"meter / m","step":0.1} | |
remaining_time | [New] Remaining mission time | float | {"unit":"second / s","step":0.1} | |
planned_path_points | [New] Planned trajectory point list | array | {} | |
»[array_item] | Elements in array | struct | {} | {"size": ""} |
»»latitude | Latitude of trajectory point | double | {"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. |
»»longitude | Longitude of trajectory point | double | {"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. |
»»height | Height of trajectory point | float | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
status | Mission state | enum_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"} | |
result | Return Code | int | Non-0 means error. | |
flight_id | Mission UUID of the one-key taking off | text | ||
track_id | Track ID | text | ||
way_point_index | Currently executing waypoint index | int | ||
remaining_distance | [New] Remaining mission distance | float | {"unit":"meter / m","step":0.1} | |
remaining_time | [New] Remaining mission time | float | {"unit":"second / s","step":0.1} | |
planned_path_points | [New] Planned trajectory point list | array | {} | |
»[array_item] | Elements in array | struct | {} | {"size": ""} |
»»latitude | Latitude of trajectory point | double | {"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. |
»»longitude | Longitude of trajectory point | double | {"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. |
»»height | Height of trajectory point | float | {"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"
}
Notification of DRC link state
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: drc_status_notify
Data:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-0 means error. | |
drc_state | DRC state | enum_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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
reason | Mission state | int | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Enumeration value of payload | text | Enumeration value of lens payloads and mounted location. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported |
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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
mqtt_broker | Broker connection information | struct | Get the address and certification information of MQTT relay service | |
»address | Server linking address | text | For example, 192.0.2.1:8883, mqtt.dji.com:8883 | |
»client_id | Client ID | text | Customizable MQTT client ID. Device SN code or semantic prefix combinations are recommended. For example, drc-4J4R101 | |
»username | Username | text | Username when builds the connection | |
»password | Password | text | The password required for authentication when establishing a connection | |
»expire_time | Expired time of certification information | int | {"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_tls | Whether enable the TLS | bool | Enabling TLS means enabling encryption of the MQTT link. | |
osd_frequency | OSD frequency | int | {"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_frequency | HSI frequency | int | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
target_latitude | Longitude of trajectory point | double | {"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_longitude | Longitude of target point | double | {"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_height | Height of target point | float | {"max":1500,"min":2,"step":0.1,"unit":"meter / m"} | Ellipsoid height. |
security_takeoff_height | Safe height of taking off | float | {"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_altitude | Height of return-to-home | int | {"max":1500,"min":2,"step":1,"unit":"meter / m"} | The height relative to the taking off point of DJI Dock. ALT. |
rc_lost_action | Remote controller out of control action | enum_int | {"0":"Hovering","1":"Landing","2":"Returning to home"} | |
exit_wayline_when_rc_lost | [Deprecated]Wayline out of control action | enum_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 action | enum_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 height | float | {"max":3000,"min":2,"step":0.1,"unit":"meter / m"} | Relative to (airport) takeoff point altitude. ALT. |
flight_id | Mission UUID of the one-key taking off | text | Mission 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_speed | The maximum speed achievable during the one-key taking off flight | int | {"max":15,"min":1,"unit":"meter per second / m/s"} | |
simulate_mission | [New] Whether execute mission in simulator | struct | Optional field. Used to indoor debugging the simulated mission. | |
»is_enable | Whether enable a simulated mission | enum_int | {"0":"Disable","1":"Enable"} | |
»latitude | Latitude | double | {"max":"90.0","min":"-90.0"} | |
»longitude | Longitude | double | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
fly_to_id | Target point ID | text | ||
max_speed | The maximum speed achievable during the flyto flight | int | {"max":15,"min":0,"unit":"meter per second / m/s"} | |
points | List of flyto target points | array | {} | Only one target point is supported. |
»[array_item] | Elements in array | struct | {} | {"size": ""} |
»»latitude | Latitude of target point | double | {"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. |
»»longitude | Longitude of target point | double | {"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. |
»»height | Height of target point | float | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported | |
camera_mode | Camera mode | enum_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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported |
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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported |
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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported |
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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported | |
locked | Whether the relative location of drone head and gimbal is locked | bool | {"true":"Drone head is locked. The gimbal and drone body rotate together.","false":"Only gimbal rotates. Drone body doesn't move."} | |
pitch_speed | Gimbal pitch speed | double | {"unit":"rad per second / rad/s"} | |
yaw_speed | Gimbal yaw speed | double | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported | |
camera_type | Camera type | enum_string | {"zoom":"zoom","wide":"wide","ir":"Infrared"} | |
locked | Whether the relative location of drone head and gimbal is locked | bool | {"true":"Drone head is locked. The gimbal and drone body rotate together.","false":"Only gimbal rotates. Drone body doesn't move."} | |
x | Target coordinate x | double | {"max":1,"min":0} | Target coordinate x. Take the upper left corner of lens as the coordinate center. Horizontal direction is x. |
y | Target coordinate y | double | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported | |
camera_type | Camera type | enum_string | {"zoom":"zoom","wide":"wide","ir":"Infrared"} | |
zoom_factor | Zoom factor | double | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Payload index | text | It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported | |
reset_mode | Reset mode type | enum_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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported | |
locked | Whether the relative location of drone head and gimbal is locked | bool | {"true":"Drone head is locked. The gimbal and drone body rotate together.","false":"Only gimbal rotates. Drone body doesn't move."} | |
latitude | Latitude of target point | double | {"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. |
longitude | Longitude of target point | double | {"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. |
height | Height of target point | float | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported | |
enable | Whether enable the screen split | bool |
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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported | |
photo_storage_settings | Photo storage setting | array | {"size": } | Photo storage type. Multi-selection. |
»[array_item] | Elements in array | enum_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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
payload_index | Camera enumeration | text | Camera enumeration. It is unofficial device_mode_key. The format is {type-subtype-gimbalindex}. Please read Product Supported | |
video_storage_settings | Video storage setting | array | {"size": } | Video storage type. Multi-selection. |
»[array_item] | Elements in array | enum_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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
seq | Command sequence number | int | Increasing sequence number ensures that the commands are executed in order. If the value of x, y, h, w change, seq should start from 0. | |
x | Speed of forward and backward direction | double | {"max":17,"min":-17,"unit":"meter per second / m/s"} | The maximum speed of going forward and backward. Negative value means going backward. |
y | Speed of left and right direction | double | {"max":17,"min":-17,"unit":"meter per second / m/s"} | The maximum speed of going left and right. Negative value means going left. |
h | Height of upward and downward direction | double | {"max":5,"min":-4,"unit":"meter per second / m/s"} | The maximum speed of going upward and downward. Negative value means going downward. |
w | Degree speed of drone body | double | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-0 means error. Abnormal case: No flight control authority. No virtual stick (Joystick) authority. Wrong data package sequence number. | |
output | Output | struct | ||
»seq | Command sequence | int | Increasing 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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
result | Return Code | int | Non-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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
seq | Command sequence | int | Increasing sequence number ensures that the commands are executed in order | |
timestamp | Heart beat sending timestamp | int | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
seq | Command sequence | int | Increasing sequence number ensures that the commands are executed in order | |
timestamp | Heart beat sending timestamp | int | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
up_distance | Distance of upward obstacle | int | {"unit":"millimeter / mm"} | |
down_distance | Distance of downward obstacle | int | {"unit":"millimeter / mm"} | |
up_enable | State of upward obstacle sensing switch | bool | ||
up_work | Working state of upward obstacle sensing | bool | ||
down_enable | State of downward obstacle sensing switch | bool | ||
down_work | Working state of downward obstacle sensing | bool | ||
left_enable | State of left obstacle sensing switch | bool | ||
left_work | Working state of left obstacle sensing | bool | ||
right_enable | State of right obstacle sensing switch | bool | ||
right_work | Working state of right obstacle sensing | bool | ||
front_enable | State of forward obstacle sensing switch | bool | ||
front_work | Working state of forward obstacle sensing | bool | ||
back_enable | State of backward obstacle sensing switch | bool | ||
back_work | Working state of backward obstacle sensing | bool | ||
vertical_enable | State of vertical obstacle sensing switch | bool | ||
vertical_work | Working state of vertical obstacle sensing | bool | ||
horizontal_enable | State of horizontal obstacle sensing switch | bool | ||
horizontal_work | Working state of horizontal obstacle sensing | bool | ||
around_distances | Surrounding obstacle distance | array | {"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 array | int | {"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 }"
DRC-delay information pushing of image transmission link
Topic: thing/product/{gateway_sn}/drc/up
Direction: up
Method: delay_info_push
Data:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
sdr_cmd_delay | Delay of the image transmission command link | int | {"unit":"millisecond / ms"} | |
liveview_delay_list | Delay of image transmission video code stream | array | {} | Multi-channel code stream |
»[array_item] | Elements in array | struct | {} | {"size": ""} |
»»video_id | Live stream index | text | ||
»»liveview_delay_time | Delay of the live stream | int | {"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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
attitude_head | Head angle of aircraft attitude | double | {"unit":"degree / °"} | |
latitude | Aircraft latitude | double | {"unit":"degree / °"} | |
longitude | Aircraft longitude | double | {"unit":"degree / °"} | |
height | Aircraft altitude | double | {"unit":"degree / °"} | |
speed_x | Aircraft speed of X coordinate direction | double | {"unit":"meter per second / m/s"} | |
speed_y | Aircraft speed of Y coordinate direction | double | {"unit":"meter per second / m/s"} | |
speed_z | Aircraft speed of Z coordinate direction | double | {"unit":"meter per second / m/s"} | |
gimbal_pitch | Gimbal pitch angle | double | {"unit":"degree / °"} | |
gimbal_roll | Gimbal roll angle | double | {"unit":"degree / °"} | |
gimbal_yaw | Gimbal yaw angle | double | {"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"
}