數據點topic 簇

MQTT物聯網套件支援用戶以數據流-數據點模型(模型詳情)將數據上載至平台並進行存儲,設備可以通過數據點topic簇調用數據點存儲服務存儲數據,可以通過訂閱系統topic獲取數據處理結果通知,如下圖所示:

數據點topic 簇topic 列表如下:

系統topic 用途 QoS 可訂閱 可發佈
$sys/{pid}/{device- name}/dp/post/json 設備上載數據點 01
$sys/{pid}/{device- name}/dp/post/json/accepted 系統通知"設備上載數據點成功" 0
$sys/{pid}/{device- name}/dp/post/json/rejected 系統通知"設備上載數據點失敗" 0

設備數據點上載

設備可以通過向系統固定topic:$sys/{pid}/{device-name}/dp/post/json發送數據點存儲消息,消息中payload欄位數據內容僅支援json格式,示例如下:

{
    "id": 123,        
    "dp": {             
        "temperatrue": [{     
            "v": 30,       
            "t": 1552289676
        }],
        "power": [{     
            "v": 4.5,        
            "t": 1552289676 
        }],
        "status": [{
                "v": {
                    "color": "blue"
                },
                "t": 1552289677
            },
            {
                "v": {
                    "color": "red"
                },
                "t": 1552289678
            }
        ]
    }
}

其中,參數說明如下:

參數 類型 是否必填 說明
id int Yes 消息ID,大於0的整數,數值範圍為,4位元組有符號數取值範圍
dp object Yes 數據點內容,key-value格式,key為數據流名稱,value為list格式的一個或者多個數據點值 上例中向temperatrue、power、status三個數據流中上載帶時間戳記的數據
v Yes 數據點值,可以為int/float/string/object多種格式
t int No 數據點時間戳記,unix時間,單位為秒,若不攜帶,則系統將以數據到達平台時間作為其數據時間

設備數據點上載,支援QoS1,若publish QoS=1,則平台回復publish ack

平台通知上載結果

消息處理完成後,平台通過系統topic 向設備發送上載結果通知,若設備訂閱了該topic,則能收到該消息

當上載數據處理成功時

返回消息至:$sys/${pid}/${device-name}/dp/post/json/accepted

數據格式為:

{
    "id": 123              //对应数据上报时的消息ID
}

當上載數據處理失敗時

返回消息至:$sys/${pid}/${device-name}/dp/post/json/rejected

若不能成功解析合法id,錯誤時,返回數據格式為:

{
    "id": -1,             
    "err_code": 98,
    "err_msg":"Illegal Data"
}

若能成功解析合法id,由其他格式問題導致的錯誤,返回數據格式為:

{
    "id": 123,            
    "err_code": 98,
    "err_msg":"Illegal Data"
}

錯誤碼

上載數據處理失敗時,錯誤碼如下:

錯誤碼 err_code 錯誤消息 err_msg 說明
98 Illegal Data payload格式有誤,平台解析失敗

更多幫助

了解設備上載數據點的最佳實例

个搜索结果,搜索内容 “

    0 个搜索结果,搜索内容 “