检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
入门指引 IoTDA服务支持设备使用MQTTS/MQTT协议接入平台并进行消息收发,本文分别以MQTT.fx和Java SDK为例介绍设备基于MQTTS/MQTT协议进行消息收发的流程。 操作流程 图1 操作流程 父主题: 设备快速接入—消息收发
注册设备 在使用IoTDA进行收发消息前,您需要创建产品和设备。 访问设备接入服务,单击“控制台”进入设备接入控制台。选择左侧导航栏“IoTDA实例”,单击您需要的实例卡片进入实例。 创建产品。单击左侧导航栏“产品”,单击页面左侧的“创建产品”。根据页面提示填写参数,然后单击“确定”,完成产品的创建。
设备消息上报通知 功能介绍 应用服务器在调用物联网平台的创建规则触发条件(Resource:device.message,Event:report)、创建规则动作、修改规则触发条件接口配置并激活规则后,当设备上报消息数据时,物联网平台会向应用服务器推送通知消息。 URI POST
图1 设备属性上报 使用场景 设备端及应用端需要平台进行转换、管理、缓存的数据。 需要通过数据转发规则转发到华为云其他云服务上进行存储和处理的场景。 使用限制 单个消息内容不大于64KB。 需要设置产品模型,数据内容需要与产品模型中定义的属性相匹配。 网关上报子设备属性时一次最大可上报子设备数量为100个。
设备Topic策略概述 概述 设备策略主要用于对发布/订阅的非$oc开头自定义topic中的数据进行传输限制。通过灵活访问的控制模型,提供了基于用户角色的访问控制,能够管理客户端发布/订阅主题的授权。借助策略功能,可以用于管理一个或多个设备/产品/群组发布、订阅的权限,以保证非$
是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 表3
设备消息状态:将设备和平台之间流转的设备消息状态变更设置为转发目标。设备消息状态详见这里。当数据来源选择“设备消息状态”,不支持快速配置。 设备状态:将归属在某个资源空间下的直连或非直连设备状态变更转发至其他服务。单击“快速配置”,您可以转发设备状态为“在线”、“离线”和“异常”的设备信息到其他服务。物联网平台直连设备状态详见这里。
设备鉴权成功后,发起广播Topic订阅,广播Topic必须为“$oc/broadcast/”前缀,样例如下: $oc/broadcast/test 应用服务器下发广播消息,指定Topic名称和消息内容。 POST https://{Endpoint}/v5/iot/{project_id}/broadcast-messages
制的轨迹地图与真实轨迹不符。 上行消息保序 在需要上行消息保序的场景,可以参考如下图的方案进行设计: 设备-平台:设备侧上报消息时,Qos值设置为1,上报消息A后,等收到消息A的Qos响应后,再依次上报消息B和消息C,从而保证设备与平台侧的消息上行保序。 平台-应用:IoTDA配
数据转发至华为云服务 数据转发至DIS 数据转发至RocketMQ 数据转发至GeminiDB Influx 数据转发至Kafka存储 数据转发至FunctionGraph函数工作流 数据转发至MySQL存储 数据转发至OBS长期存储 数据转发至BCS可信上链 数据转发至MongoDB存储
)。 主题中“/”分隔符不超过7个。 若发布、订阅的主题不符合以上限制,会直接拒绝本次订阅/发布请求。在设备“详情页面>消息跟踪”中可以看到报错。 图1 消息跟踪-策略校验 父主题: 设备Topic策略
和其他服务的关系 设备发放服务与其他服务的关系如表1所示。 表1 与其他服务的关系列表 交互功能 相关服务 位置 创建设备时,需要使用设备接入服务创建的产品 设备接入服务(IoT Device Access,IoTDA) 创建产品 创建自定义策略时需要使用函数 函数工作流服务(FunctionGraph)
设备消息状态变更通知 功能介绍 应用服务器在调用物联网平台的创建规则触发条件(Resource:device.message.status,Event:update)、创建规则动作、修改规则触发条件接口配置并激活规则后,当设备消息状态变更时,物联网平台会向应用服务器推送通知消息。 URI
备连接鉴权。 订阅/发布消息:设备对云服务端进行主题发布或订阅。 策略鉴权:云服务端根据设备订阅/发布的Topic进行过滤,当该设备订阅的Topic被策略禁止,则响应失败ACK,订阅失败。若允许或未设定,则响应成功ACK,订阅成功。 设备侧发布成功的消息数据可通过数据流转推送到应用侧。
使用场景 设备端向自定义Topic发布消息;应用端通过数据转发功能实现数据平滑流转至消息中间件、存储、数据分析、业务应用。 应用端调用下发设备消息接口,向指定的自定义Topic发布消息。设备通过订阅该Topic,接收来自服务端的消息。 端到端通信、广播通信、设备迁移。 使用限制
ntent、event_time字段。 图1 创建数据库表样例 配置设备接入服务 在设备接入服务中创建产品模型、注册设备并设置数据转发规则,实现当设备上报数据时将数据转发至MySQL。 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。 选择
场景说明 将数据流转到RocketMQ云服务,兼容开源RocketMQ客户端。提供顺序、延迟、定时、重投、死信、事务消息等功能,更好的适配电商、金融等多样的业务场景。提供消息追踪、消息溯源、链路诊断、死信导出、监控告警等能力,帮助您全方面的了解服务状况,保证业务正常运行。 购买RocketMQ
支持这种使用方式。 设备操作权限 发布:设备侧消息上报时,可按配置中自定义的Topic进行消息上报;数据流转时,设备消息中会携带Topic参数标识该消息从哪个Topic上报。 订阅:应用侧消息下发时,可在消息内容中指定Topic;消息发往设备时,可以根据指定的Topic下发。 发布和订阅:同时具备发布和订阅的权限。
报数据推送给应用服务器,由应用服务器进行保存;还可以选择让平台将设备上报数据转发给对象存储服务(OBS),由OBS进行存储。 本示例为将所有设备上报的数据转发至OBS存储。 创建OBS桶 登录华为云官方网站,访问对象存储服务。 单击“进入控制台”进入对象存储服务管理控制台。 单击
登录华为云,访问对象存储服务OBS,进入对象存储服务管理控制台。 单击“创建桶”,按照需求选择桶规格,单击“立即创建”。 单击“桶列表”,单击进入刚刚创建的桶,单击“新建文件夹”,完成OBS桶创建。 登录华为云官方网站,访问数据接入服务DIS。 单击“管理控制台”进入数据接入服务管理控制台。