tencent cloud

物联网通信

动态与公告
产品动态
产品简介
产品概述
产品功能
产品优势
应用场景
产品限制
基本概念
快速入门
快速开始
场景一:设备互通
场景二:设备状态上报与状态设置
MQTT.fx接入指南
控制台使用手册
产品管理
规则引擎
子账号访问IoT
固件升级
资源管理
证书管理
开发者手册
功能组件
签名方法
设备身份认证
设备接入协议
网关子设备
消息通信
设备影子
设备固件升级
设备远程配置
资源管理
设备日志上报
NTP服务
设备端接入手册
设备接入概述
基于C SDK接入
基于 Android SDK 接入
基于 Java SDK 接入
基于 Python SDK 接入
API 文档
History
Introduction
API Category
Making API Requests
Device Shadow APIs
Device APIs
CA Certificate APIs
Product APIs
Data Types
Error Codes
常见问题
一般性问题
设备接入和上报问题
规则引擎问题
控制台相关问题
IoT Hub 政策
隐私协议
数据处理和安全协议
词汇表

资源管理

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"
}

帮助和支持

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

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

文档反馈