tencent cloud

物联网通信

资源管理

PDF
聚焦模式
字号
最后更新时间: 2024-12-27 15:54:13

功能概述

资源管理主要是用于设备与平台之间,进行资源互传。实现此类功能需利用如下两个 Topic:
数据上行 Topic(用于发布):$resource/up/service/${productid}/${devicename}
数据下行 Topic(用于订阅):$resource/down/service/${productid}/${devicename}

设备资源上传

步骤1:设备端创建资源上传任务

1. 设备端通过 MQTT 协议发布一条消息到 $resource/up/service/${productid}/${devicename},进行创建设备资源上传任务,消息为 json 格式,内容如下:
{
"type":"create_upload_task",
"size":100,
"name":"zxc",
"md5sum":"************",
}
2. 创建成功,后台通过 $resource/down/service/${productid}/${devicename} 返回资源上传的链接,消息为 json 格式,内容如下:
{
"type":"create_upload_task_rsp",
"size":100,
"name":"zxc",
"md5sum":"************",
"url":"https://iothub.cos.ap-guangzhou.myqcloud.com/********"
}

步骤2:上报资源上传进度

1. 资源上传使用 HTTP PUT 请求,所以 header 需要添加 MD5 值(base64 编码)。资源上传过程中,设备端通过 $resource/up/service/${productid}/${devicename} 上报资源上传进度,消息为 json 格式,内容如下:
{
"type":"report_upload_progress",
"name":"zxc",
"progress":{
"state":"uploading",
"percent":89,
"result_code":0,
"result_msg":""
}
}
2. 进度上报响应,通过 $resource/down/service/${productid}/${devicename} 下发给设备,消息为 json 格式,内容如下:
{
"type":"report_upload_progress_rsp",
"result_code":0,
"result_msg":"ok"
}

平台资源下发

步骤1:查询资源下载链接

1. 设备端通过 $resource/up/service/${productid}/${devicename} 上报消息,查询下载任务,消息为 json 格式,内容如下:
{
"type":"get_download_task"
}
2. 如果存在下载任务,则通过 $resource/down/service/${productid}/${devicename} 下发结果,消息为 json 格式,内容如下:
{
"type":"get_download_task_rsp",
"size":372338,
"name":"AAAA",
"md5sum":"a567907174*****3bb9a2bb20716fd97",
"url":"https://iothub.cos.ap-guangzhou.myqcloud.com/********"
}

步骤2:上报资源下载进度

1. 资源下载进度通过 $resource/up/service/${productid}/${devicename} 进行上报,消息为 json 格式,内容如下:
{
"type":"report_download_progress",
"name":"zxc",
"progress":{
"state":"downloading",
"percent":89,
"result_code":0,
"result_msg":""
}
}
2. 进度上报响应,通过 $resource/down/service/${productid}/${devicename} 下发给设备,消息为 json 格式,内容如下:
{
"type":"report_download_progress_rsp",
"result_code":0,
"result_msg":"ok"
}

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