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:44:26

1. SDK

详情请参见 SDK 文档。目前支持 Linux、Android 平台的设备 SDK、并支持移植到不同的硬件平台 。

2. 设备接入

设备通过 SDK 接入腾讯物联网通信平台:
应用层基于 MQTT、CoAP 协议。
传输层基于 TCP、UDP 协议,并在此基础上引入安全网络传输协议(TLS、DTLS),实现客户端和服务器端的双向鉴权、数据加密传输。
SDK 支持 RTOS 移植能力,跨平台移植,框架抽离硬件平台抽象层,可基于不同平台快速、轻松接入物联网通信。
设备 SDK 支持 TLS(对应 MQTT)、DTLS(对应 CoAP)的非对称和对称加密两种鉴权方式,保护设备通信安全:
非对称加密 安全级别高,基于证书、非对称加密算法,适用于硬件规格较高、对功耗不是很敏感的设备。依赖设备证书、私钥,根证书等信息,在物联网通信创建设备时,会返回相关信息。
对称加密 安全级别普通,基于密钥、对称加密算法,适用于资源受限、对功耗敏感的设备。依赖于设备 psKey ,在物联网通信创建设备时,会返回相关信息。
除设备 SDK 接入外,腾讯物联网通信还提供 HTTP 接入,接入协议门槛低,适用低功耗、短连接的数据上报场景。

3. 设备管理


img


一个腾讯云账号下,最多可以创建2000个产品,每个产品下最多创建100万台设备。一个设备只能隶属于一个产品。产品名和设备名在同一云账号下唯一。
提供设备的启用/禁用功能。设备被禁用后将不能接入物联网通信平台,将无法执行与设备有关的操作,但与设备相关联的信息依然保留,仍可查询设备相关信息。

4. 权限管理

在腾讯物联网通信,设备能够发布和订阅的 Topic 受到严格管理。一个产品下的所有设备具备相同的 Topic 类 权限,默认包括:
Topic
说明
${productId}/${deviceName}/event
发布权限,用于设备上报数据
${productId}/${deviceName}/control
订阅权限,用于设备获取后台下发的数据
上述$符包含的 productId、deviceName,针对具体创建的设备,将映射为具体的产品 Id 和设备名字。举例,一个产品名字为 pro 的产品(假设产品Id是“pro_id”)下有2个设备(假设设备名字分别为 “dev_1”、“dev_2”),那么 dev_1 可以发布的 Topic 包括 pro_id/dev_1/event,可以订阅的 topic 包括 pro_id/dev_1/control,但是不可以发布 pro_id/dev_2/event,不可以订阅 pro_id/dev_2/control。
用户可以通过控制台进行 Topic 权限的编辑修改、增删产品的 Topic 类权限。
为了方便设备 SDK 订阅批量的 Topic ,设备进行订阅和取消订阅时可以使用通配符来表示多个符合的 Topic :
通配符
描述
#
此通配符只能出现在 topic 的最后,代表本级以及所有子级 Topic ,例如,通配符 Topic 为 pro_id/dev_1/# ,这不仅可以代表 pro_id/dev_1/event ,也可以代表 pro_id/dev_1/event/subeventA
+
代表本级所有 topic ,只能出现在 deviceName 后,例如通配符 topic 为 pro_id/dev_1/event/+,可以代表 pro_id/dev_1/event/subeventA,又可以代表 pro_id/dev_1/event/subeventB,但不能代表 pro_id/dev_1/event/subeventA/close。可以出现多次,如 pro_id/dev_1/event/+/subeventA/+
通配符必须作为完整的一级,${productId}/${deviceName}/e# 和 ${productId}/${deviceName}/e+ 都是非法格式。 腾讯物联网通信定义的系统主题($shadow,$ota,$sys)不支持通配符。
增加订阅时通配符的表现为:对通配符 Topic 匹配到的该产品下有订阅权限的 Topic 进行订阅,若匹配到的 Topic 列表为空也返回成功。
取消订阅时通配符的表现为:对通配符 Topic 匹配到的已订阅的 Topic 进行取消订阅,若匹配到的 Topic 列表为空也返回成功。${productId}/${deviceName}/# 为清除所有用户主题的订阅。

