产品和设备Topic的定义、使用和分类

您所在的位置:网站首页 什么叫pub 产品和设备Topic的定义、使用和分类

产品和设备Topic的定义、使用和分类

2023-10-14 17:09| 来源: 网络整理| 查看: 265

Topic是消息发布(Pub)者和订阅(Sub)者之间的传输中介。设备可通过Topic实现消息的发送和接收,从而实现服务端与设备端的通信。为方便海量设备基于Topic进行通信,简化授权操作,物联网平台定义了产品Topic类和设备Topic。本文介绍产品和设备Topic的定义、使用和分类。

Topic类定义

Topic类:产品维度的Topic,是同一产品下不同设备的Topic集合。一个ProductKey下有多个Topic类。一个Topic类对一个ProductKey下所有设备通用。

以下是Topic类的使用说明:

定义Topic类的功能。

Topic类格式以正斜线(/)开头并进行分层,区分每个类目。例如:/${productKey}/${deviceName}/user/update。

其中,${productKey}和${deviceName}两个类目为既定类目;后缀和前缀类目用于区分不同功能的消息。

${productKey}表示产品的标识符ProductKey。

在指定产品的Topic类中,需替换为实际的ProductKey值。

${deviceName}表示设备名称(DeviceName)。

在产品Topic类中,${deviceName}是该产品下所有设备的名称变量,不需要替换为实际设备名称。

定义Topic类的操作权限。发布:产品下设备可以往该Topic类对应的设备Topic发布消息。订阅:产品下设备可以订阅该Topic类对应的设备Topic,从而获取消息。发布和订阅:同时具备发布和订阅的操作权限。Topic定义

在产品Topic类基础上,使用具体的${productKey}/${deviceName}通配一个唯一的设备,与前缀、后缀类目组成的完整Topic,就是具体设备的Topic。

设备Topic与产品Topic类格式一致,区别在于Topic类中的变量${deviceName},在设备Topic中是具体的设备名称(DeviceName)。

例如产品a19mzPZ***下设备device1和device2的具体Topic如下:

/a19mzPZ****/device1/user/update。/a19mzPZ****/device2/user/update。

产品Topic类定义的功能和操作权限,会映射到具体的设备Topic。以下是设备Topic的使用说明:

具体的设备Topic可用于消息通信。重要 在进行上下行通信调试时,请确保指定的Topic具备对应的操作权限。指定的设备Topic只能被指定设备用于消息通信。

例如,Topic:/a19mzPZ****/device1/user/update归属于设备device1,只能被设备device1用于发布或订阅消息,而不能被设备device2用于发布或订阅消息。

您可管控单个设备的消息收发。

您可在物联网平台控制台对应实例下的设备列表页面,或在服务端调用DisableThing接口,禁用该设备;或在业务上管控发送给设备的消息。

生成设备Topic

设备Topic自动生成流程如下。

Topic在物联网平台控制台,创建产品。具体操作,请参见创建产品。

创建产品后,物联网平台为该产品预定义了Topic类,包含基础通信Topic、物模型通信Topic和自定义Topic。

您可在产品详情页面,单击Topic类列表页签,查看各功能及其Topic类。具体内容,请参见Topic分类和通信说明。您也可单击Topic类列表页签下的自定义Topic,为产品添加自定义Topic类。具体操作,请参见自定义Topic。

为产品添加设备。具体操作,请参见创建设备。添加设备后,产品的所有Topic类会自动映射到设备上,生成具体的设备Topic。产品Topic类定义的操作权限,会映射到具体的设备Topic。您无需单独为每个设备创建Topic。重要 设备端未完成订阅Topic功能开发,且未接入物联网平台前,设备详情页面的Topic列表页签不显示已订阅的设备Topic。您可选择以下方法,订阅具有订阅权限的设备Topic,使Topic列表显示已订阅的Topic。启动设备模拟器:设备在线后,物联网平台会自动订阅该设备下具有订阅权限的基础通信Topic和物模型通信Topic,您也可使用自定义Topic的上行指令调试功能,订阅自定义Topic。使用MQTT.fx模拟设备接入物联网平台:设备在线后,您可使用Subscribe功能,订阅设备Topic。请参见步骤3流程说明,开发设备端SDK,使设备接入物联网平台,并激活上线,完成设备Topic订阅。SubscribeTopic:模拟或开发设备接入物联网平台在线后,您可调用该接口订阅设备Topic。在进行上下行通信调试时,请确保指定的Topic具备对应的操作权限。

您可在产品详情页面的Topic类列表页签,查看Topic的操作权限。

开发设备,将设备联网上线,接入物联网平台。

设备端如需使用物联网平台的多种功能,并实现与物联网平台的通信,要先订阅相关的Topic,并开发具有发布权限Topic的通信逻辑。开发方法,请参见设备接入Link SDK文档中各功能开发的示例代码。

设备可通过发送SUB指令订阅指定Topic,实现从物联网平台获取消息。开发方法,请参见订阅Topic中订阅Topic的代码示例。

