00.properties
设备属性列表
pushMode:
0:设备推送定频数据,设备将以 0.5HZ 的频率定时上报 (Topic:thing/product/{device_sn}/osd)
1:设备推送状态数据,设备在状态变化时上报(Topic:thing/product/{device_sn}/state)
accessMode:
r:属性只读
rw:属性可读写 (Topic:thing/product/{gateway_sn}/property/set)
silent_mode
机场静音模式
enum_int
{"0":"非静音模式","1":"静音模式"}
开启静音模式,意味着:1. 风扇转速降低、空调制冷性能下降、炎热天气下作业间隔变长。2. 蜂鸣器声音将关闭,开关舱盖时请注意周围安全。3. 机场待机状态的白色指示灯关闭,其他运行状态的指示灯正常。
rw
1
user_experience_improvement
用户体验改善计划
enum_int
{"0":"初始状态","1":"拒绝加入用户体验改善计划","2":"同意加入用户体验改善计划"}
rw
1
dongle_infos
4G Dongle信息
array
{"size": -, "item_type": struct}
r
1
»imei
dongle imei
text
Dongle 的唯一识别标志
r
0
»dongle_type
Dongle 类型
enum_int
{"6":"旧 Dongle","10":"支持 eSIM 的新 Dongle"}
Dongle 类型
r
0
»eid
dongle eid
text
eSIM 的唯一识别标志,用于公众号查询套餐、购买服务
r
0
»esim_activate_state
eSIM 激活状态
enum_int
{"0":"未激活","1":"已激活"}
需要激活才能使用
r
0
»sim_card_state
SIM 卡状态
enum_int
{"0":"未插入","1":"已插入"}
Dongle 中实体 SIM 卡的插入状态
r
0
»sim_slot
SIM 卡槽使能状态
enum_int
{"0":"未知","1":"实体 SIM 卡","2":"eSIM"}
标识 Dongle 当前正在使用的 SIM 卡槽
r
0
»esim_infos
eSIM 信息
array
{"size": -, "item_type": struct}
r
0
»»telecom_operator
支持的运营商
enum_int
{"0":"未知","1":"移动","2":"联通","3":"电信"}
eSIM 支持的运营商
r
0
»»enabled
eSIM 使能状态
bool
{"false":"未使用","true":"使用中"}
同时刻只能有一个 eSIM 是使能的
r
0
»»iccid
sim iccid
text
SIM 卡的唯一识别标志,可以用于实体 SIM 卡的套餐购买
r
0
»sim_info
SIM 卡信息
struct
可插入 Dongle 的实体 SIM 卡信息
r
0
»»telecom_operator
支持的运营商
enum_int
{"0":"未知","1":"移动","2":"联通","3":"电信"}
SIM 卡支持的运营商
r
0
»»sim_type
SIM 卡类型
enum_int
{"0":"未知","1":"其他普通 SIM 卡","2":"三网卡"}
实体 SIM 卡的类型
r
0
»»iccid
sim iccid
text
SIM 卡的唯一识别标志,可以用于实体 SIM 卡的套餐购买
r
0
drone_battery_maintenance_info
飞行器电池保养信息
struct
0
»maintenance_state
保养状态
enum_int
{"0":"无需保养","1":"待保养","2":"正在保养"}
0
»maintenance_time_left
电池保养剩余时间
int
{"unit_name":"小时 / h"}
向下取整
0
»heat_state
电池加热保温状态
enum_int
{"0":"电池未开启加热或保温","1":"电池在加热中","2":"电池在保温中"}
当飞行器舱内关机时由本物模型上报机场连接飞行器的电池加热保温信息
0
»batteries
电池详细信息
array
{"size": -, "item_type": struct}
当飞行器舱内关机时由本物模型上报机场连接飞行器的电池信息,基本数据与飞行器物模型中电池信息基本保持一致
0
»»capacity_percent
电池剩余电量
int
{"max":100,"min":0}
保留小数点后一位,正常范0-100,设备端获取不到数据的异常值为 32767
0
»»index
电池序号
enum_int
{"0":"左电池","1":"右电池"}
0
»»voltage
电压
int
{"unit_name":"毫伏 / mV"}
正常范围0-28000mV,设备端获取不到数据的异常值为32767
0
»»temperature
温度
float
{"unit_name":"摄氏度 / °C"}
保留小数点后一位,正常范围-40-150°C,设备端获取不到数据的异常值为32767
0
air_conditioner
机场空调工作状态信息
struct
r
0
»air_conditioner_state
机场空调状态
enum_int
{"0":"空闲模式(无制冷、制热、除湿等)","1":"制冷模式","2":"制热模式","3":"除湿模式","4":"制冷退出模式","5":"制热退出模式","6":"除湿退出模式","7":"制冷准备模式","8":"制热准备模式","9":"除湿准备模式"}
机场空调工作状态信息,空调仅存在一种工作模式
0
»switch_time
剩余等待可切换时间
int
{"unit_name":"秒 / s"}
模式切换顺序为准备模式、工作(制冷、制热、除湿)模式、退出模式、空闲模式。本属性将上报,可以切换下一个模式指令还需要等待的时间。例如当前机场空调在进入制冷模式后,必须制冷5分钟后才可以退出制冷模式,本属性将上报还需要多久退出制冷模式,为0表示随时可退出
0
maintain_status
保养信息
struct
r
0
»maintain_status_array
保养信息数组
array
{"size": -, "item_type": struct}
0
»»state
保养状态
enum_int
{"0":"无保养","1":"有保养"}
0
»»last_maintain_type
上一次保养类型
enum_int
{"0":"无保养","17":"机场常规保养","18":"机场深度保养"}
0
»»last_maintain_time
上一次保养时间
date
{"unit_name":"秒 / s"}
0
»»last_maintain_work_sorties
上一次保养时作业架次
int
{"max":"2147483647","min":"0","step":"1"}
0
position_state
搜星状态
struct
r
0
»is_calibration
是否标定
enum_int
{"0":"未标定","1":"已标定"}
0
»is_fixed
是否收敛
enum_int
{"0":"未开始","1":"收敛中","2":"收敛成功","3":"收敛失败"}
0
»quality
搜星档位
enum_int
{"1":"1档","2":"2档","3":"3档","4":"4档","5":"5档","10":"RTK fixed"}
0
»gps_number
GPS 搜星数量
int
0
»rtk_number
RTK 搜星数量
int
0
emergency_stop_state
紧急停止按钮状态
enum_int
{"0":"关闭","1":"开启"}
r
0
drone_charge_state
飞行器充电状态
struct
飞行器充电状态
r
0
»capacity_percent
电量百分比
int
{"max":"100","min":"0"}
0
»state
充电状态
enum_int
{"0":"空闲","1":"充电中"}
0
backup_battery
机场备用电池信息
struct
r
0
»switch
备用电池开关
enum_int
{"0":"关闭","1":"开启"}
0
»voltage
备用电池电压
int
{"desc":"备用电池关闭时电压为0","max":"30000","min":"0","step":"1","unit_name":"毫伏 / mV"}
0
»temperature
备用电池温度
float
{"step":"0.1","unit_name":"摄氏度 / °C"}
保留小数点后一位
0
alarm_state
机场声光报警状态
enum_int
{"0":"关闭","1":"开启"}
r
0
battery_store_mode
电池运行模式
enum_int
{"1":"计划模式","2":"待命模式"}
计划模式适合规律作业场景,无任务时电池电量保持在55%~60%,电池寿命较长。待命模式适合应急作业场景,无任务时电池电量保持在90%~95%,电池寿命较短。
r
0
activation_time
机场激活时间(unix 时间戳)
int
{"unit_name":"秒 / s"}
r
0
height
椭球高度
double
{"unit_name":"米 / m"}
r
0
alternate_land_point
备降点
struct
r
0
»longitude
经度
float
{}
0
»latitude
纬度
float
{}
0
»safe_land_height
安全高度(备降转移高)
float
{}
0
»is_configured
是否设置备降点
enum_int
{"0":"未设置","1":"已设置"}
0
compatible_status
固件一致性
enum_int
{"0":"不需要一致性升级","1":"需要一致性升级"}
一致性升级:指飞行器某些模块的固件版本与系统匹配版本不一致,需要进行升级。常见的情况例如:飞行器与遥控器已经升级至最新版本,但替换电池时发现电池未升级,此时一致性升级将被提示。普通升级:开发者将飞行器所有模块升级至指定固件版本。
r
1
acc_time
机场累计运行时长
int
{"unit_name":"秒 / s"}
r
1
first_power_on
首次上电时间
int
{"unit_name":"毫秒 / ms"}
r
0
storage
存储容量
struct
r
0
»total
总容量
int
{"unit_name":"千字节 / KB"}
0
»used
已使用容量
int
{"unit_name":"千字节 / KB"}
0
working_current
工作电流
float
{"unit_name":"毫安 / mA"}
r
0
working_voltage
工作电压
int
{"unit_name":"毫伏 / mV"}
r
0
humidity
舱内湿度
float
{"max":"100","min":"0","step":"0.1","unit_name":"相对湿度 / %RH"}
r
0
temperature
舱内温度
float
{"unit_name":"摄氏度 / °C"}
r
0
environment_temperature
环境温度
float
{"unit_name":"摄氏度 / °C"}
r
0
wind_speed
风速
float
{"unit_name":"米每秒 / m/s"}
r
0
rainfall
降雨量
enum_int
{"0":"无雨","1":"小雨","2":"中雨","3":"大雨"}
r
0
live_capacity
网关设备直播能力
struct
r
1
»available_video_number
可选择推流的码流数量
int
0
»coexist_video_number_max
可同时推流的最大码流数量
int
0
»device_list
可选择的视频设备源
array
{"size": -, "item_type": struct}
可选择的视频设备源(设备层,比如飞行器)
0
»»sn
飞行器等视频源设备序列号(SN)
text
0
»»available_video_number
该序列号设备可以被选择推流的码流数
int
0
»»coexist_video_number_max
该序列号设备可以同时被推流的码流数
int
0
»»camera_list
该序列号设备上的相机列表
array
{"size": -, "item_type": struct}
0
»»»camera_index
相机索引
text
使用 {type-subtype-gimbalindex} 的格式
0
»»»available_video_number
该相机级别的视频源可以被选择推流的码流数
int
0
»»»coexist_video_number_max
该相机级别的视频源可以同时被推流的码流数
int
0
»»»video_list
该相机级别的视频源可以选择的码流列表
array
{"size": -, "item_type": struct}
0
»»»»video_index
该相机级别的视频源可以选择的码流索引
text
0
»»»»video_type
该相机级别的视频源可以选择的码流类型
text
0
»»»»switchable_video_types
该视频流支持切换的视频镜头类型
array
{"size": -, "item_type": text}
0
live_status
网关当前整体直播状态推送
array
{"size": -, "item_type": struct}
r
1
»video_id
直播码流标识符
text
某路在推视频码流的标识符,格式为 {sn}/{camera_index}/{video_index}。其中 {sn} 为视频源设备序列号。{camera_index} 为相机索引,使用 {type-subtype-gimbalindex} 的格式。{video_index} 为该相机级别的视频源可以选择的码流索引。
0
»video_type
视频类型
text
{"length":"24"}
表明视频镜头的类型,如normal/wide/zoom/infrared等
0
»video_quality
直播码流的质量
enum_int
{"0":"自动","1":"流畅","2":"高清","3":"超清"}
0
»status
直播状态
enum_int
{"0":"未直播","1":"在直播"}
0
»error_status
错误码
int
{"length":6}
0
wireless_link
图传链路
struct
r
0
»dongle_number
飞行器上 Dongle 数量
int
0
»4g_link_state
4G 链路连接状态
enum_int
{"0":"断开","1":"连接"}
0
»sdr_link_state
SDR 链路连接状态
enum_int
{"0":"断开","1":"连接"}
0
»link_workmode
机场的图传链路模式
enum_int
{"0":"SDR 模式","1":"4G 融合模式"}
0
»sdr_quality
SDR 信号质量
int
{"max":"5","min":"0","step":"1"}
0
»4g_quality
总体 4G 信号质量
int
{"max":"5","min":"0","step":"1"}
0
»4g_uav_quality
天端 4G 信号质量
int
{"max":"5","min":"0","step":"1"}
飞行器端与 4G 服务器之间的信号质量
0
»4g_gnd_quality
地端 4G 信号质量
int
{"max":"5","min":"0","step":"1"}
地面端(如遥控器、DJI Dock等)与 4G 服务器之间的信号质量
0
»sdr_freq_band
SDR 频段
float
0
»4g_freq_band
4G 频段
float
0
media_file_detail
媒体文件上传细节
struct
r
0
»remain_upload
待上传数量
int
0
job_number
机场累计作业次数
int
{"unit_name":"次 / count"}
r
0
drone_in_dock
飞行器是否在舱
enum_int
{"0":"舱外","1":"舱内"}
r
0
network_state
网络状态
struct
r
0
»type
网络类型
enum_int
{"1":"4G","2":"以太网"}
0
»quality
网络质量
enum_int
{"0":"无信号","1":"差","2":"较差","3":"一般","4":"较好","5":"好"}
0
»rate
网络速率
float
{"unit_name":"千字节每秒 / KB/s"}
0
supplement_light_state
补光灯状态
enum_int
{"0":"关闭","1":"打开"}
r
0
cover_state
舱盖状态
enum_int
{"0":"关闭","1":"打开","2":"半开","3":"舱盖状态异常"}
r
0
sub_device
子设备状态
struct
r
0
»device_sn
子设备序列号(SN)
text
0
»product_type
子设备枚举值
text
格式为 {domain-type-subtype}
0
»device_online_status
机场停机坪上的飞行器开机状态
enum_int
{"0":"关机","1":"开机"}
0
»device_paired
机场停机坪上的飞行器是否与机场对频
enum_int
{"0":"未对频","1":"已对频"}
0
flighttask_step_code
机场任务状态
enum_int
{"0":"作业准备中","1":"飞行作业中","2":"作业后状态恢复","3":"自定义飞行区更新中","4":"地形障碍物更新中","5":"任务空闲","255":"飞行器异常","256":"未知状态"}
r
0
mode_code
机场状态
enum_int
{"0":"空闲中","1":"现场调试","2":"远程调试","3":"固件升级中","4":"作业中"}
r
0
firmware_upgrade_status
固件升级状态
enum_int
{"0":"未升级","1":"升级中"}
r
1
firmware_version
固件版本
text
{"length":"64"}
r
1
latitude
纬度
double
{"max":"90","min":"-90","step":"0.01"}
r
0
longitude
经度
double
{"max":"180","min":"-180","step":"0.01"}
网关设备的经度
r
0
设备属性推送
Topic: thing/product/{device_sn}/state 状态数据:设备在状态变化时上报
Topic: thing/product/{device_sn}/osd 定频数据:设备将以 0.5HZ 的频率定时上报
Direction: up
API 说明:
负载属性上报是指飞行器挂载的负载的属性上报,如相机的属性上报。一个负载由负载索引唯一确定(负载索引:产品类型-子类型-挂载位置 {type-subtype-gimbalIndex}),type、subtype。数值请参考:产品支持,gimbalindex的对应关系请查看 航线文件格式中的wpml:payloadPositionIndex。
当前会涉及负载属性上报的协议有 网关设备的设备属性推送以及直播功能的直播能力更新。 对于设备属性推送,负载属性上报的内容为相机本身的信息,如 云台俯仰、偏航、横滚的角度等。对于直播能力更新,负载属性上报的内容更多为相机在直播时的能力,如最大可同时推流的码流数量。负载属性具体结构体请参考下文的example。需要注意遥控器的设备属性在一条消息体中上报,而机场的设备属性推送是分多条推送的。
Data:
data
消息内容
text
{}
内容可参考设备的设备属性
Example:
Topic: thing/product/{dock_sn}/state
Topic: thing/product/{dock_sn}/osd
{
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1667220873846,
"data": {
"job_number": 492,
"acc_time": 1859010,
"activation_time": 0,
"maintain_status": {
"maintain_status_array": [
{
"state": 0,
"last_maintain_type": 17,
"last_maintain_time": 0,
"last_maintain_work_sorties": 0
}
]
},
"working_voltage": 25440,
"working_current": 1120,
"backup_battery": {
"voltage": 26631,
"temperature": 27.9,
"switch": 1
},
"drone_battery_maintenance_info": {
"maintenance_state": 0,
"maintenance_time_left": 0
}
},
"gateway": "dock_sn"
} {
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"flighttask_step_code": 255,
"media_file_detail": {
"remain_upload": 0
},
"wireless_link": {
"4g_freq_band": 2.4,
"4g_gnd_quality": 0,
"4g_link_state": 0,
"4g_quality": 0,
"4g_uav_quality": 0,
"dongle_number": 0,
"link_workmode": 0,
"sdr_freq_band": 2.4,
"sdr_link_state": 0,
"sdr_quality": 0
}
},
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1667220881576,
"gateway": "dock_sn"
}{
"tid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp": 1667220916697,
"data": {
"network_state": {
"type": 2,
"quality": 0,
"rate": 5.0970001220703125
},
"drone_charge_state": {
"state": 0,
"capacity_percent": 100
},
"drone_in_dock": 1,
"rainfall": 0,
"wind_speed": 0,
"environment_temperature": 24,
"temperature": 24.9,
"humidity": 62,
"latitude": 22.907809968,
"longitude": 113.703482143,
"height": 34.174125671386719,
"alternate_land_point": {
"latitude": 22.907898319908661,
"longitude": 113.70347329676635,
"safe_land_height": 0,
"is_configured": 1
},
"first_power_on": 1631945855969,
"position_state": {
"is_calibration": 1,
"is_fixed": 2,
"quality": 5,
"gps_number": 6,
"rtk_number": 25
},
"storage": {
"total": 82045336,
"used": 51772
},
"mode_code": 1,
"cover_state": 0,
"supplement_light_state": 0,
"emergency_stop_state": 0,
"battery_store_mode": 1,
"alarm_state": 0,
"putter_state": 0,
"sub_device": {
"device_sn": "1581F5BKD225D00BP891",
"device_model_key": "0-67-0",
"device_online_status": 0,
"device_paired": 1
}
},
"gateway": "dock_sn"
}Topic: thing/product/{aircraft_sn}/state
Topic: thing/product/{aircraft_sn}/osd
{
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data": {
"52-0-0": {
"measure_target_altitude": 0,
"measure_target_distance": 591.70001220703125,
"measure_target_error_state": 1,
"measure_target_latitude": 0,
"measure_target_longitude": 0,
"payload_index": "52-0-0",
"version": 1
},
"activation_time": 1667935211,
"attitude_head": 41.7,
"attitude_pitch": 2.7,
"attitude_roll": 0,
"battery": {
"batteries": [
{
"capacity_percent": 95,
"firmware_version": "02.00.20.44",
"high_voltage_storage_days": 16,
"index": 0,
"loop_times": 137,
"sn": "4BUPJ99DAD009W",
"sub_type": 0,
"temperature": 33.3,
"type": 0,
"voltage": 24303
},
{
"capacity_percent": 85,
"firmware_version": "02.00.20.44",
"high_voltage_storage_days": 5,
"index": 1,
"loop_times": 82,
"sn": "4BUPJ9EDAD01CE",
"sub_type": 0,
"temperature": 32,
"type": 0,
"voltage": 24311
}
],
"capacity_percent": 90,
"landing_power": 0,
"remain_flight_time": 0,
"return_home_power": 0
},
"distance_limit_status": {
"distance_limit": 5000,
"state": 0
},
"elevation": 0,
"firmware_version": "05.01.0214",
"gear": 1,
"height": 38.417465209960938,
"height_limit": 120,
"home_distance": 0,
"horizontal_speed": 0,
"latitude": 0,
"longitude": 0,
"maintain_status": {
"maintain_status_array": [
{
"last_maintain_flight_time": 0,
"last_maintain_time": 0,
"last_maintain_type": 1,
"state": 0
},
{
"last_maintain_flight_time": 0,
"last_maintain_time": 0,
"last_maintain_type": 2,
"state": 0
},
{
"last_maintain_flight_time": 0,
"last_maintain_time": 0,
"last_maintain_type": 3,
"state": 0
}
]
},
"mode_code": 0,
"night_lights_state": 0,
"obstacle_avoidance": {
"downside": 1,
"horizon": 1,
"upside": 1
},
"position_state": {
"gps_number": 0,
"is_fixed": 0,
"quality": 0,
"rtk_number": 0
},
"storage": {
"total": 0,
"used": 0
},
"total_flight_distance": 0,
"total_flight_sorties": 0,
"total_flight_time": 0,
"track_id": "",
"vertical_speed": 0,
"wind_direction": 0,
"wind_speed": 0
},
"tid": "2d2040eb-23b0-43dc-b7ac-64838276c4ac",
"timestamp": 1670422793916,
"gateway": "dock_sn"
}设备属性设置
Topic: thing/product/{gateway_sn}/property/set
Direction: down
Data:
data
消息内容
text
{}
内容可参考设备的设备属性
Example:
{
"bid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data":{
"distance_limit_status": {"state": 1}
},
"tid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp":1643268212187
}Topic: thing/product/{gateway_sn}/property/set_reply
Direction: up
Data:
data
消息内容
text
{}
内容可参考设备的设备属性
Example:
{
"bid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data":{
"distance_limit_status": {
"state": {
"result": 0 // 0: 成功,1:失败,2:超时,0x123456 具体的错误原因码
}
}
},
"tid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp":1643268212187
}Last updated