设备属性
设备属性列表
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)
Column | Name | Type | constraint | Description | accessMode | pushMode |
---|---|---|---|---|---|---|
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_quality | 直播码流的质量 | enum_int | {"0":"自动","1":"流畅","2":"高清","3":"超清"} | 0 | ||
»status | 直播状态 | enum_int | {"0":"未直播","1":"在直播"} | 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 | |||
longitude | 当前位置经度 | float | {"max":"180","min":"-180","unit_name":"度 / °"} | r | 0 | |
latitude | 当前位置纬度 | float | {"max":"180","min":"-180","unit_name":"度 / °"} | r | 0 | |
height | 绝对高度 | float | {"unit_name":"米 / m"} | 相对地球椭球面高度 | r | 0 |
capacity_percent | 剩余电量 | int | {"max":"100","min":"0","step":"1"} | r | 0 | |
firmware_version | 固件版本 | text | {"length":"64"} | r | 1 | |
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 |
设备属性推送
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:
Column | Name | Type | constraint | Description |
---|---|---|---|---|
data | 消息内容 | text | {} | 内容可参考设备的设备属性 |
»#{camera_index} | type-subtype-gimbalIndex | text | {} | gimbalIndex为相机位置,type、sub_type参考:产品支持 |
Example:
Topic: thing/product/{remote_controller_sn}/state
Topic: thing/product/{remote_controller_sn}/osd
{
"bid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data":{
"capacity_percent":0,
"latitude":0,
"live_status":{
"live_time":0,
"live_trendline":0,
"video_id":"",
"video_quality":65535
},
"longitude":0,
"transmission_signal_quality":0,
"wireless_link":{
"4g_freq_band":5.8,
"4g_gnd_quality":65535,
"4g_link_state":0,
"4g_quality":65535,
"4g_uav_quality":65535,
"dongle_number":0,
"link_workmode":1,
"sdr_freq_band":5.8,
"sdr_link_state":0,
"sdr_quality":65535
},
"wireless_link_state":{
"download_quality":0,
"frequency_band":0,
"upward_quality":0
}
},
"tid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp":1676434755031,
"gateway":"4LFCJCC001008S"
}
Topic: thing/product/{aircraft_sn}/state
Topic: thing/product/{aircraft_sn}/osd
{
"bid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"data":{
"43-0-0":{
"gimbal_pitch":0,
"gimbal_roll":0,
"gimbal_yaw":-103.7,
"measure_target_altitude":100,
"measure_target_distance":1256.800049,
"measure_target_error_state":1,
"measure_target_latitude":21.99849,
"measure_target_longitude":112.987933,
"payload_index":"43-0-0",
"version":1
},
"attitude_head":0,
"attitude_pitch":-0.5,
"attitude_roll":-0.1,
"battery":{
"batteries":[
{
"capacity_percent":90,
"firmware_version":"01.02.05.31",
"index":0,
"loop_times":131,
"sn":"xxxx",
"sub_type":0,
"temperature":23.1,
"type":0,
"voltage":49032
}
],
"capacity_percent":45,
"landing_power":5,
"remain_flight_time":0,
"return_home_power":10
},
"elevation":0,
"firmware_version":"04.00.0014",
"gear":1,
"height":100.020332,
"home_distance":0,
"horizontal_speed":0,
"latitude":22,
"longitude":113,
"mode_code":0,
"position_state":{
"gps_number":15,
"is_fixed":0,
"quality":5,
"rtk_number":0
},
"total_flight_distance":0,
"total_flight_time":0,
"vertical_speed":0,
"wind_direction":0,
"wind_speed":0
},
"tid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"timestamp":1643268212187,
"gateway":"xxxxx"
}