设备状态推送

2022-07-07
暂无评分

设备状态推送指无人机所有硬件的状态,会通过DJI Pilot和机场上报给服务端,这些状态信息都包含在物模型的property属性中。

按照属性的数据特点,我们分成两类:状态类、定频类。设备通过以下 2个 topic 上报到云端。

  • thing/product/{pid}/state 状态数据。设备在状态变化时上报。
  • thing/product/{pid}/osd 定频数据。设备将以 0.5HZ 的频率定时上报。

具体设备属性列表请查看它的物模型文件。

Topic消息

设备按数据特点使用不同 topic 上报数据。但设备上报的消息体数据格式是一致的。

thing/product/{pid}/state

  • 设备开机后,上报所有状态类属性,只发送1次。
  • 任意属性值发生变化时,上报一次该属性值变化。
  • 服务端需要订阅 thing/product/{pid}/state topic 消息,才能拿到state变化的消息。

thing/product/{pid}/osd

  • 设备上线后将按固频率上报定频类属性。
  • 每次上报会包含所有定频类的所有属性。

字段说明

参数必填类型说明
tidstring
bidstring
timestampint
gatewaystring
dataobject

数据格式示例

{
    "bid":"00000000-0000-0000-0000-000000000000",
    "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":"00000000-0000-0000-0000-000000000000",
    "timestamp":1643268212187,
    "gateway":"xxxxx"
}