设备端C语言Link SDK 3.1、3.2和4.x版本已支持自动订阅Topic。支持的Topic列表,请参见自动订阅Topic说明。

重要 设备端可按需订阅物联网平台预定义的系统Topic(例如/sys/${productKey}/${deviceName}/thing/service/property/set),但不支持设备端直接使用/sys/${productKey}/${deviceName}/#订阅以/sys/${productKey}/${deviceName}为开头的全部系统Topic。设备可通过发送PUB指令给具有发布权限的Topic,向物联网平台发送消息。开发方法,请参见发布消息中发送消息的代码示例。

设备认证接入物联网平台的方法,请参见设备安全认证。

设备成功订阅Topic后,您可在物联网平台控制台,在对应实例下,选择设备管理 > 设备,单击设备对应的查看,进入设备详情页面,单击Topic列表页签,在已订阅Topic列表查看已订阅成功的所有Topic。

说明 设备可通过UNSUB指令,取消与指定Topic的订阅关系。取消成功后,该Topic从已订阅Topic列表中删除。通过设备Topic通信

设备接入物联网平台后,通信流程如下图所示:

通信流程通信方式说明设备发送消息到物联网平台设备通过具有发布权限Topic,向物联网平台发送消息。具体说明,请参见设备发送数据到物联网平台。

基于Topic传递数据的数据格式,请参见Alink协议下各功能的数据格式文档。

物联网平台流转数据到服务器物联网平台流转设备消息到企业服务器。具体操作,请参见配置AMQP服务端订阅和配置MNS服务端订阅。

您可使用规则引擎的云产品流转功能,通过数据流转规则将指定设备数据流转到消息服务(MNS)、云数据库RDS、表格存储、函数计算、时间序列数据库TSDB、云原生多模数据库Lindorm、DataHub、消息队列RocketMQ等云产品中。具体操作,请参见云产品流转(旧版)和云产品流转(新版)。

更多说明,请参见物联网平台流转数据到服务器。

基于Topic传递数据的数据格式,请参见数据格式。

服务器远程控制设备企业服务器调用物联网平台的云端API,向指定设备发送消息。具体说明,请参见服务器远程控制设备。物联网平台下发消息到设备在物联网平台控制台,可以直接通过已订阅的Topic,向指定设备下发指令,或发送消息。在监控运维 > 在线调试页面,可下发指令给设备,进行功能调试。具体操作,请参见功能调试。在设备详情页面的已订阅Topic列表中,单击已订阅的自定义Topic对应的发布消息,可通过该Topic从物联网平台发布一条消息到设备端。使用通配符的自定义Topic除外,具体信息,请参见带通配符的自定义Topic。设备与设备之间通信

将两端设备接入物联网平台,设备间的连接和通信请求都由物联网平台承担。您可以通过以下两种方式实现设备与设备间通信:

基于规则引擎的M2M设备间通信。基于Topic消息路由的M2M设备间通信。Topic分类和通信说明

物联网平台预定义的产品Topic类对应的设备Topic包含基础通信Topic、物模型通信Topic和自定义Topic三种类型,详细说明见下表。

类型Topic类及数据格式说明基础通信TopicOTA升级 设备OTA升级消息的Topic,包括设备上报OTA模块版本、物联网平台推送升级包信息、设备上报升级进度和设备请求获取最新升级包信息。设备标签上报设备标签的Topic,上报设备的部分信息,如厂商、设备型号等。时钟同步NTP服务同步请求和响应的Topic,解决嵌入式设备资源受限,系统不包含NTP服务,端上没有精确时间戳的问题。设备影子设备影子数据通过Topic进行流转,包括设备影子发布和设备接收影子变更。配置更新设备主动请求配置信息和物联网平台推送配置信息的Topic。

开发人员可在不用重启设备或中断设备运行的情况下,在线远程更新设备的系统参数、网络参数等配置信息。

广播广播Topic。调用云端API PubBroadcast向订阅了该Topic的所有设备发送广播消息,实现批量控制设备。物模型通信Topic属性上报各物模型功能的Topic。说明 在物联网平台,不可以调用Pub接口向物模型通信Topic发送消息。

在物联网平台的云端,通过物模型功能远程控制设备,请调用SetDeviceProperty或SetDevicesProperty设置设备属性值;调用InvokeThingService或InvokeThingsService调用设备服务。

属性设置事件上报服务调用自定义Topic自定义Topic类及格式系统默认提供了3个自定义Topic类。您可根据业务需求,自定义Topic类。

Topic类是一个Topic模板配置,编辑更新某个Topic类后,可能对产品下所有设备使用该类Topic通信产生影响。建议在设备研发阶段设计好,设备上线后不再变更Topic类。

使用限制

一个产品下的一个Topic类对应设备Topic的数量,即为该产品下已添加设备的数量。使用Topic通信的更多限制说明,请参见Topic相关的使用限制。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3