检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
订阅推送的示意图如下图所示: 推送机制:物联网平台向用户推送Qos0的消息,如果用户未建链或者建链后未订阅Topic,等达到或超过最大缓存时长(最近24H)或最大缓存大小(1GB),物联网平台会滚动清除超期和超出容量限制的数据。 如何进行数据订阅 在物联网平台创建规则、添加转发目标为MQTT消息队列后实现数
时处理的流转数据会积压(缓存)在IoT物联网平台。目前IoT物联网平台默认配置单个转发规则流转数据的最大积压(缓存)大小为1GB,最大积压(缓存)时间为24小时,超过最大积压(缓存)大小或积压(缓存)时间时,最早未被处理的流转数据会被丢弃直至满足积压(缓存)大小和时间限制。 客户
Paho、使用Java语言编写的MQTT客户端。支持Windows、Mac和Linux操作系统,可用于模拟设备通过MQTTS/MQTT协议连接华为云IoTDA并通过Topic发布和订阅消息。本文以Windows系统为例,介绍如何使用MQTT.fx接入华为云IoTDA并进行消息收发。
相关API接口 下发设备消息 平台消息下发 消息缓存下发使用说明 消息下发是平台向设备直接下发消息的一种方式。消息下发具有缓存特性,当设备不在线时,平台会对下发的消息进行缓存,直到设备上线。 以下使用系统Topic进行设备消息缓存下发说明: 图1 消息缓存下发流程 应用侧或平台用下发设备消息
在证书管理服务创建根CA证书 根据云证书管理服务的指导说明,在云证书管理服务控制台创建根CA证书。 添加自定义策略 图1 添加自定义策略 新增注册组 图2 新增注册组 图3 添加云证书自定义策略注册组 创建并下载设备证书 图4 创建云证书注册组设备证书 图5 创建云证书注册组设备证书详情
} } ] } HTTPS:通过属性上报接口HTTP协议属性上报上报数据到物联网平台,其中access_token参考:HTTPS设备鉴权。HTTPS属性上报样例如下: POST https://{endpoint}/v5/devices/{d
置CA证书;对于使用MQTT非安全协议接入的设备,无需在设备侧预置CA证书。 使用MQTT(S)协议-密钥接入的鉴权流程 图1 MQTT(S)协议-密钥接入鉴权流程图 通过调用注册接口向物联网平台发送注册请求或者在控制台上注册设备。 注册时需要填写设备标识码,通常使用MAC地址,Serial
如果建立MQTTS连接,需要加载服务器端SSL证书,需要添加SocketFactory参数。DigiCertGlobalRootCA.jks在demo的resources目录下,是设备校验平台身份的证书,用于设备侧接入物联网平台登录鉴权使用,可以在资源获取中下载证书文件。 1 options.
整体流程 在证书管理服务创建根CA证书 根据云证书管理服务的指导说明,在云证书管理服务控制台创建根CA证书。 添加证书策略 采用华为云证书认证的设备,三种策略都支持引导,以“证书策略”为例,在“设备发放”创建对应“华为云证书”的证书策略。 图1 添加证书策略 图2 添加云证书策略详情
数据下发 描述 适用场景 设备影子 同步或异步 平台是否缓存 支持协议(设备侧) 物模型 消息下发 平台向设备直接下发消息,不依赖产品模型。提供给设备的单向通知,具有消息缓存功能,若设备不在线,则在设备上线后发送数据(支持配置,最长缓存时间24小时)。 设备无法按照产品模型中定义的格式
MQTT(S)协议-证书鉴权 概述 MQTT(S)协议-证书鉴权是指在设备接入物联网平台前,用户通过控制台上传设备CA证书,然后应用服务调用创建设备接口或通过控制台在物联网平台注册设备,获取设备ID。在设备接入物联网平台时携带设备侧X.509证书(一种用于通信实体鉴别的数字证书),完成设备的接入鉴权。
cn_name String CA证书CN名称。 owner String CA证书所有者。 status Boolean CA证书验证状态。true代表证书已通过验证,可进行设备证书认证接入。false代表证书未通过验证。 verify_code String CA证书验证码。 provision_enable
String CA证书ID,在上传CA证书时由平台分配的唯一标识。 cn_name String CA证书CN名称。 owner String CA证书所有者。 status Boolean CA证书验证状态。true代表证书已通过验证,可进行设备证书认证接入。false代表证书未通过验证。
MQTT协议中CONNECT消息的设备证书信息。 表5 certificate_info证书信息 参数名称 参数类型 是否必选 描述 common_name String 是 设备携带设备证书时,从设备证书中解析的commonName信息。 fingerprint String 是 设备携带设备证书时,从设备证书中解析的指纹信息。
的UTC字符串。 status 否 String 参数说明:下发命令的状态。 PENDING表示未下发,在物联网平台缓存着 EXPIRED表示命令已经过期,即缓存的时间超过设定的expireTime SENT表示命令正在下发 DELIVERED表示命令已送达设备 SUCCESSFUL表示命令已经成功执行
该场景为最通用的场景,设备将数据上报到IoT平台,IoT平台对设备进行管理,同时针对不同的事件类型,会将数据推送到用户应用,同时应用可以将命令下发到IoT平台,平台可以缓存/实时下发命令给设备。 图1 设备 + IoT平台 + 应用 设备 + IoT平台 + 华为云其他云服务 该场景为数据流转场景,设备将数据
类型、设备软固件版本信息等。用户也可通过调用修改设备接口修改设备的基本信息。 设备标识码(nodeId),设备唯一物理标识,如IMEI、MAC地址等,用于设备在接入物联网平台时携带该标识信息完成注册鉴权。 设备ID(deviceId),用于唯一标识一个设备,在注册设备时由物联网平
“-days”后的参数值指定了该证书的有效天数,此处示例为50000天,您可根据实际业务场景和需要进行调整。 上传并验证CA证书 登录设备发放控制台,进入“证书”界面,单击右上角“上传CA证书”,填写“证书名称”并上传上述“制作CA证书”步骤后生成的“CA证书(rootCA.crt文件)”,单击“确定”。
获取生成的CA证书(rootCA.pem)。 上传验证证书 如果上传的是调测证书,上传后证书状态显示为“未验证”,您需要上传验证证书,来证明您拥有该CA证书。 图2 设备CA证书-未验证证书 验证证书是由设备CA证书对应的私钥创建的,请参考如下操作制作验证证书。 执行如下命令为私有密钥验证证书生成密钥对。
该指令用于设置服务器或者客户端证书。 指令 参数 参数缺省处理 AT响应结果 使用示例 AT+HMPKS =type, para1,[para2] type=0,表示平台证书,证书在para1中。 type=1,表示设备公钥证书,证书在para1中。 type=2,表示设备私钥证书,证书在para1中,密码在para2中。