2024基于MQTT的配电物联网通信协议_第1页
2024基于MQTT的配电物联网通信协议_第2页
2024基于MQTT的配电物联网通信协议_第3页
2024基于MQTT的配电物联网通信协议_第4页
2024基于MQTT的配电物联网通信协议_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

II目  次1范围 12规范性引用文件 13术语和定义 14符号、代号和缩略语 25一般原则 26消息结构 127应用传输过程参考 23附录A(规范性附录)QoS对应表 34附录B(规范性附录)命令对应表 35附录C(规范性附录)错误码对应表 36基于MQTT的配电物联网通信协议范围本协议规定了配电物联网平台和边设备之间采用的面向对象具有互操作性的数据传输协议,包括通信体系架构、应用数据结构以及应用传输过程。同时对数据传输的帧格式、数据编码及传输规则作出了相应规定。本部分适用于点对点、多点共线及一点对多点的通信方式,适用于云主站对边设备执行消息订阅/发布方式的通信。规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T16262.1-2006信息技术抽象语法记法(ASN.1)第1部分基本记法规范GB/T17966-2000微处理器系统的二进制浮点运算DL/T645-2007多功能电能表通信协议DL/T860变电站通信网络和系统DL/T634.5101远动设备及系统第5-101部分DL/T634.5104远动设备及系统第5-104部分Q/GDW1376电力用户用电信息采集系统通信协议Q/GDW1939电力无线传感网络信息安全技术规范[ISO/IECPRF20922]消息队列遥测传输协议(MQTT,v3.1.1)[rfc7252]受限应用协议(CoAP)术语和定义下列术语和定义适用于本文件。MQTT发布者Publisher发布者是从客户端向服务端主动发送消息,或从服务端向客户端主动发送消息的一方。MQTT订阅者Subscriber订阅者是订阅以请求接收相关的应用消息,取消订阅以移除接收应用消息的一方。MQTT代理MQTT-Broker MQTT代理是接收来自客户端的网络连接,接收客户端发布的应用消息,处理客户端的订阅请求。主题名Topic标注应用程序消息的标签。消息体PayloadMQTT数据包中的具体内容。符号、代号和缩略语下列符号、代号和缩略语适用于本文件。MQTT:消息队列遥测传输协议(MessageQueueingTelemetryTransportProtocol)CoAP:受限应用协议(ConstrainedApplicationProtocol)DDS:面向实时系统的数据分布服务(DataDistributionServiceforReal-TimeSystems)HTTP:超文本传输协议(HyperTextTransferProtocol)一般原则体系架构本标准定义了配电物联网通信协议中对MQTT协议的使用。从端设备可以直接经MQTT与云主站通信,也可经本地组网到边设备后再经MQTT与云主站通信,体系架构如图5-1所示。图5-1配电物联网通信网络拓扑结构示意图规约结构本标准明确了配电物联网通讯协议中MQTT协议在ISO七层体系中所属位置以及协议栈数据结构如表5-1所示与图5-2所示。本标准采用的TCP/IP传输集与定义在其他相关标准中的相同,没有变更。表5-1MQTT规约结构应用功能用户进程MQTT应用层(第7层) TCP/IP协议传输层(第4层)网络层(第3层) 802.3、4G/5G、NB-IoT等协议链路层(第2层)物理层(第1层)注:第5,第6层未用图5-2MQTT协议栈数据结构交互机制MQTT协议采用发布/订阅机制来完成消息交互,该机制能够提供一对多消息分发,其交互机制如图5-3所示,在信息交互过程中,MQTT协议将参与方划分为三种身份,分别是:发布者、代理和订阅者。其中,消息的发布者和订阅者都是客户端,消息的代理是服务器端。图5-3边设备发布订阅流程图MQTT客户端MQTT客户端定义为使用MQTT协议的设备或应用程序,它具备以下功能:a)发布其他客户端可能会订阅的信息b)订阅其它客户端发布的消息c)退订或删除应用程序的消息d)断开与服务器端的连接MQTT服务器端MQTT服务器端定义为位于客户端之间,处理客户端请求,并转发客户端消息的设备或应用程序,它具备以下功能:a)接受来自客户端的网络连接b)接受客户端发布的应用信息c)处理来自客户端的订阅和退订请求d)向订阅的客户端转发应用程序消息数据包结构在MQTT协议中,一个MQTT数据包由:固定报文头、可变报文头、消息体三部分构成。MQTT数据包结构如表5-2所示:表5-2MQTT数据包结构示意图固定报文头可变报文头消息体a)固定报文头:存在于所有MQTT数据包中,表示数据包类型及数据包的分组类标识。b)可变报文头:存在于部分MQTT数据包中,数据包类型决定可变报文头是否存在及其具体内容。c)消息体:存在于部分MQTT数据包中,表示客户端收到的具体内容。d)MQTT传输的消息体可分为两部分,分别为:主题和消息体。e)主题:即消息的类型,订阅者订阅后,就会收到该主题的消息体;f)消息体:即消息的内容,是指订阅者具体要使用的数据。固定报文头固定报文头存在于所有MQTT数据包中,其结构如表5-3所示:表5-3MQTT数据包结构Bit地址76543210Byte1MQTT数据包类型标识位Byte2-5剩余长度a)MQTT数据包类型该位域是一个4bit无符号值,其类型,取值,描述如表5-4所示:表5-4MQTT数据包类型定义名称取值流方向描述Reserved0不可用保留CONNECT1客户端到服务器端客户端请求连接到服务器端CONNACK2服务器端到客户端连接确认PUBLISH3双向发布消息PUBACK4双向发布确认PUBREC5双向发布收到(保证第1部分到达)PUBREL6双向发布释放(保证第2部分到达)PUBCOMP7双向发布完成(保证第3部分到达)SUBSCRIBE8客户端到服务器端客户端请求订阅SUBACK9服务器端到客户端订阅确认UNSUBSCRIBE10客户端到服务器端请求取消订阅UNSUBACK11服务器端到客户端取消订阅确认PINGREQ12客户端到服务器端PING请求PINGRESP13服务器端到客户端PING应答DISCONNECT14客户端到服务器端中断连接Reserved15不可用保留b)标识位标识位必须按照下表所示的值进行设置。如果收到无效的标志时,接收端必须关闭网络连接。表5-5MQTT数据包标识位定义数据包标识位Bit3Bit2Bit1Bit0CONNECT保留位0000CONNACK保留位0000PUBLISHMQTT3.1.1中使用DUP1QoS2QoS2RETAIN3PUBACK保留位0000PUBREC保留位0000PUBREL保留位0010PUBCOMP保留位0000SUBSCRIBE保留位0010SUBACK保留位0000UNSUBSCRIBE保留位0010UNSUBACK保留位0000PINGREQ保留位0000PINGRESP保留位0000DISCONNECT保留位0000DUP1:发布消息的副本,用来在保证消息的可靠传输。若设置为1,则在下面的变长中增加MessageId,并且需要回复确认,以保证消息传输完成。QoS2:发布消息的服务质量。RETAIN3:发布保留标识,表示服务器要保留这次推送的信息。c)剩余长度剩余长度用于指示可变报文头和消息体的总大小,该位域字节的前7位用于指示长度,当最高位为1时,说明还有后续字节用于指示长度,最多支持4个字节(最大长度为256MB)。由于国网的安全组网中的安全接入网关有64KB最大报文长度的限制,和实际业务考虑,所以约定MQTT报文的最大长度为:60KB;可变报文头部分MQTT数据包中包含一个可变报文头,它位于固定报文头与消息体之间,内容形式由固定报文头中的数据包类型字段决定,它们之间的对应关系如表5-6所示:表5-6数据包类型与可变报文内容形式对应关系表数据包类型可变报文头类型CONNECT类型1CONNACK类型2PUBLISH类型3PUBACK类型4PUBREC类型4PUBREL类型4PUBCOMP类型4SUBSCRIBE类型4SUBACK类型4UNSUBSCRIBE类型4UNSUBACK类型4PINGREQ无PINGRESP无DISCONNECT无a)类型1类型1的可变报文头格式如表5-7所示:表5-7可变报文头位域定义(类型1)位域信息76543210协议名称byte1LengthMSB(0)00000000byte2LengthLSB(4)00000100byte3‘M’01001101byte4‘Q’01010001byte5‘T’01010100byte6‘T’01010100协议层级byte7层级(4)00000100连接标识byte8连接标识位UserNameFlagPasswordFlagWillRetainWillQoSWillFlagCleanSessionReserved心跳时长byte9心跳时长MSBXXXXXXXbyte10心跳时长LSBXXXXXXXb)类型2类型2的可变报文头格式如表5-8所示:表5-8可变报文头位域定义(类型2)位域描述76543210连接确认标识ReservedSP1byte10000000X连接返回码byte2XXXXXXXXc)类型3类型3的可变报文头格式如表5-9所示:表5-9可变报文头位域定义(类型3)位域描述76543210主题名称byte1长度MSBXXXXXXXXbyte2长度LSBXXXXXXXXbyte3-n主题名称XXXXXXXX数据包标识符byten+1数据包标识符MSBXXXXXXXXbyten+2数据包标识符LSBXXXXXXXXd)类型4类型4的可变报文头格式如表5-10所示:表5-10可变报文头位域定义(类型4)位域描述76543210数据包标识符byte1数据包标识符MSBXXXXXXXXbyte2数据包标识符LSBXXXXXXXX消息体MQTT数据包是否含有消息体是由固定报文头中的数据包类型决定的,其对应关系如表5-11所示:表5-11数据包类型与消息体的关系数据包类型消息体CONNECT有消息体CONNACK无PUBLISH可选PUBACK无PUBREC无PUBREL无PUBCOMP无SUBSCRIBE有消息体SUBACK有消息体UNSUBSCRIBE有消息体UNSUBACK无PINGREQ无PINGRESP无DISCONNECT无a)Connect消息体Connect报文的消息体格式如表5-12所示:表5-12Connect报文消息体格式字节数位域名称说明3-25客户标识使用UTF-8数据流格式3-32767遗愿主题(WillTopic)当connect报文设置了遗愿标识时,则有该内容,使用UTF-8数据流格式3-32767遗愿消息(WillMessage)当connect报文设置了遗愿标识时,则有该内容,使用UTF-8数据流格式3-32767用户名当connect报文设置了用户名标识时,则有该内容,使用UTF-8数据流格式3-32767密码当connect报文设置了密码标识时,则有该内容,使用UTF-8数据流格式其中,UTF-8数据流格式如表5-13所示;表5-13UTF-8数据流格式Bit76543210byte1字符长度MSBbyte2字符长度LSBbyte3-nUTF-8字符数据.b)PUBLISH消息体PUBLISH的消息体中包含了所属应用的信息,该部分的数据格式由所属的应用来定义,消息体的数据长度可以由固定报文头中的剩余长度来推算,消息体的长度也可以为0(即不含消息体)。c)SUBSCRIBE消息体SUBSCRIBE的消息体格式如表5-14所示:表5-14SUBSCRIBE的消息体格式位域描述76543210主题名称byte1长度MSBbyte2长度LSBbytes3..N主题名称要求的服务质量保留QoSbyteN+1000000XXd)SUBACK消息体SUBACK消息体的格式如表5-15所示:表5-15SUBACK消息体的格式Bit76543210返回码byte1X00000XXe)返回码的定义如下;0x00–成功,最大QoS为00x01–成功,最大QoS为10x02–成功,最大QoS为20x80–失败f)UNSUBSCRIBE消息体UNSUBSCRIBE消息体的格式如表5-16所示:表5-16UNSUBSCRIBE消息体的格式位域描述76543210主题名称(UTF-8数据流格式)byte1长度MSBbyte2长度LSBbytes3..N主题名称安全MQTT协议安全是基于TLS(TransportLayerSecurity)的安全传输层协议,用于保障平台和边设备之间保密性和数据完整性。信息模型子集配电物联网信息模型架构,抽象分类为basic(基本信息,包括制造厂商、设备型号等),config(参数配置,包括通信参数、保护参数等),topology(拓扑,包括电网一次拓扑信息等),capability(按设备能力抽象分类,包括analog模拟量,discrete状态量,accumulator累积量,command命令等),如图5-4所示。图5-4信息模型框架配电物联网交互模型,以云主站应用服务需求、边/端层设备需求、信息交互需求为基础,实现配电物联网各层级的信息交换标准化,配电电网联网信息交换框架如图5-5所示,本标准主要涉及到边云交互模型。图5-5信息交互模型云主站信息模型:主要由一二次设备模型、配置信息模型、电网拓扑模型、量测模型组成。云主站信息模型分成面向云服务和信息交换的IEC61968/IEC61970信息模型转换模型,和面向设备和企业数字化的统一设备数据资产模型层,从而实现边云信息和上层业务应用的转换。边节点信息模型:包含由设备配置信息模型、量测模型,信息模型组成,一次设备电网拓扑模型、一二次设备映射模型,设备管理模型。同时边节点会管理“边云”、“端边”交互模型。端节点信息模型:主要由量测模型和配置信息模型组成,由于端侧设备资源受限,端节点设备只需按模型规范要求,对数据进行组织,构建数据结构体。“边云”交互模型:“边云”间采用标准的设备管理,参数配置,设备命令,设备数据上报接口,使用MQTT物联网协议承载信息。“边云”交互时,将边云交互模型采用JSON格式封装至MQTT协议的Payload部分,发送给云端主站。“端边”交互模型:主要由量测模型组成,由于资源和通信带宽等因素限制,“端边”交互模型需要简介高效的编码方式,如TLV、BSON、ASN1方式描述数据及功能,并根据业务需求对数据进行实时性、可靠性等进行等级划分,构建消息结构体,通过CoAP协议等方式,发送至边侧。协议主题(Topic)表5-17协议主题列表TopicPublisher(发布者)Subscriber(订阅者)用途/v1/devices/{gatewayId}/topo/add边设备物联网平台边设备添加子设备/v1/devices/{gatewayId}/topo/addResponse物联网平台边设备物联网平台返回的添加子设备的响应/v1/devices/{gatewayId}/topo/delete边设备物联网平台边设备删除子设备/v1/devices/{gatewayId}/topo/deleteResponse物联网平台边设备物联网平台返回的删除子设备的响应/v1/devices/{gatewayId}/topo/update边设备物联网平台边设备更新子设备状态/v1/devices/{gatewayId}/topo/updateResponse物联网平台边设备物联网平台返回的更新子设备状态的响应/v1/devices/{gatewayId}/datas边设备物联网平台边设备上报数据/v1/devices/{gatewayId}/command物联网平台边设备物联网平台给设备或边设备下发命令/v1/devices/{gatewayId}/commandResponse边设备物联网平台边设备返回给物联网平台的命令响应备注:v1表示主题的开头,无特定意义;devices表示设备;{gatewayId}表示边设备ID;topo表示指边设备和端设备相关性;add表示添加;addResponse表示添加响应;delete表示删除;deleteResponse表示删除响应;update表示更新;updateResponse表示更新响应;datas表示数据上报;command表示命令下发;commandResponse表示命令下发的响应。可靠传输机制MQTT协议特点和QoS机制MQTT协议使用发布/订阅消息模式,提供了一对多的消息分发和应用之间的解耦。MQTT提供三种等级的QoS服务质量:“最多一次”,尽操作环境所能提供的最大努力分发消息。消息可能会丢失。“至少一次”,保证消息可以到达,但是可能会重复。“仅一次”,保证消息只到达一次。分类消息的QoS要求QoS与具体的发布和订阅的Topic相关,Topic的发布和订阅需要设置QoS等级。消息结构登录平台南向支持MQTT协议的connect消息接口,获取鉴权信息“clientId”、“Username”、“Password”。参数说明如表6-1所示:表6-1获取鉴权信息参数说明参数必选/可选类型参数描述clientId必选String(256)一机一密的设备clientId由4个部分组成:deviceId/nodeId、鉴权类型、密码签名类型、时间戳,通过下划线“_”分隔.鉴权类型:长度1字节,当前支持2个类型:“0”,表示使用一机一密设备的deviceId接入;“2”,表示使用一机一密设备的nodeId接入。密码签名类型:长度1字节,当前支持2种类型:“0”代表HMACSHA256不校验时间戳。“1”代表HMACSHA256校验时间戳。时间戳:为设备连接平台时的UTC时间,格式为YYYYMMDDHH,如UTC时间2018/7/2417:56:20则应表示为2018072417。Username必选String(256)一机一密的设备“Username”,使用deviceId接入时填写为设备注册成功后返回的“deviceId”值;使用nodeId接入时填写为设备注册成功时的“nodeId”值。Password必选String(256)Password的值为使用“HMACSHA256”算法以时间戳为秘钥,对secret进行加密后的值。secret为注册设备时平台返回的secret;或者是设备自身的secret。添加子设备添加子设备参数说明如表6-2所示:主题Topic:/v1/devices/{gatewayId}/topo/add表6-2添加子设备参数说明字段名必选/可选类型参数描述mid必选Int(32)命令IddeviceInfos必选List<DeviceInfos>子设备信息列表,列表大小1~100DeviceInfos结构体说明如表6-3所示:表6-3DeviceInfos结构体参数说明字段名必选/可选类型参数描述nodeId必选String(256)设备自身的唯一标识name必选String(256)设备名称description可选String(256)设备描述manufacturerId必选String(256)厂商IDmodel必选String(256)设备型号添加子设备响应参数说明如表6-4所示:主题Topic:/v1/devices/{gatewayId}/topo/addResponse表6-4添加子设备响应参数说明字段名必选/可选类型参数描述mid必选Int(32)命令IdstatusCode必选Int(32)请求处理的结果码。“0”表示成功。非“0”表示失败。详见附录。statusDesc可选String(256)响应状态描述。data必选List<AddDeviceRsp>添加子设备的结果信息。AddDeviceRsp结构体说明如表6-5所示:表6-5AddDeviceRsp结构体说明字段名必选/可选类型参数描述statusCode必选Int(32)请求处理的结果码。“0”表示成功。非“0”表示失败。详见附录。statusDesc可选String(256)响应状态描述。deviceInfo可选DeviceInfo设备信息DeviceInfo结构体说明如表6-6所示:表6-6DeviceInfo结构体说明字段名必选/可选类型参数描述nodeId必选String(256)设备自身的唯一标识deviceId必选String(256)平台生成的设备唯一标识name必选String(256)设备名称description可选String(256)设备描述manufacturerId必选String(256)厂商IDmodel必选String(256)设备型号删除子设备删除子设备参数说明如表6-7所示:主题Topic:/v1/devices/{gatewayId}/topo/delete表6-7删除子设备参数说明字段名必选/可选类型参数描述mid必选Int(32)命令IddeviceIds必选List<String(256)>设备ID列表,列表大小1~100删除子设备响应参数说明如表6-8所示:表6-8删除子设备响应参数说明字段名必选/可选类型参数描述mid必选Int(32)命令IdstatusCode必选Int(32)请求处理的结果码。“0”表示成功。非“0”表示失败。详见附录。statusDesc可选String(256)响应状态描述。data可选List<DelDeviceRsp>设备删除的结果信息。DelDeviceRsp结构体说明如表6-9所示:表6-9DelDeviceRsp结构体说明字段名必选/可选类型参数描述statusCode必选Int(32)请求处理的结果码。“0”表示成功。非“0”表示失败。详见附录。statusDesc可选String(256)结果描述deviceId必选设备ID平台生成的设备唯一标识控制命令控制服务控制服务参数说明如表6-10所示:主题Topic:/v1/devices/{gatewayId}/command表6-10控制服务参数说明字段名必选/可选类型参数描述deviceId必选String(256)平台生成的设备唯一标识msgType必选String(256)固定值"cloudReq",表示平台下发的请求。serviceId必选String(256)服务的id。示例:commandcmd必选String(256)服务的命令名,示例:controlserviceparas必选ObjectNode命令的参数,示例:{"paras":{"controlMode":"","commandType":"","value":"","timestamp":""}}mid必选Int(32)命令id主题Topic:/v1/devices/{gatewayId}/commandResponse控制服务响应参数说明如表6-11所示:表6-11控制服务响应参数说明字段名必选/可选类型参数描述msgType必选String(256)固定值"deviceRsp",表示设备的应答消息mid必选Int(32)命令iderrcode必选Int(32)请求处理的结果码。0表示成功,1表示失败body可选ObjectNode命令的应答,示例:{"response":{"controlMode":"0","commandType":"0","value":"12","timestamp":"14:00"}}对时服务对时服务参数说明如表6-12所示:主题Topic:/v1/devices/{gatewayId}/command表6-12控制服务响应参数说明字段名必选/可选类型参数描述deviceId必选String(256)平台生成的设备唯一标识msgType必选String(256)固定值"cloudReq",表示平台下发的请求。serviceId必选String(256)服务的id。示例:commandcmd必选String(256)服务的命令名,示例:timeCheckparas必选ObjectNode命令的参数,示例:timeCheck{"paras":{"timeCheck":"11:40"}}mid必选Int(32)命令id对时服务响应参数说明如表6-13所示:主题Topic:/v1/devices/{gatewayId}/commandResponse表6-13对时服务响应参数说明字段名必选/可选类型参数描述msgType必选String(256)固定值"deviceRsp",表示设备的应答消息mid必选Int(32)命令iderrcode必选Int(32)请求处理的结果码。0表示成功,1表示失败复位复位参数说明如表6-14所示:主题Topic:/v1/devices/{gatewayId}/command表6-14复位参数说明字段名必选/可选类型参数描述deviceId必选String(256)平台生成的设备唯一标识msgType必选String(256)固定值"cloudReq",表示平台下发的请求。serviceId必选String(256)服务的id。示例:commandcmd必选String(256)服务的命令名,示例:LEDRs_Operparas必选ObjectNode命令的参数,示例:{"paras":{"LEDRs_Oper":""}}mid必选Int(32)命令id复位响应参数说明如表6-15所示:主题Topic:/v1/devices/{gatewayId}/commandResponse表6-15复位响应参数说明字段名必选/可选类型参数描述msgType必选String(256)固定值"deviceRsp",表示设备的应答消息mid必选Int(32)命令iderrcode必选Int(32)请求处理的结果码。0表示成功,1表示失败文件传输(URL链接传输)文件链接下发参数说明如表6-16:主题Topic:/v1/devices/{gatewayId}/command表6-16文件链接下发参数说明字段名必选/可选类型参数描述deviceId必选String(256)平台生成的设备唯一标识msgType必选String(256)固定值"cloudReq",表示平台下发的请求。serviceId必选String(256)服务的id。示例:commandcmd必选String(256)服务的命令名,示例:fileTransferparas必选ObjectNode命令的参数,示例:{"paras":{"fileTransfer":""……}}mid必选Int(32)命令id文件链接下发响应参数说明如表6-17所示:主题Topic:/v1/devices/{gatewayId}/commandResponse表6-17文件链接下发响应参数说明字段名必选/可选类型参数描述msgType必选String(256)固定值"deviceRsp",表示设备的应答消息mid必选Int(32)命令iderrcode必选Int(32)请求处理的结果码。0表示成功,1表示失败body可选ObjectNode{"body":{"fileTransfer":URL,……}}文件链接上报参数说明如表6-18所示:主题Topic:/v1/devices/{gatewayId}/datas表6-18文件链接上报参数说明字段名必选/可选类型参数描述devices必选DeviceS[]设备数据设备数据如表6-19所示:表6-19DeviceS结构体说明参数说明字段名必选/可选类型参数描述deviceId必选String(256)平台生成的设备唯一标识serviceId必选String(256)服务ID,示例:fileTransferdata必选ObjectNode服务数据,示例:{"data":{"fileTransfer":URL,……}}eventTime必选String(256)时间格式:yyyyMMdd’T’HHmmss’Z’如:20151212T121212Z配置命令参数查询参数查询参数说明如表6-20所示:主题Topic:/v1/devices/{gatewayId}/command表6-20参数查询参数说明字段名必选/可选类型参数描述deviceId必选String(256)平台生成的设备唯一标识msgType必选String(256)固定值"cloudReq",表示平台下发的请求。serviceId必选String(256)服务的id。例如:parametercmd必选String(256)服务的命令名,示例:parameter_Getparas必选ObjectNode命令的参数,示例:{"paras":{"Load":"","ImbA_strVal":"",……}}mid必选Int(32)命令id参数查询响应参数说明如表6-21所示:主题Topic:/v1/devices/{gatewayId}/commandResponse表6-21参数查询响应参数说明字段名必选/可选类型参数描述msgType必选String(256)固定值"deviceRsp",表示设备的应答消息mid必选Int(32)命令iderrcode必选Int(32)请求处理的结果码。0表示成功,1表示失败body可选ObjectNode命令的应答,示例:{"body":{"Load":"150","ImbA_strVal":"20",……}}参数预置参数预置参数说明如表6-22所示:主题Topic:/v1/devices/{gatewayId}/command表6-22参数预置参数说明字段名必选/可选类型参数描述deviceId必选String(256)平台生成的设备唯一标识msgType必选String(256)固定值"cloudReq",表示平台下发的请求。serviceId必选String(256)服务的id。示例:parametercmd必选String(256)服务的命令名,示例:parameter_Setparas必选ObjectNode命令的参数,示例:{"paras":{"Load":"","ImbA_strVal":"",……}}mid必选Int(32)命令id参数预置响应参数说明如表6-23所示:主题Topic:/v1/devices/{gatewayId}/commandResponse表6-23参数预置响应参数说明字段名必选/可选类型参数描述msgType必选String(256)固定值"deviceRsp",表示设备的应答消息mid必选Int(32)命令iderrcode必选Int(32)请求处理的结果码。0表示成功,1表示失败body可选ObjectNode命令的应答,示例:{"body":{"Load":"120","ImbA_strVal":"30",……}}参数激活参数激活参数说明如表6-24所示:主题Topic:/v1/devices/{gatewayId}/command如表6-24参数激活参数说明字段名必选/可选类型参数描述deviceId必选String(256)平台生成的设备唯一标识msgType必选String(256)固定值"cloudReq",表示平台下发的请求。serviceId必选String(256)服务的id。示例:parametercmd必选String(256)服务的命令名,示例:parameter_Activateparas必选ObjectNode命令的参数,示例:{"paras":{"Load":"6","ImbA_strVal":"9",……}}mid必选Int(32)命令id参数激活参数说明响应参数说明如表6-25所示:主题Topic:/v1/devices/{gatewayId}/commandResponse表6-25参数激活响应参数说明字段名必选/可选类型参数描述msgType必选String(256)固定值"deviceRsp",表示设备的应答消息mid必选Int(32)命令iderrcode必选Int(32)请求处理的结果码。0表示成功,1表示失败body可选ObjectNode命令的应答,示例:{"body":{"Load":"6","ImbA_strVal":"9",……}}主动上送报文主动上送报文参数说明如表6-26所示:主题Topic:/v1/devices/{gatewayId}/datas表6-26主动上送报文应参数说明字段名必选/可选类型参数描述devices必选DeviceS[]设备数据设备数据如表6-27所示:表6-27DeviceS结构体说明字段名必选/可选类型参数描述deviceId必选String(256)平台生成的设备唯一标识serviceId必选String(256)服务IDdata必选ObjectNode服务数据例如:{"data":{"PhV_phsA":"3","PhV_phsB":"5",……}}eventTime必选String(256)时间格式:yyyyMMdd’T’HHmmss’Z’如:20151212T121212Z应用传输过程参考注册由云主站应用发起,通过调用设备注册接口完成设备在平台侧的注册。设备注册图7-1设备登录MQTT消息流程图边设备通过扫码等方式与主站应用之间进行设备档案建立;主站应用下发边设备的档案信息给物联网平台;边设备通过MQTT协议的CONNECT消息携带用户名和密码信息给物联网平台;物联网平台通过MQTT协议的CONNACK消息,给边设备登录通过信息;设备下线图7-2设备注销MQTT消息流程图边设备通过DISCONNECT消息向物联网平台发起下线,即完成设备离线。物联网平台告知云主站对应边设备注册下线。心跳保活图7-3设备链路保持流程图边设备发送PINGREQ消息到物联网平台物联网平台发送PINGRESP消息到边设备初始化订阅过程图7-4初始化订阅流程图边设备初始化时通过SUBSCRIBE消息分别向物联网平台订阅数据采集类、文件传输类、控制类、时钟同步、复位、参数查询、参数配置、参数激活等消息集。目前订阅命令消息全集,后续根据边设备的实际需求订阅消息子集。物联网平台收到订阅后向边设备分别回复SUBACK消息。数据采集过程数据采集图7-5MQTT数据采集消息流程图当主站进行数据采集时,通过HTTP数据采集消息交互,把采集命令发送给物联网平台;物联网平台把数据采集命令通过PUBLISH消息推送给订阅的边设备;边设备通过PUBACK消息反馈给物联网平台收到数据采集命令;边设备根据数据采集命令要求采集相对应的数据,形成具有某一数据主题的消息,通过PUBLISH消息发布到物联网平台;物联网平台反馈PUBACK消息给边设备。时间读取图7-6MQTT文件读取消息流程图当主站进行时间读取时,通过HTTP数据消息交互,把时间读取命令发送给物联网平台;物联网平台把时间读取命令通过PUBLISH消息推送给订阅的边设备;边设备通过PUBACK消息反馈给物联网平台收到时间读取命令;边设备通过PUBLISH消息把时间信息发布到物联网平台;物联网平台反馈PUBACK消息给边设备。文件传输主站召测文件图7-7MQTT文件读取消息流程图当主站进行读文件时,通过HTTP进行读文件消息交互,把读文件链接请求命令发送给物联网平台;物联网平台把文件链接请求命令通过PUBLISH消息推送给订阅的边设备;边设备通过PUBACK消息反馈给物联网平台收到读文件链接命令;边设备把文件链接请求通过PUBLISH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论