tencent cloud

文档反馈

功能组件

最后更新时间:2021-09-10 10:40:19

    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
    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 安全地访问、使用和管理云账号的资源。通过对子账号与协作者的身份管理和策略管理,来实现物联网通信资源的隔离与协作。

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持