指令飞行与云台控制
接口变更说明
以下 camera_*、ir_metering_*、video_*、gimbal_* 各项均属负载控制。
✓ 提供该接口,— 未提供。未列出的接口 EVO Nest 与 Autel Nest2 一致。
| Method | 功能 | EVO Nest | Autel Nest2 | 说明 |
|---|---|---|---|---|
camera_mode_switch | 相机模式切换 | ✓ | — | Autel Nest2 拍照与录像同时支持,无需切换 |
camera_exposure_set | 相机曝光值设置 | — | ✓ | |
camera_exposure_compensation_set | 相机曝光补偿设置 | — | ✓ | |
camera_iso_mode_set | 相机感光度模式设置 | — | ✓ | |
camera_iso_value_set | 相机感光度值设置 | — | ✓ | |
camera_shutter_mode_set | 相机快门模式设置 | — | ✓ | |
camera_shutter_value_set | 相机快门速度值设置 | — | ✓ | |
camera_white_balance_mode_set | 相机白平衡模式设置 | — | ✓ | |
camera_white_balance_value_set | 相机白平衡色温值设置 | — | ✓ | |
camera_focus_mode_set | 相机对焦模式设置 | — | ✓ | |
camera_focus_value_set | 相机对焦值设置 | — | ✓ | |
camera_brightness_value_set | 相机亮度设置 | — | ✓ | |
camera_defog_mode_set | 相机电子去雾模式设置 | — | ✓ | |
camera_photo_size_set | 相机照片尺寸设置 | — | ✓ | |
camera_video_resolution_set | 相机视频分辨率设置 | — | ✓ | |
camera_ultra_pixel_mode_set | 相机超感光模式设置 | — | ✓ | |
camera_screen_split | 相机分屏模式设置 | — | ✓ | |
camera_linkage_zoom | 联动变焦开关 | — | ✓ | |
camera_arm_light_set | 机臂灯开关 | — | ✓ | |
camera_reset | 重置相机设置 | — | ✓ | |
camera_ffc | 红外FFC校准 | — | ✓ | |
camera_ir_fusion_set | 红外双光融合开关 | — | ✓ | |
camera_ir_super_resolution_set | 红外超分辨率开关 | — | ✓ | |
camera_thermal_image_enhance_set | 红外图像增强设置 | — | ✓ | |
ir_metering_mode_set | 红外测温模式设置 | — | ✓ | |
ir_metering_point_set | 红外测温点设置 | — | ✓ | |
ir_metering_area_set | 红外测温区域设置 | — | ✓ | |
video_encode_settings | 相机视频编码格式设置 | — | ✓ | |
video_format_settings | 相机视频格式设置 | — | ✓ | |
video_subtitle_mode | 相机视频字幕开关 | — | ✓ | |
gimbal_pitch_max_speed | 云台俯仰最大速度设置 | — | ✓ | |
mission_pause | 暂停 flyto 飞向目标点任务 | — | ✓ | |
mission_recovery | 恢复 flyto 飞向目标点任务 | — | ✓ | |
fly_to_point_v2 | flyto 飞向目标点 V2 | — | ✓ | |
fly_to_point_progress_v2 | flyto 执行结果事件通知 V2 | — | ✓ | 上行事件 |
poi_mode_enter | 进入目标点绕飞 | — | ✓ | |
poi_mode_exit | 退出目标点绕飞 | — | ✓ | |
poi_circle_speed_set | 设置目标点绕飞速度预设 | — | ✓ | |
poi_status_notify | 目标点绕飞状态通知 | — | ✓ | 上行事件 |
flyto 执行结果事件通知
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: fly_to_point_progress
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| fly_to_id | 飞向目标点 ID | text | 飞向目标点的任务ID | |
| status | 状态 | enum_string | {"wayline_cancel":"取消飞向目标点","wayline_failed":"执行失败","wayline_ok":"执行成功,已飞向目标点","wayline_paused":"已暂停悬停","wayline_progress":"执行中"} | 任务执行状态 |
| result | 返回码 | int | 非 0 代表错误 | |
| percent | 任务进度百分比 | int | {"max":100,"min":0,"step":1} | 飞向目标点的进度,单调不回退;到达时为 100,暂停时冻结在暂停时刻的值 |
| way_point_index | 当前执行到第几个航点 | int | 当前执行到的航点序号 | |
| remaining_distance | 剩余任务距离 | float | {"step":0.1,"unit_name":"米 / m"} | 到目标点的剩余距离 |
| remaining_time | 剩余任务时间 | float | {"step":0.1,"unit_name":"秒 / s"} | 预计剩余飞行时间 |
| planned_path_points | 规划的轨迹点列表 | array | {"size": -, "item_type": struct} | 规划的航线轨迹点 |
| »latitude | 轨迹点纬度(角度值) | double | {"max":90,"min":-90} | 轨迹点纬度,角度值,南纬是负,北纬是正,精度到小数点后6位 |
| »longitude | 轨迹点经度(角度值) | double | {"max":180,"min":-180} | 轨迹点经度,角度值,东经是正,西经是负,精度到小数点后6位 |
| »height | 轨迹点高度 | float | {"step":0.1,"unit_name":"米 / m"} | 轨迹点高度,椭球高 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"fly_to_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"percent": 63,
"planned_path_points": [
{
"height": 123.234,
"latitude": 13.23,
"longitude": 123.234
}
],
"remaining_distance": 0,
"remaining_time": 0,
"result": 0,
"status": "wayline_progress",
"way_point_index": 0
},
"need_reply": 1,
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 16540709686556,
"method": "fly_to_point_progress"
}
flyto 执行结果事件通知 V2
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: fly_to_point_progress_v2
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| fly_to_id | 飞向目标点 ID | text | 飞向目标点的任务ID | |
| status | 状态 | enum_string | {"wayline_cancel":"取消飞向目标点","wayline_failed":"执行失败","wayline_ok":"执行成功,已飞向目标点","wayline_paused":"已暂停悬停","wayline_progress":"执行中"} | 任务执行状态 |
| sub_status | 执行子状态 | int | {0:"未就绪 / 空闲",1:"飞行执行中",2:"到达完成",3:"主动退出(APP/按钮)",4:"已暂停",5:"异常中断"} | |
| result | 返回码 | int | 非 0 代表错误 | |
| percent | 任务进度百分比 | int | {"max":100,"min":0,"step":1} | 飞向目标点的进度,单调不回退;到达时为 100,暂停时冻结在暂停时刻的值 |
| stop_reason | 异常结束原因 | int | 正常时 0;异常原因见下表 | |
| remaining_distance | 剩余任务距离 | int | {"unit_name":"米 / m"} | 到目标点的剩余距离 |
| remaining_time | 剩余任务时间 | int | {"unit_name":"秒 / s"} | 预计剩余飞行时间,无位置目标时为 -1 |
| speed | 速度 | int | {"unit_name":"米每秒 / m/s"} | 实时速度 |
| pos_frame | 位置坐标系 | int | 生效的位置坐标系:0=机身系 / 1=北东天 / 2=GPS | |
| yaw_frame | 航向坐标系 | int | 生效的航向坐标系:0=机身系 / 1=地理系 | |
| gimbal_frame | 云台坐标系 | int | 生效的云台坐标系:0=机身 / 1=地理 / 2=GPS看向点 / 3=图像 |
stop_reason:
| 值 | 数值 | 常见触发 |
|---|---|---|
| ERMM_MISSION_ERROR | 10016 | 参数不足;位置/航向/云台三组全无效 |
| ERMM_PLANNER_OVERTIME | 10015 | 长时间收不到规划状态 |
| ERMM_MISSION_PLANNER_STUCK | 10022 | planner 航点执行报错 |
| ERMM_MISSION_POINTS_IN_NOFLY | 10030 | 目标点穿越禁飞区 |
| ERMM_EXIT_MISSION_NO_ODOM | 10032 | 取飞控位置 / GPS 持续失败 |
| ERMM_FCS_NOT_TAKEOFF | 10038 | 在地面下发(未起飞) |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"fly_to_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"percent": 63,
"status": "wayline_progress",
"result": 0,
"sub_status": 1,
"stop_reason": 0,
"remaining_distance": 15,
"remaining_time": 12,
"speed": 3,
"pos_frame": 2,
"yaw_frame": 0,
"gimbal_frame": 0
},
"need_reply": 1,
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 16540709686556,
"method": "fly_to_point_progress_v2"
}
一键起飞结果事件通知
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: takeoff_to_point_progress
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| status | 任务状态 | enum_string | {"task_finish":"一键起飞任务完成","task_ready":"准备起飞","wayline_cancel":"取消飞向目标点","wayline_failed":"执行失败","wayline_ok":"执行成功,已飞向目标点","wayline_progress":"执行中"} | 任务执行状态 |
| result | 返回码 | int | 非 0 代表错误 | |
| percent | 任务进度百分比 | int | {"max":100,"min":0,"step":1} | 一键起飞的进度,完成时为 100 |
| flight_id | 一键起飞任务 UUID | text | 一键起飞任务的唯一标识 | |
| track_id | 航迹 ID | text | 航迹唯一标识ID | |
| way_point_index | 当前执行到第几个航点 | int | 当前执行到的航点序号 | |
| remaining_distance | 剩余任务距离 | float | {"step":0.1,"unit_name":"米 / m"} | 到目标点的剩余距离 |
| remaining_time | 剩余任务时间 | float | {"step":0.1,"unit_name":"秒 / s"} | 预计剩余飞行时间 |
| planned_path_points | 规划的轨迹点列表 | array | {"size": -, "item_type": struct} | 规划的航线轨迹点 |
| »latitude | 轨迹点纬度(角度值) | double | {"max":90,"min":-90} | 轨迹点纬度,角度值,南纬是负,北纬是正,精度到小数点后6位 |
| »longitude | 轨迹点经度(角度值) | double | {"max":180,"min":-180} | 轨迹点经度,角度值,东经是正,西经是负,精度到小数点后6位 |
| »height | 轨迹点高度 | float | {"step":0.1,"unit_name":"米 / m"} | 轨迹点高度,椭球高 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"flight_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"planned_path_points": [
{
"height": 123.234,
"latitude": 13.23,
"longitude": 123.234
}
],
"percent": 100,
"remaining_distance": 0,
"remaining_time": 0,
"result": 0,
"status": "wayline_ok",
"track_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"way_point_index": 1
},
"need_reply": 1,
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 16540709686556,
"method": "takeoff_to_point_progress"
}
目标点绕飞状态通知
机巢主动上报。poi_mode_enter 受理后按 1 Hz 上报,进入终态时额外推送一次;命令被拒时也会推送一条 wayline_failed。
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: poi_status_notify
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| status | 任务状态 | enum_string | {"in_progress":"环绕中","wayline_failed":"执行失败(终态)","wayline_ok":"正常结束(终态)"} | 终态与 flyto 共用 wayline_* 码空间;进行中态是 in_progress 而非 wayline_progress |
| reason | 结果码 | int | {"0":"正常","3":"非法命令(参数校验失败 / 并发冲突)","4":"定位失败","5":"飞行器未起飞","6":"飞行模式错误(AI 跟踪 / 环绕跟踪进行中)","7":"该模式下不可用(返航 / 降落 / 航线任务中)","8":"丢失遥控器或图传信号(含遥测不可用)"} | 与 services_reply 的 result 是两个码空间,同一次拒绝的两种表达 |
| circle_radius | 实际环绕半径 | float | {"step":0.1,"unit_name":"米 / m"} | 本次环绕实际生效的半径 |
| circle_speed | 实际环绕速度 | float | {"step":0.1,"unit_name":"米每秒 / m/s"} | 实际生效值,在受理 poi_mode_enter 时按「poi_circle_speed_set 预设 > 本次命令携带值 > 默认 5」确定,环绕过程中不再变化;存在预设时上报的是预设值而非命令携带值。负为顺时针,正为逆时针 |
| max_circle_speed | 环绕速度上限 | float | {"step":0.1,"unit_name":"米每秒 / m/s"} | 机巢公示的参考量程,固定 15 |
| progress | 任务进度百分比 | int | {"max":100,"min":0,"step":1} | 来自飞机上报,单调不回退;终态为 100 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"circle_radius": 50,
"circle_speed": 5,
"max_circle_speed": 15,
"progress": 60,
"reason": 0,
"status": "in_progress"
},
"need_reply": 1,
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "poi_status_notify"
}
飞行控制权抢夺
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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "flight_authority_grab"
}
负载控制权抢夺
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: payload_authority_grab
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 负载枚举值 | text | 镜头负载与挂载位置枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考产品支持页面 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"payload_index": "10902-0-0"
},
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "payload_authority_grab"
}
进入指令飞行控制模式
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: drc_mode_enter
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| mqtt_broker | Broker 连接信息 | struct | 获取 MQTT 中继服务的地址与认证信息 | |
| »address | 服务器连接地址 | text | 服务器连接地址,例如:192.0.2.1:8883, mqtt.autel.com:8883 | |
| »client_id | 客户端 ID | text | 可自定义的 MQTT 客户端 ID。建议以设备 SN 码作为前缀再拼接后缀,例如,TH12345678-drc,不建议直接使用设备SN码,避免同一个MQTT互相挤下线 | |
| »username | 用户名 | text | 建立连接时使用的用户名 | |
| »password | 密码 | text | 建立连接时认证所需要的密码 | |
| »expire_time | 认证信息过期时间 | int | {"unit_name":"秒 / s"} | 在有效期内认证信息可以重复使用,另外认证信息过期后,并不会影响已建立连接的设备 |
| »enable_tls | 是否启用 TLS | bool | 启用 TLS 即对 MQTT 链路开启加密 | |
| osd_frequency | OSD 频率 | int | {"max":30,"min":1,"unit_name":"赫兹 / Hz"} | 设置 OSD 上报频率 |
| hsi_frequency | HSI 频率 | int | {"max":30,"min":1,"unit_name":"赫兹 / Hz"} | 设置 HSI 上报频率 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"hsi_frequency": 1,
"mqtt_broker": {
"address": "mqtt.autel.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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "drc_mode_enter"
}
退出指令飞行控制模式
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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "drc_mode_exit"
}
一键起飞
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: takeoff_to_point
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| target_latitude | 目标点纬度(角度值) | double | {"max":90,"min":-90} | 目标点纬度,角度值,南纬是负,北纬是正,精度到小数点后6位 |
| target_longitude | 目标点经度(角度值) | double | {"max":180,"min":-180} | 目标点经度,角度值,东经是正,西经是负,精度到小数点后6位 |
| target_height | 目标点高度 | float | {"max":1500,"min":2,"step":0.1,"unit_name":"米 / m"} | 目标点高度(相对高),无人机到点后默认行为:悬停 |
| flight_id | 一键起飞任务 UUID | text | 任务 UUID,全局唯一,用于染色,云端区分该值是普通计划任务还是一键起飞任务 | |
| max_speed | 一键起飞的飞行过程中能达到的最大速度 | int | {"max":15,"min":1,"unit_name":"米每秒 / m/s"} | 飞行最大速度 |
| precision_type | 任务精度类型 | enum_int | {1: RTK, 0: GNSS} | 可选字段,指定起飞任务为 RTK 或 GNSS 任务;缺省为 0(GNSS) |
| barrier_switch_state | 避障开关 | enum_int | 0:关闭避障, 1, 打开避障 | 可选字段,避障开关状态 |
Example: 注意一键起飞只能在室外,并且目标经纬度不能离当前经纬度太远
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"flight_id": "ABDEAC21DCADDA",
"max_speed": 12,
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "takeoff_to_point"
}
flyto 飞向目标点
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: fly_to_point
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| fly_to_id | 飞向目标点 ID | text | 飞向目标点的任务ID | |
| max_speed | flyto 的飞行过程中能达到的最大速度 | int | {"max":15,"min":1,"unit_name":"米每秒 / m/s"} | 飞行最大速度,必须大于 0,否则返回参数错误 |
| points | flyto 目标点列表 | array | {"size": -, "item_type": struct} | 仅支持 1 个目标点 |
| »latitude | 目标点纬度(角度值) | double | {"max":90,"min":-90} | 目标点纬度,角度值,南纬是负,北纬是正,精度到小数点后6位 |
| »longitude | 目标点经度(角度值) | double | {"max":180,"min":-180} | 目标点经度,角度值,东经是正,西经是负,精度到小数点后6位 |
| »height | 目标点高度 | float | {"max":10000,"min":2,"step":0.1,"unit_name":"米 / m"} | 目标点高度(相对高度) |
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
}
]
},
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "fly_to_point"
}
flyto 飞向目标点 V2
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: fly_to_point_v2
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| fly_to_id | 飞向目标点 ID | text | 飞向目标点的任务ID | |
| pos_frame | 位置坐标系 | int | {"min":0,"max":2} | 0=机身(前右上)/ 1=地理(北东天)/ 2=GPS |
| is_pos_valid | 位置是否有效 | int | {"min":0,"max":1} | 位置是否控制(1=有效) |
| pos_x | 位置 X | double | 按 pos_frame:机身=前向(米,相对);地理NEU=北向(米);GPS=经度(度) | |
| pos_y | 位置 Y | double | 按 pos_frame:机身=右向(米,相对);地理NEU=东向(米);GPS=纬度(度) | |
| pos_z | 位置 Z | double | 按 pos_frame:机身=上向(米,相对);地理NEU=天向(米,向上为正);GPS=椭球高(米) | |
| max_vel | 最大速度 | double | 飞行最大速度(m/s),范围 (0, 25] | |
| yaw_frame | 航向坐标系 | int | {"min":0,"max":1} | 0=机身(相对当前航向)/ 1=地理(绝对,正北=0) |
| is_yaw_valid | 航向是否有效 | int | {"min":0,"max":1} | 航向是否控制(1=有效) |
| yaw | 航向 | double | 目标航向(rad);机身系为相对量,地理系正北=0 | |
| max_yaw_rate | 最大航向角速率 | double | 航向角速率(rad/s) | |
| gimbal_frame | 云台坐标系 | int | {"min":0,"max":3} | 0=机身 / 1=地理(固定 rpy)/ 2=GPS(看向点)/ 3=图像(像素) |
| is_gimbal_valid | 云台是否有效 | int | {"min":0,"max":1} | 云台是否控制(1=有效) |
| gimbal_x | 云台 X | double | 云台 roll(rad);GPS 帧=看向点经度(度);图像帧=宽比例 | |
| gimbal_y | 云台 Y | double | 云台 pitch(rad);GPS 帧=看向点纬度(度);图像帧=高比例 | |
| gimbal_z | 云台 Z | double | 云台 yaw(rad);GPS 帧=看向点高度(米);图像帧=0 | |
| max_gimbal_rate | 最大云台速率 | double | 云台速率(rad/s) |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"fly_to_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"pos_frame": 1,
"is_pos_valid": 1,
"pos_x": 0.0,
"pos_y": 0.0,
"pos_z": -35.0,
"max_vel": 0.0,
"yaw_frame": 0,
"is_yaw_valid": 0,
"yaw": 0.0,
"max_yaw_rate": 0.0,
"gimbal_frame": 0,
"is_gimbal_valid": 0,
"gimbal_x": 0.0,
"gimbal_y": 0.0,
"gimbal_z": 0.0,
"max_gimbal_rate": 0.0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "fly_to_point_v2"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: fly_to_point_v2
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "fly_to_point_v2"
}
结束 flyto 飞向目标点任务
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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "fly_to_point_stop"
}
暂停 flyto 飞向目标点任务
暂停当前的 flyto 任务,飞机就地悬停,任务不结束。仅对 flyto 飞向目标点生效,航线任务的暂停请使用 flighttask_pause。暂停期间 fly_to_point_progress 的 status 变为 wayline_paused,percent 冻结在暂停时刻的值。
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: mission_pause
Data: null
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "mission_pause"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: mission_pause
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误。当前无 flyto 任务、任务已处于暂停态或遥测不可用时返回非 0 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "mission_pause"
}
恢复 flyto 飞向目标点任务
从暂停位置继续飞向原目标点,无需重新下发目标点。仅在任务已处于暂停态时可用。
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: mission_recovery
Data: null
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "mission_recovery"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: mission_recovery
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误。当前无 flyto 任务、任务未处于暂停态或遥测不可用时返回非 0 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "mission_recovery"
}
进入目标点绕飞
让飞机绕云端给定的经纬度盘旋。飞机必须已在空中,且不能处于 AI 跟踪 / 环绕跟踪中。绕飞期间 OSD 的 mode_code 为 23,状态通过 poi_status_notify 上报。
最小下发只需 latitude / longitude / height,其余字段缺省时按下表取值。命令被拒时会同时收到 services_reply(result 非 0)和一条 poi_status_notify(status 为 wayline_failed)。
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: poi_mode_enter
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| latitude | 目标点纬度(角度值) | double | {"max":90,"min":-90} | 必填。目标点纬度,角度值,南纬是负,北纬是正,精度到小数点后 6 位 |
| longitude | 目标点经度(角度值) | double | {"max":180,"min":-180} | 必填。目标点经度,角度值,东经是正,西经是负,精度到小数点后 6 位 |
| height | 目标点高度 | float | {"max":10000,"min":2,"step":0.1,"unit_name":"米 / m"} | 必填。目标点的高度,基准由 height_ref 指定 |
| height_ref | 目标点高度基准 | int | {"0":"海拔高","1":"相对起飞点高度"} | 可选,缺省 1。其它取值会被拒绝 |
| circle_radius | 环绕半径 | float | {"min":0,"step":0.1,"unit_name":"米 / m"} | 可选,缺省 30。必须大于 0;参考量程 [5, 500],超出参考量程仍原样透传给飞机 |
| orbit_height | 环绕高度 | float | {"step":0.1,"unit_name":"米 / m"} | 可选,缺省 30。相对目标点的高度 |
| circle_speed | 环绕速度 | float | {"step":0.1,"unit_name":"米每秒 / m/s"} | 可选。负为顺时针,正为逆时针;参考量程 |值| ≤ 15,含 0 在内均原样透传不做数值校验。实际生效值见下方优先级说明 |
| gimbal_pitch | 云台俯仰角 | float | {"max":0,"min":-90,"step":0.1,"unit_name":"度 / °"} | 可选。飞向阶段的云台俯仰角,缺省表示不改变当前云台角 |
| circle_count | 环绕圈数 | int | {"min":0} | 可选。缺省或 0 表示一直环绕,绕满设定圈数后自动停止 |
circle_speed 的实际生效值按 预设 > 命令 > 配置默认(5 m/s) 的优先级取值:只要通过 poi_circle_speed_set 设过预设,本命令携带的 circle_speed 就会被预设覆盖。实际生效值以 poi_status_notify 的 circle_speed 为准。
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"circle_count": 3,
"circle_radius": 50,
"circle_speed": 5,
"gimbal_pitch": -30,
"height": 80,
"height_ref": 1,
"latitude": 22.5678901,
"longitude": 113.9012345,
"orbit_height": 10
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "poi_mode_enter"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: poi_mode_enter
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "poi_mode_enter"
}
退出目标点绕飞
结束当前的目标点绕飞,飞机就地悬停。飞机侧没有专用的"退出环绕"命令,本方法与 drone_emergency_stop 下发到飞机的报文完全相同。
即使机巢本地没有绕飞任务记录(例如机巢重启过)也会照常下发,这是云端唯一的止损手段;但遥测不可用时会被拒绝(避免误发全局任务终止符),此时 poi_status_notify 的 reason 为 8。飞机正在执行航线任务、返航或降落时同样会被拒绝,reason 为 7。
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: poi_mode_exit
Data: null
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "poi_mode_exit"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: poi_mode_exit
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "poi_mode_exit"
}
设置目标点绕飞速度预设
预设下一次目标点绕飞的环绕速度。
本方法只对下次 poi_mode_enter 生效(不改变当前正在进行的环绕,因此界面不要做成环绕中的实时滑条),且优先级高于 poi_mode_enter 命令里携带的 circle_speed。预设不跨机巢重启保留,实际生效值以 poi_status_notify 的 circle_speed 为准。
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: poi_circle_speed_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| circle_speed | 环绕速度 | float | {"step":0.1,"unit_name":"米每秒 / m/s"} | 必填。负为顺时针,正为逆时针;参考量程 |值| ≤ 15,含 0 在内均原样透传不做数值校验 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"circle_speed": -3
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "poi_circle_speed_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: poi_circle_speed_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误。circle_speed 缺失或不是数字时返回非 0 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "poi_circle_speed_set"
}
Joystick 控制无效原因通知
Joystick 是一个无人机综合控制功能,若不可用,则无法使用 drone_control 能力,实现手动操控
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: joystick_invalid_notify
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| reason | 失效原因 | int | {"0":"未知原因","1":"无飞行控制权","2":"飞行器未连接","3":"飞行器未在飞行","4":"DRC 模式未激活","5":"紧急停止中","6":"信号丢失","7":"电量过低","8":"地理围栏限制"} | 摇杆控制失效的原因 |
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"
}
负载控制—单拍
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_photo_take
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 相机枚举 | text | 相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持] |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"payload_index": "10902-0-0"
},
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_photo_take"
}
负载控制—开始录像
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_recording_start
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 相机枚举 | text | 相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持] |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"payload_index": "10902-0-0"
},
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_recording_start"
}
负载控制—停止录像
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_recording_stop
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 相机枚举 | text | 相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持] |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"payload_index": "10902-0-0"
},
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_recording_stop"
}
负载控制—画面拖动控制
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_screen_drag
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 相机枚举 | text | 相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持] | |
| locked | 机头和云台的相对关系是否锁定 | bool | {"false":"仅云台转,机身不转","true":"锁定机头,云台和机身一起转"} | 锁定机头时云台与机身一起转动 |
| pitch_speed | 云台 pitch 速度 | double | {"unit_name":"单位由 angle_unit 决定"} | 云台 pitch 速度,仅支持云台转 |
| yaw_speed | 云台 yaw 速度 | double | {"unit_name":"单位由 angle_unit 决定"} | 云台 yaw 速度,仅支持锁机头 |
| angle_unit | 速度单位 | int | {0: 弧度每秒 rad/s, 1: 度每秒 deg/s} | 非必传,默认为 0(弧度每秒) |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"locked": false,
"payload_index": "10902-0-0",
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_screen_drag"
}
负载控制—变焦
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_focal_length_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 相机枚举 | text | 相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持] | |
| camera_type | 相机类型 | enum_string | {"ir":"红外","wide":"广角","zoom":"变焦"} | 相机类型枚举 |
| zoom_factor | 变焦倍数 | double | {"max":200,"min":2} | 变焦倍数,可见光是2-200,红外是2-20 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"camera_type": "zoom",
"payload_index": "10902-0-0",
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_focal_length_set"
}
负载控制—变焦拖动控制
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_focal_length_drag
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 相机枚举 | text | 相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持] | |
| camera_type | 相机类型 | enum_string | {"ir":"红外","zoom":"变焦"} | 必填。相机类型枚举 |
| zoom_type | 变焦动作 | enum_int | {"0":"缩小","1":"放大","2":"停止"} | 持续变焦的动作方向,缺省 2(停止)。放大或缩小会持续进行,需再下发一次 zoom_type=2 停止 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"payload_index": "10902-0-0",
"camera_type": "zoom",
"zoom_type": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_focal_length_drag"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_focal_length_drag
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_focal_length_drag"
}
负载控制—重置云台
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: gimbal_reset
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 负载编号 | text | 负载编号,相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持] | |
| reset_mode | 重置模式类型 | enum_int | {"0":"回中","1":"向下","2":"偏航回中","3":"向下45度","101":"向上30度","102":"向上45度","103":"向上90度"} | 云台重置模式 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"payload_index": "10902-0-0",
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "gimbal_reset"
}
负载控制—照片存储设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: photo_storage_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 相机枚举 | text | 相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持] | |
| photo_storage_settings | 照片存储设置集合 | array | {"size": -, "item_type": enum_string} | 拍照存储类型{wide, zoom, ir, nightvision},可多选 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"payload_index": "10902-0-0",
"photo_storage_settings": [
"wide",
"zoom",
"ir",
"nightvision"
]
},
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "photo_storage_set"
}
负载控制—视频存储设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: video_storage_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 相机枚举 | text | 相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持] | |
| video_storage_settings | 视频存储设置集合 | array | {"size": -, "item_type": enum_string} | 视频存储类型{wide, zoom, ir, nightvision},可多选 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"payload_index": "10902-0-0",
"video_storage_settings": [
"wide",
"zoom",
"ir",
"nightvision"
]
},
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "video_storage_set"
}
负载控制—Look At
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_look_at
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| latitude | 目标点纬度 | double | {"max":90,"min":-90} | 角度值。南纬是负,北纬是正,精度到小数点后6位。 |
| longitude | 目标点经度 | double | {"max":180,"min":-180} | 角度值。东经是正,西经是负,精度到小数点后6位。 |
| height | 目标点高度 | float | {"max":10000,"min":2,"step":0.1,"unit_name":"米 / m"} | 目标点高度(椭球高) |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_look_at"
}
负载控制—双击成为 AIM
双击 aim 功能为在相机镜头的视野范围内,双击镜头中的目标点,该目标点将成为镜头视野的中心
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_aim
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 相机枚举 | text | 相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持] | |
| camera_type | 相机类型 | enum_string | {"ir":"红外","zoom":"变焦"} | 相机类型枚举 |
| locked | 机头和云台的相对关系是否锁定 | bool | {"false":"仅云台转,机身不转","true":"锁定机头,云台和机身一起转"} | 可选,缺省 false。锁定机头时云台与机身一起转动 |
| x | 屏幕 X 坐标 | float | {"max":1,"min":0} | 可选,缺省 0.5。瞄准点在画面中的水平比例坐标,取值 0~1 |
| y | 屏幕 Y 坐标 | float | {"max":1,"min":0} | 可选,缺省 0.5。瞄准点在画面中的垂直比例坐标,取值 0~1 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"payload_index": "10902-0-0",
"camera_type": "zoom",
"locked": false,
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_aim"
}
负载控制—云台角度控制
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: gimbal_rotate_angle
Data:
pitch_angle、yaw_angle 均为可选,但两者至少要提供一个,否则返回参数错误。
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 相机枚举 | text | 相机枚举值。非标准的 device_mode_key,格式为 {type-subtype-gimbalindex},可以参考[产品支持]。当前固件暂未支持。 | |
| pitch_angle | 俯仰角度 | double | {"max":30,"min":-90,"unit_name":"度/ deg"} | 云台俯仰角度,-90度代表向下,30度代表向上 |
| yaw_angle | 偏航角度 | double | {"max":180,"min":-180,"unit_name":"度/ deg"} | 云台偏航角度 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"pitch_angle": -45.0,
"yaw_angle": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "gimbal_rotate_angle"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: gimbal_rotate_angle
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "gimbal_rotate_angle"
}
负载控制—相机曝光值设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_exposure_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| camera_type | 镜头类型 | text | {"enum": ["wide", "zoom", "telezoom", "ir", "nightvision"]} | 必填,大小写不敏感 |
| exposure_value | 曝光值 | double | {"unit_name":"EV"} | 必填,取值范围取自相机能力集 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"camera_type": "zoom",
"exposure_value": 0.3
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_exposure_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_exposure_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_exposure_set"
}
负载控制—相机曝光补偿设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_exposure_compensation_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| camera_type | 镜头类型 | text | {"enum": ["wide", "zoom", "telezoom", "ir", "nightvision"]} | 必填,大小写不敏感 |
| exposure_compensation_value | 曝光补偿 | int | {"unit_name":"EV"} | 必填,取值范围取自相机能力集 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"camera_type": "zoom",
"exposure_compensation_value": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_exposure_compensation_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_exposure_compensation_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_exposure_compensation_set"
}
负载控制—相机感光度模式设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_iso_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| iso_mode | ISO 模式 | int | {"0": 自动, "1": 手动} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"iso_mode": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_iso_mode_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_iso_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_iso_mode_set"
}
负载控制—相机快门模式设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_shutter_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| shutter_mode | 快门模式 | int | {"0": 自动, "1": 手动} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"shutter_mode": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_shutter_mode_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_shutter_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_shutter_mode_set"
}
负载控制—红外测温模式设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: ir_metering_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| mode | 测温模式 | int | {"0": 关闭, "1": 点测温, "2": 区域测温} | 必填 |
| payload_index | 相机枚举 | text | 可选,缺省 "0" |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"mode": 1,
"payload_index": "0"
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "ir_metering_mode_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: ir_metering_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "ir_metering_mode_set"
}
负载控制—红外测温点设置
设置成功后自动切换为点测温模式。
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: ir_metering_point_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| x | 横坐标 | float | {"max":1,"min":0} | 必填,画面宽度比例 |
| y | 纵坐标 | float | {"max":1,"min":0} | 必填,画面高度比例 |
| payload_index | 相机枚举 | text | 可选,缺省 "0" |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"x": 0.5,
"y": 0.5,
"payload_index": "0"
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "ir_metering_point_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: ir_metering_point_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "ir_metering_point_set"
}
负载控制—红外测温区域设置
设置成功后自动切换为区域测温模式。
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: ir_metering_area_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| x | 横坐标 | float | {"max":1,"min":0} | 必填,区域左上角画面宽度比例 |
| y | 纵坐标 | float | {"max":1,"min":0} | 必填,区域左上角画面高度比例 |
| width | 区域宽度 | float | {"max":1,"min":0} | 必填,x + width 不得大于 1 |
| height | 区域高度 | float | {"max":1,"min":0} | 必填,y + height 不得大于 1 |
| payload_index | 相机枚举 | text | 可选,缺省 "0" |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"x": 0.3,
"y": 0.3,
"width": 0.4,
"height": 0.4,
"payload_index": "0"
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "ir_metering_area_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: ir_metering_area_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "ir_metering_area_set"
}
负载控制—相机感光度值设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_iso_value_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| iso_value | ISO 值 | int | {100, 200, 400, 800, 1600, 2400, 3200, 4800, 6400, 12800, 25600} | 必填,手动 ISO 模式下生效 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"iso_value": 400
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_iso_value_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_iso_value_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_iso_value_set"
}
负载控制—相机快门速度值设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_shutter_value_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| shutter_value | 快门值 | text | 格式为 {分子}/{分母} | 必填,手动快门模式下生效 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"shutter_value": "1/80"
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_shutter_value_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_shutter_value_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_shutter_value_set"
}
负载控制—相机白平衡模式设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_white_balance_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| white_balance_mode | 白平衡模式 | int | {"0": 自动, "1": 日光, "2": 阴天, "3": 白炽灯, "4": 荧光灯, "5": 自定义} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"white_balance_mode": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_white_balance_mode_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_white_balance_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_white_balance_mode_set"
}
负载控制—相机白平衡色温值设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_white_balance_value_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| white_balance_value | 色温 | int | 2000~10000,步长 100 | 必填,白平衡模式为自定义时生效 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"white_balance_value": 5000
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_white_balance_value_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_white_balance_value_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_white_balance_value_set"
}
负载控制—相机对焦模式设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_focus_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| focus_mode | 对焦模式 | int | {"1": 自动对焦, "2": 手动对焦} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"focus_mode": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_focus_mode_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_focus_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_focus_mode_set"
}
负载控制—相机对焦值设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_focus_value_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| focus_value | 对焦物距 | int | 0~50,单位 mm | 必填,手动对焦模式下生效 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"focus_value": 10
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_focus_value_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_focus_value_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_focus_value_set"
}
负载控制—相机亮度设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_brightness_value_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| brightness_value | 亮度 | int | 0~60 | 必填 |
| camera_type | 镜头类型 | text | {"wide", "zoom"} | 选填,默认 zoom |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"brightness_value": 30,
"camera_type": "zoom"
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_brightness_value_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_brightness_value_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_brightness_value_set"
}
负载控制—相机照片尺寸设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_photo_size_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| camera_type | 镜头类型 | text | {"zoom", "ir"} | 必填 |
| photo_size | 照片尺寸 | text | 格式为 {宽}x{高} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"camera_type": "zoom",
"photo_size": "4000x3000"
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_photo_size_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_photo_size_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_photo_size_set"
}
负载控制—相机视频分辨率设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_video_resolution_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| camera_type | 镜头类型 | text | {"zoom", "ir"} | 必填 |
| video_resolution | 录像分辨率 | text | 格式为 {宽}x{高} | 必填 |
| video_fps | 帧率 | int | 大于等于 0 | 选填,不填则保持当前帧率 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"camera_type": "zoom",
"video_resolution": "3840x2160",
"video_fps": 30
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_video_resolution_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_video_resolution_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_video_resolution_set"
}
负载控制—相机电子去雾模式设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_defog_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| defog_mode | 去雾模式 | int | {"0": 关闭, "1": 弱, "2": 中, "3": 强} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"defog_mode": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_defog_mode_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_defog_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_defog_mode_set"
}
负载控制—相机超感光模式设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_ultra_pixel_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| ultra_pixel_mode | 超像素模式 | int | {"0": 关闭, "1": 开启} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"ultra_pixel_mode": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_ultra_pixel_mode_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_ultra_pixel_mode_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_ultra_pixel_mode_set"
}
负载控制—红外FFC校准
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_ffc
Data: null
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_ffc"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_ffc
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_ffc"
}
负载控制—联动变焦开关
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_linkage_zoom
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| linkage_zoom_mode | 联动变焦 | int | {"0": 关闭, "1": 开启} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"linkage_zoom_mode": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_linkage_zoom"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_linkage_zoom
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_linkage_zoom"
}
负载控制—重置相机设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_reset
Data: null
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_reset"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_reset
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_reset"
}
负载控制—红外双光融合开关
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_ir_fusion_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| ir_fusion_mode | 双光融合 | int | {"0": 关闭, "1": 开启} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"ir_fusion_mode": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_ir_fusion_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_ir_fusion_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_ir_fusion_set"
}
负载控制—红外超分辨率开关
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_ir_super_resolution_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| ir_super_resolution_mode | 红外超分辨率 | int | {"0": 关闭, "1": 开启} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"ir_super_resolution_mode": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_ir_super_resolution_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_ir_super_resolution_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_ir_super_resolution_set"
}
负载控制—红外图像增强设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_thermal_image_enhance_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| thermal_image_enhance_mode | 热成像增强开关 | int | {"0": 关闭, "1": 开启} | 与 thermal_image_enhance_value 至少填写一项 |
| thermal_image_enhance_value | 增强强度 | int | 1~8 | 与 thermal_image_enhance_mode 至少填写一项 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"thermal_image_enhance_mode": 1,
"thermal_image_enhance_value": 4
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_thermal_image_enhance_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_thermal_image_enhance_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_thermal_image_enhance_set"
}
负载控制—相机分屏模式设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_screen_split
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| split_mode | 分屏模式 | int | {"0": 可见光, "1": 画中画, "2": 红外, "3": 双屏} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"split_mode": 1
},
"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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_screen_split"
}
负载控制—机臂灯开关
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: camera_arm_light_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| arm_light | 机臂灯 | int | {"0": 自动关闭, "1": 保持常亮} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"arm_light": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_arm_light_set"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: camera_arm_light_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "camera_arm_light_set"
}
负载控制—相机视频格式设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: video_format_settings
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| video_format_type | 视频格式 | int | {"0": MOV, "1": MP4, "2": TIFF} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"video_format_type": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "video_format_settings"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: video_format_settings
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "video_format_settings"
}
负载控制—相机视频编码格式设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: video_encode_settings
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| video_encode_type | 视频编码格式 | int | {"0": H264, "1": H265} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"video_encode_type": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "video_encode_settings"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: video_encode_settings
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "video_encode_settings"
}
负载控制—相机视频字幕开关
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: video_subtitle_mode
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| video_subtitle_enable | 视频字幕 | int | {"0": 关闭, "1": 开启} | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"video_subtitle_enable": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "video_subtitle_mode"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: video_subtitle_mode
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "video_subtitle_mode"
}
负载控制—云台俯仰最大速度设置
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: gimbal_pitch_max_speed
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| payload_index | 负载编号 | text | 必填 | |
| gimbal_pitch_max_speed | 云台俯仰最大速度 | int | 0~100 | 必填 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"payload_index": "10902-0-0",
"gimbal_pitch_max_speed": 50
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "gimbal_pitch_max_speed"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: gimbal_pitch_max_speed
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "gimbal_pitch_max_speed"
}
图传打点结果事件通知
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: intelligent_point
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| req_id | 请求ID | int | 请求id,和打点时传入的请求id保持一致 | |
| status | 打点结果 | int | 0:失败 1:成功 | 图传打点结果状态 |
| latitude | 纬度 | double | 精度:10e-7 | |
| longitude | 经度 | double | 精度:10e-7 | |
| altitude | 相对高度 | double | 目标点相对高度 |
图传打点
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: intelligent_point
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| x | x坐标 | double | {"max":1.0,"min":0"} | 选点在视频画面中的比例,中心点为0.5 |
| y | y坐标 | double | {"max":1.0,"min":0"} | 选点在视频画面中的比例,中心点为0.5 |
| width | 视频分辨率宽 | int | 视频画面宽度 | |
| height | 视频分辨率高 | int | 视频画面高度 | |
| lens_type | 镜头类型 | int | 0:变焦,1:红外,2:广角,3:长焦,4:远距离红外,5:夜视,6:可见光,7:远摄 | 镜头类型枚举 |
| req_id | 请求ID | int | 连续的图传打点req_id不能相同 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"x": 0.5,
"y": 0.5,
"width": 1920,
"height": 1080,
"lens_type": 0,
"req_id": 1
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "intelligent_point"
}
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: intelligent_point
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "intelligent_point"
}
DRC
DRC-飞行控制
进入指令飞行模式后允许通过该指令控制无人机航行方向与速度,发送的频率需要保持在5-10hz以内让设备能够比较精准的控制速度变化与方向。同时,需要保证飞机已经处于打桨飞行的状态,要不会无效。
Topic: thing/product/{gateway_sn}/drc/down
Direction: down
Method: drone_control
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| seq | 命令序号 | int | 递增的序号,保证指令顺序执行。若 x、y、h、w 参数发生变化,seq 需要从 0 开始增长。 | |
| x | 前进后退方向的速度 | double | {"max":17,"min":-17,"unit_name":"米每秒 / m/s"} | 前进后退的最大速度,负值表示向后移动 |
| y | 左右方向的速度 | double | {"max":17,"min":-17,"unit_name":"米每秒 / m/s"} | 左右移动的最大速度,负值表示向左移动 |
| h | 上下方向的速度 | double | {"max":5,"min":-4,"unit_name":"米每秒 / m/s"} | 向上向下移动的最大速度,负值表示向下移动 |
| w | 机身角速度 | double | {"max":65,"min":-65,"unit_name":"度每秒 / deg/s"} | 顺时针与逆时针的最大角速度,负值表示逆时针转动,超出范围会被限幅 |
Example:
{
"data": {
"freq": 10,
"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 | 返回码 | int | 非 0 代表错误,异常case:没有飞行控制权,没有虚拟摇杆权限,数据包序号不对 | |
| output | 输出 | struct | 无人机控制指令的输出 | |
| »seq | 命令序号 | int | 递增的序号,保证指令顺序执行 |
Example:
{
"data": {
"output": {
"seq": 1
},
"result": 0
},
"method": "drone_control"
}
DRC-无人机急停
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 | 返回码 | int | 非 0 代表错误 |
Example:
{
"data": {
"result": 0
},
"method": "drone_emergency_stop"
}
DRC-心跳
Topic: thing/product/{gateway_sn}/drc/down
Direction: down
Method: heart_beat
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| seq | 命令序号 | int | 递增的序号,保证指令顺序执行 | |
| timestamp | 心跳发送时间戳 | int | {"unit_name":"毫秒 / ms"} | 收到的心跳发送时的时间戳,非设备端的时间,便于云端根据收发的间隔做时延计算 |
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 | 命令序号 | int | 递增的序号,保证指令顺序执行 | |
| timestamp | 心跳发送时间戳 | int | {"unit_name":"毫秒 / ms"} | 收到的心跳发送时的时间戳,非设备端的时间,便于云端根据收发的间隔做时延计算 |
Example:
{
"data": {
"seq": 10,
"timestamp": 1670415891013
},
"method": "heart_beat"
}
DRC-避障信息上报
Topic: thing/product/{gateway_sn}/drc/up
Direction: up
Method: hsi_info_push
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| down_distance | 下方障碍物距离 | int | 单位:毫米 | 与下方障碍物的距离 |
| up_distance | 上方障碍物距离 | int | 单位:毫米 | 与上方障碍物的距离 |
| front1_distance | 前方1号雷达障碍物距离 | int | 单位:毫米 | 前方1号雷达检测距离 |
| front2_distance | 前方2号雷达障碍物距离 | int | 单位:毫米 | 前方2号雷达检测距离 |
| front3_distance | 前方3号雷达障碍物距离 | int | 单位:毫米 | 前方3号雷达检测距离 |
| front4_distance | 前方4号雷达障碍物距离 | int | 单位:毫米 | 前方4号雷达检测距离 |
| left1_distance | 左侧1号雷达障碍物距离 | int | 单位:毫米 | 左侧1号雷达检测距离 |
| left2_distance | 左侧2号雷达障碍物距离 | int | 单位:毫米 | 左侧2号雷达检测距离 |
| left3_distance | 左侧3号雷达障碍物距离 | int | 单位:毫米 | 左侧3号雷达检测距离 |
| rear1_distance | 后方1号雷达障碍物距离 | int | 单位:毫米 | 后方1号雷达检测距离 |
| rear2_distance | 后方2号雷达障碍物距离 | int | 单位:毫米 | 后方2号雷达检测距离 |
| rear3_distance | 后方3号雷达障碍物距离 | int | 单位:毫米 | 后方3号雷达检测距离 |
| rear4_distance | 后方4号雷达障碍物距离 | int | 单位:毫米 | 后方4号雷达检测距离 |
| right1_distance | 右侧1号雷达障碍物距离 | int | 单位:毫米 | 右侧1号雷达检测距离 |
| right2_distance | 右侧2号雷达障碍物距离 | int | 单位:毫米 | 右侧2号雷达检测距离 |
| right3_distance | 右侧3号雷达障碍物距离 | int | 单位:毫米 | 右侧3号雷达检测距离 |
| radar_enable | 避障开关 | boolean | 避障功能开关状态 |
Example:
{
"bid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data":{
"down_distance":0,
"front1_distance":0,
"front2_distance":0,
"front3_distance":0,
"front4_distance":0,
"left1_distance":0,
"left2_distance":0,
"left3_distance":0,
"radar_enable":true,
"rear1_distance":0,
"rear2_distance":0,
"rear3_distance":0,
"rear4_distance":0,
"right1_distance":0,
"right2_distance":0,
"right3_distance":0,
"up_distance":0
},
"tid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp":1726131014572,
"method":"hsi_info_push"
}