5. 消息管理


img


对于 MQTT 的数据传输,腾讯物联网通信支持 QoS=0 或 1,但不支持 QoS=2。基于 MQTT 协议。设备消息支持离线存储。
QoS=0,最多只往设备发一次 对数据传输可靠性要求一般的场景,请在 Publish、Subscribe 时选择这个 QoS。
QoS=1,至少让设备收到一次 对数据传输可靠性要求高的场景,请在 Publish、Subscribe 时选择这个 Qos。
其他参数见下表:
参数
说明
topic 名字长度
不超过64字节
MQTT 协议包大小
不超过16K字节
QoS=1 的消息存储时长(接收方离线或在线发不通)
24小时
未被设备确认的 QoS=1 消息数量
不超过150条

6. 设备影子

设备影子本质上是一份在服务器端缓存的设备数据(JSON 形式),主要用于保存:
设备的当前配置
设备的当前状态
作为中介,设备影子可以有效实现设备和用户应用之间的数据双向同步:
对于设备配置,用户应用不需要直接修改设备,只需要修改服务器端的设备影子,由设备影子同步到设备。即使当时设备不在线,设备上线后仍能从设备影子同步到最新配置。
对于设备状态,设备将状态上报到设备影子,用户应用查询时,只需查询设备影子即可。这样可以有效减少设备和服务器端的网络交互,尤其是低功耗设备。
下图是“快速开始”里设备影子的应用示例:

img


注意:
设备影子和设备消息的适用场景并不一样。从实现机制上来说,服务器端设备影子总是保存最后一份数据,而先后达到的多条消息并不会相互覆盖。
对于设备上报数据的场景,设备影子更适用于上报一些设备自身信息(如设备能耗),设备消息更适用于上报设备收集的数据(如测量的温度)
对于设备接收数据的场景,设备影子更适用于通知设备更新配置(如更改目标运行温度),设备消息更适用于设备的实时控制(如让设备向左转45度)
详情请参见 设备影子详情

7. 规则引擎

基于规则引擎,用户可以配置规则实现以下操作:
语法规则  支持类 SQL 语法和基础语义操作,可以通过简易的语法编写,实现对设备消息的内容解析和过滤提取、重新整合,进而转发到后端服务,无缝对接腾讯云后端的多种存储组件、函数计算、大数据分析套件等。
设备与设备互通  为了实现设备的数据隔离,设备只能发布和订阅自身的 Topic 消息(请参见 权限管理)。为了实现互通,需要基于规则引擎的 repub 功能。
设备与用户服务器互通 规则提供简单的 forward 功能,可以将消息通过 HTTP 请求抄送给用户服务器。实现设备消息与用户服务的快速互通能力。
设备与云服务互通 对于用户需要对设备数据进行进一步处理的场景(如持久化存储、大数据分析),腾讯云提供相应的产品(如云数据库、大数据分析套件)。 详情请参见 规则引擎详情

8. 消息队列

作为设备的唯一接口,物联网通信平台支持将设备指定消息写入腾讯云 CMQ、CKafka 消息队列,第三方服务可通过 CMQ、CKafka 的 SDK 接口获取设备消息,从而打通实现与设备的异步消息通信。在此基础上完成后端的数据存储、计算分析或设备控制逻辑。

9. 控制台

控制台提供了可视化的管理界面,支持产品管理、设备管理、权限管理、规则引擎配置等功能。您可以前往 物联网通信控制台 进行体验。

10. 云 API

对于物联场景下对设备的管理流接口,提供后台快速、批量操作接口。当前支持 Python、PHP、Java、Go、NodeJS、.Net 工具包。目前腾讯物联网通信提供产品、设备、任务、消息、规则引擎、设备影子相关的 API,详细请参见云 API 概览。

11. 固件升级

支持 OTA 固件升级服务,当设备固件有安全隐患或者功能漏洞时,物联网服务端支持通过 OTA 升级,消除隐患,降低安全风险。

12. 协作管理

物联网通信平台支持通过 CAM 安全地访问、使用和管理云账号的资源。通过对子账号与协作者的身份管理和策略管理,来实现物联网通信资源的隔离与协作。

帮助和支持

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

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

文档反馈