远程调试
接口变更说明
✓ 提供该接口,— 未提供。未列出的接口 EVO Nest 与 Autel Nest2 一致。
| Method | 功能 | EVO Nest | Autel Nest2 | 说明 |
|---|---|---|---|---|
cover_force_close | 强制关闭舱盖 | — | ✓ | 舱盖异常未闭合时使用 |
open_backup_battery | 打开备用电池 | — | ✓ | |
close_backup_battery | 关闭备用电池 | — | ✓ | |
ac_debug_mode_open | 空调调试模式开启 | — | ✓ | |
ac_debug_mode_close | 空调调试模式关闭 | — | ✓ | |
silent_mode_switch | 隐蔽模式切换 | — | ✓ | |
dock_binding_set | 机巢对频 | — | ✓ | |
drone_activate | 飞机激活/反激活 | — | ✓ | UOM 实名登记 |
web_nest_rtk_get | 查询机巢RTK标定结果 | — | ✓ | |
putter_open | 推杆展开 | ✓ | — | Autel Nest2 未开放 |
putter_close | 推杆闭合 | ✓ | — | Autel Nest2 未开放 |
battery_maintenance_switch | 电池保养状态切换 | ✓ | — | |
battery_store_mode_switch | 电池运行模式切换 | ✓ | — | |
alarm_state_switch | 机场声光报警开关 | ✓ | — | |
device_reboot | 机巢重启进度(未实现) | ✓ | ✓ | events 进度上报未实现,重启命令本身不变 |
无人机开机进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: drone_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "drone_open"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: drone_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "drone_open",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
无人机关机进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: drone_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
| »progress | 进度 | struct | 任务执行进度 | |
| »»percent | 进度百分比 | int | {"max":"100","min":"0","step":"1","unit_name":"百分比 / %"} | 当前进度百分比 |
| »»step_key | 当前步骤 | enum_string | {"close_drone":"无人机关机"} | 当前执行步骤标识 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"progress": {
"percent": 20,
"step_key": "close_drone"
},
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "drone_close"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: drone_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "drone_close",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
机巢重启进度(未实现)
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: device_reboot
说明: 该 events 进度上报未实现,当前固件不通过本 Topic 上报重启进度。实际进度通过 services_reply 的 device_reboot_progress 上报,其 output 为扁平结构(progress 为整数百分比、step 为步骤字符串;重启场景固定为 progress=100、step="rebooting");device_reboot 命令本身的 services_reply 会先返回 output.status 为 accepted。请勿依赖本节的 progress 与 step_key 字段。
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"取消或终止","failed":"失败","in_progress":"执行中","ok":"执行成功","paused":"暂停","rejected":"拒绝","sent":"已下发","timeout":"超时"} | 任务执行状态 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "device_reboot"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: device_reboot
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "device_reboot",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
关闭舱盖进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: cover_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","timeout":"超时"} | 任务执行状态 |
| »progress | 进度 | struct | 任务执行进度 | |
| »»percent | 进度百分比 | int | {"max":"100","min":"0","step":"1","unit_name":"百分比 / %"} | 当前进度百分比 |
| »»step_key | 当前步骤 | enum_string | {"drone_paddle_reverse":"桨叶归中并关闭舱盖"} | 当前执行步骤标识 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"progress": {
"percent": 58,
"step_key": "drone_paddle_reverse"
},
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "cover_close"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: cover_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "cover_close",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
打开舱盖进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: cover_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"取消或终止","failed":"失败","in_progress":"执行中","ok":"执行成功","paused":"暂停","rejected":"拒绝","sent":"已下发","timeout":"超时"} | 任务执行状态 |
| »progress | 进度 | struct | 任务执行进度 | |
| »»percent | 进度百分比 | int | {"max":"100","min":"0","step":"1","unit_name":"百分比 / %"} | 当前进度百分比 |
| »»step_key | 当前步骤 | enum_string | {"download_firmware":"下载固件","upgrade_firmware":"更新固件"} | 当前执行步骤标识 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"progress": {
"percent": 70,
"step_key": "open_cover"
},
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"method": "cover_open"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: cover_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "cover_open",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
打开充电进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: charge_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
| »progress | 进度 | struct | 任务执行进度 | |
| »»percent | 进度百分比 | int | {"max":"100","min":"0","step":"1","unit_name":"百分比 / %"} | 当前进度百分比 |
| »»step_key | 当前步骤 | enum_string | {"start_charge":"开始充电"} | 当前执行步骤标识 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"progress": {
"percent": 45,
"step_key": "start_charge"
},
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "charge_open"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: charge_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "charge_open",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
关闭充电进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: charge_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
| »progress | 进度 | struct | 任务执行进度 | |
| »»percent | 进度百分比 | int | {"max":"100","min":"0","step":"1","unit_name":"百分比 / %"} | 当前进度百分比 |
| »»step_key | 当前步骤 | enum_string | {"stop_charge":"停止充电"} | 当前执行步骤标识 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"progress": {
"percent": 80,
"step_key": "stop_charge"
},
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "charge_close"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: charge_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "charge_close",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
无人机数据格式化进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: drone_format
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"failed":"失败","in_progress":"执行中","ok":"执行成功"} | 任务执行状态 |
| »progress | 进度 | struct | 任务执行进度 | |
| »»percent | 进度百分比 | int | -1/0..100 | -1 失败,0..90 进行中,100 成功 |
| »»name | 进度名称 | string | "drone_format" | 进度名称 |
| »»desc | 进度描述 | string | "无人机数据格式化(进度)" | 进度描述 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"progress": {
"percent": 50,
"name": "drone_format",
"desc": "无人机数据格式化(进度)"
},
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "drone_format"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: drone_format
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "drone_format",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
机巢数据格式化进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: device_format
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"failed":"失败","in_progress":"执行中","ok":"执行成功"} | 任务执行状态 |
| »progress | 进度 | struct | 任务执行进度 | |
| »»percent | 进度百分比 | int | -1/0/100 | -1 失败,0 开始,100 成功 |
| »»name | 进度名称 | string | "device_format" | 进度名称 |
| »»desc | 进度描述 | string | "机巢数据格式化(进度)" | 进度描述 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"progress": {
"percent": 50,
"name": "device_format",
"desc": "机巢数据格式化(进度)"
},
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "device_format"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: device_format
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "device_format",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
RTK标定进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: rtk_calibration
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 返回码,非0代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"failed":"失败","in_progress":"执行中","ok":"执行成功"} | 任务执行状态 |
| »progress | 进度 | struct | 任务执行进度 | |
| »»percent | 进度百分比 | int | {"max":"100","min":"0","step":"1","unit_name":"百分比 / %"} | 当前进度百分比 |
| »»step_key | 当前步骤 | enum_string | {"idle":"空闲","rtk_login":"RTK登录中","rtk_login_success":"RTK登录成功","rtk_positioning":"RTK定位中","rtk_positioning_success":"RTK定位成功","rtk_calibration_success":"RTK标定成功"} | 当前执行步骤标识 |
| »calibration_info | struct | RTK标定信息 | ||
| »»calibration_lat | 标定纬度 | double | 标定位置的纬度值 | |
| »»calibration_lng | 标定经度 | double | 标定位置的经度值 | |
| »»calibration_alt | 标定高度 | double | 标定位置的高度值 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"progress": {
"percent": 80,
"step_key": "rtk_login"
},
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "rtk_calibration"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: rtk_calibration
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "rtk_calibration",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
手动拨桨进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: paddling_blade
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","timeout":"超时"} | 任务执行状态 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "paddling_blade"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: paddling_blade
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "paddling_blade",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
云台校准进度
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: gimbal_calibration
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"failed":"失败","in_progress":"执行中","ok":"执行成功"} | 任务执行状态 |
| »progress | 进度 | struct | 任务执行进度 | |
| »»percent | 进度百分比 | int | {"max":"100","min":"0","step":"1","unit_name":"百分比 / %"} | 当前进度百分比 |
| »»step_key | 当前步骤 | enum_string | {"gimbal_calibrating":"云台校准中"} | 当前执行步骤标识 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"progress": {
"percent": 50,
"step_key": "gimbal_calibrating"
},
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "gimbal_calibration"
}
Topic: thing/product/{gateway_sn}/events_reply
Direction: down
Method: gimbal_calibration
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "gimbal_calibration",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"data": {
"result": 0
}
}
Service
对频状态上报
Topic: thing/product/{gateway_sn}/events
Direction: up
Method: dock_binding_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 0 表示成功或进行中,1 表示失败 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"in_progress":"执行中","ok":"执行成功","failed":"失败"} | 任务执行状态 |
| »progress | 进度 | struct | 对频进度 | |
| »»percent | 进度百分比 | int | 0..100 | 当前进度百分比 |
| »»step_key | 当前步骤 | enum_string | {"status_unknow":"未对频","status_pairing":"对频中","status_suc":"对频成功","status_failed":"对频失败或超时","status_pairing_failed":"未知状态失败"} | 当前执行步骤标识 |
Example:
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"output": {
"progress": {
"percent": 50,
"step_key": "status_pairing"
},
"status": "in_progress"
},
"result": 0
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1654070968655,
"gateway": "AUTEL_NEST2_SN",
"method": "dock_binding_set"
}
Service
失败判定以
result非0为准,不要依赖output字段;失败文本仅记录在设备日志中。
调试模式开启
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: debug_mode_open
Data: null
说明: 仅切换 App 内部远程调试状态和 mode_code=2,不会打开空调 SDK 调试模式。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: debug_mode_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"ok":"执行成功"} | 任务执行状态 |
调试模式关闭
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: debug_mode_close
Data: null
说明: 清除 App 内部远程调试状态并恢复 mode_code=0。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: debug_mode_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"ok":"执行成功"} | 任务执行状态 |
空调调试模式开启
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: ac_debug_mode_open
Data: null
说明: 成功回复后仍需等待设备状态确认空调调试模式已经生效;空闲 15 分钟后自动退出。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: ac_debug_mode_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"success":"执行成功"} | 任务执行状态 |
空调调试模式关闭
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: ac_debug_mode_close
Data: null
说明: 关闭空调 SDK 调试模式并停止空闲看门狗。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: ac_debug_mode_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"success":"执行成功"} | 任务执行状态 |
打开补光灯
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: supplement_light_open
Data: null
Reply status: 首次回复 processing,执行成功后回复 success。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: supplement_light_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"processing":"处理中","success":"执行成功"} | 任务执行状态 |
关闭补光灯
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: supplement_light_close
Data: null
Reply status: 首次回复 processing,执行成功后回复 success。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: supplement_light_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"processing":"处理中","success":"执行成功"} | 任务执行状态 |
机巢空调工作模式切换
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: air_conditioner_mode_switch
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| action | 操作 | enum_int | {"0":"使机巢空调进入空闲模式(关闭制冷、制热或除湿)","1":"使机巢空调进入制冷模式","2":"使机巢空调进入制热模式","3":"使机巢空调进入除湿模式(除湿包含制冷除湿及制热除湿,由设备端自动选择,无需用户介入)"} | 空调模式切换操作 |
前置条件: 必须先调用 ac_debug_mode_open,并等待设备状态确认空调调试模式生效。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: air_conditioner_mode_switch
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"success":"执行成功"} | 任务执行状态 |
机巢重启
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: device_reboot
Data: null
说明: accepted 仅表示请求已受理;调用方应通过设备离线和重新上线确认重启结果。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: device_reboot
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"accepted":"已受理"} | 任务执行状态 |
无人机开机
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: drone_open
Data: null
主要约束: 飞机必须在巢、未飞行且舱门关闭;机巢或飞机 OTA 期间拒绝执行。最长等待 120 秒。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: drone_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
无人机关机
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: drone_close
Data: null
主要约束: 飞机必须在巢、未飞行且舱门关闭;OTA、固件升级或飞机日志下载期间拒绝执行。最长等待 60 秒。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: drone_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
机巢数据格式化
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: device_format
Data: null
说明: 清理本地缓存、飞行任务配置、当前任务状态和飞行记录;机巢 OTA 期间拒绝执行。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: device_format
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"ok":"执行成功"} | 任务执行状态 |
无人机数据格式化
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: drone_format
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| type | 存储类型 | enum_int | {"0":"SD 卡","1":"EMMC"} | 可选;不传时按 App 当前存储策略选择 |
主要约束: 飞行或 OTA 期间拒绝执行;格式化 SD 卡时存储状态必须为 Ready;超时 5 分钟。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: drone_format
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"ok":"执行成功"} | 任务执行状态 |
打开舱盖
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: cover_open
Data: null
主要约束: 急停、机巢 OTA、已有舱门操作或 RC 自主备降飞行期间拒绝执行;超时 120 秒。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: cover_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
关闭舱盖
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: cover_close
Data: null
主要约束: 急停、机巢 OTA、拨桨展开、飞行任务备飞/降落或已有舱门操作期间拒绝执行;超时 120 秒。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: cover_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
强制关闭舱盖
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: cover_force_close
Data: null
说明: 当机场「设备属性」推送的 drone_in_dock 为 0,且经机场摄像头确认飞行器不在舱内后,方可调用本指令强制关闭舱盖;否则可能夹伤桨叶。
注意: 本指令绕过防夹桨与飞行任务保护,调用前须确认桨叶已归位且无飞行任务在执行。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: cover_force_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
打开充电
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: charge_open
Data: null
主要约束: 飞机必须在巢、未飞行且舱门关闭;机巢 OTA 期间拒绝执行;超时 60 秒。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: charge_open
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
关闭充电
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: charge_close
Data: null
主要约束: 飞机必须在巢、未飞行且舱门关闭;机巢 OTA 期间拒绝执行;超时 60 秒。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: charge_close
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"canceled":"已取消","failed":"失败","in_progress":"执行中","ok":"执行成功","sent":"已受理","timeout":"超时"} | 任务执行状态 |
RTK标定
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: rtk_calibration
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| action | 操作 | enum_int | {"0":"手动标定","1":"网络标定"} | RTK标定操作方式 |
| manual_params | 手动标定参数 | struct | action为0时必须有 | |
| latitude | 标定纬度 | double | 标定位置的纬度 | |
| longitude | 标定经度 | double | 标定位置的经度 | |
| altitude | 标定海拔高 | double | 标定位置的海拔高度 | |
| network_params | 网络标定参数 | struct | action为1时必须有 | |
| domain_name | rtk账号域名 | text | NTRIP服务的域名 | |
| port | rtk账号端口 | int | NTRIP服务的端口 | |
| mount_point | rtk账号挂载点 | text | NTRIP服务的挂载点 | |
| username | rtk账号用户名 | text | NTRIP服务的用户名 | |
| password | rtk账号密码 | text | NTRIP服务的密码 | |
| rtcm_forward_mode | RTCM转发模式 | int/string | 可选 | 0逐帧转发,1/raw/RAW_PASSTHROUGH原始透传 |
校验: action 仅允许 0/1;手动标定的经纬度不能同时为 (0, 0)。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: rtk_calibration
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"ok":"执行成功","sent":"已受理"} | 任务执行状态 |
查询机巢RTK标定结果
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: web_nest_rtk_get
Data: null
说明: 纯快照查询,不触发任何标定动作。返回坐标的取值优先级为:① 手动或网络标定写入的基准点坐标;② 基准点为空且 RTK 已固定解(fix_status 为 0)时的实时解算坐标;③ 两者都不可用时返回 410。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: web_nest_rtk_get
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | {"0":"已标定","410":"RTK基站未标定"} | 非 0 代表错误 |
| output | 输出 | struct | 服务执行的输出结果 | |
| »rtk_lat | 标定纬度 | double | 未标定时为 0 | |
| »rtk_lng | 标定经度 | double | 未标定时为 0 | |
| »rtk_alt | 标定海拔高 | double | 未标定时为 0 |
说明: 该命令的 output 中不返回 status 字段,标定结果直接由 result 表达。
云台校准
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: gimbal_calibration
Data: null
主要约束: 飞机必须在线;最终结果以独立校准 Event 为准。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: gimbal_calibration
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
Example:
{
"method": "gimbal_calibration",
"tid": "6a7bfe89-c386-4043-b600-b518e10096cc",
"bid": "42a19f36-5117-4520-bd13-fd61d818d52e",
"timestamp": "1234567890123",
"gateway": "AUTEL_NEST2_SN",
"data": {
"result": 0
}
}
增强图传开关
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: sdr_workmode_switch
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| link_workmode | 图传模式 | enum_int | {"0":"仅使用 SDR","1":"4G 增强模式"} | 在 4G 增强模式下,SDR 与 4G 会同时使用 |
说明: 0/1 会 best-effort 同步 LTE 增强开关,附加操作失败不影响主回复。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: sdr_workmode_switch
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 |
手动拨桨
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: paddling_blade
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| action | 拨桨动作 | enum_int | {"0":"停止","1":"展开/开始拨桨","2":"折叠"} | 可选,缺省 1(展开) |
说明: 飞机必须在线且未飞行;展开最长等待 300 秒,超时后通过 Event 上报超时,最终状态通过 Event 上报。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: paddling_blade
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"sent":"已受理"} | 任务执行状态 |
机巢急停
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: emergency_stop
Data: null
说明: accepted 仅表示请求已受理,调用方必须结合机巢急停状态确认动作生效。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: emergency_stop
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"accepted":"已受理"} | 任务执行状态 |
解除机巢急停
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: emergency_stop_release
Data: null
说明: 调用方必须等待急停状态解除后再执行舱门、充电或无人机电源操作。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: emergency_stop_release
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"accepted":"已受理"} | 任务执行状态 |
打开备用电池
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: open_backup_battery
Data: null
Reply status: 首次回复 processing,执行成功后再次回复 success。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: open_backup_battery
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"processing":"处理中","success":"执行成功"} | 任务执行状态 |
关闭备用电池
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: close_backup_battery
Data: null
Reply status: 首次回复 processing,执行成功后再次回复 success。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: close_backup_battery
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"processing":"处理中","success":"执行成功"} | 任务执行状态 |
隐蔽模式切换
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: silent_mode_switch
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| switch | 隐蔽模式开关 | enum_int | {"0":"关闭","1":"开启"} | 必填;取值只能为 0 或 1 |
主要约束: 机巢设备 ID 必须有效。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: silent_mode_switch
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"ok":"执行成功"} | 任务执行状态 |
机巢对频
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: dock_binding_set
Data: null
说明: 首次回复 sent;已有对频流程时回复 in_progress,详细进度通过 Event 上报。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: dock_binding_set
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"sent":"已受理","in_progress":"执行中"} | 任务执行状态 |
飞机激活/反激活
Topic: thing/product/{gateway_sn}/services
Direction: down
Method: drone_activate
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| action | 操作 | enum_int | {"0":"反激活","1":"激活"} | 必填 |
| country_code | 国家码 | text | ISO 3166 两位字母 | action 为 1 时必填;自动去空格并转大写 |
| cancel_reg_type | 取消注册类型 | text | {"0":"退出使用","3":"所有权变更","4":"其它原因"} | 可选,仅 action 为 0 时有效,缺省 0 |
| cancel_reg_reason | 取消原因 | text | 上限 200 字符 | 可选,仅 action 为 0 时有效;超长自动截断为前 200 字符,不会因此报错 |
说明: 执行顺序为「飞机在线校验 → 云端注册 → 写入飞机」,云端注册失败时不会写入飞机。
Topic: thing/product/{gateway_sn}/services_reply
Direction: up
Method: drone_activate
Data:
| Column | Name | Type | constraint | Description |
|---|---|---|---|---|
| result | 返回码 | int | 非 0 代表错误 | |
| output | 输出 | struct | 服务执行的输出结果 | |
| »status | 任务状态 | enum_string | {"ok":"执行成功","failed":"执行失败"} | 任务执行状态 |
| »message | 错误描述 | text | 仅失败时返回 |
常见返回码:
| result | 说明 |
|---|---|
| 1901 | 参数缺失、类型错误或取值非法 |
| 406 | 飞机未连接 |
| 2 | 云端注册超时 |
| 359021 | 云端注册失败 |
| 359022 | 云端拒绝:设备 SN 无效 |
| 1999 | 未预期异常 |