ONENET设备终端接入协议4MQTTWord文档下载推荐.docx

上传人:b****3 文档编号:8168570 上传时间:2023-05-10 格式:DOCX 页数:22 大小:128.18KB
下载 相关 举报
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第1页
第1页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第2页
第2页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第3页
第3页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第4页
第4页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第5页
第5页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第6页
第6页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第7页
第7页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第8页
第8页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第9页
第9页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第10页
第10页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第11页
第11页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第12页
第12页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第13页
第13页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第14页
第14页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第15页
第15页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第16页
第16页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第17页
第17页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第18页
第18页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第19页
第19页 / 共22页
ONENET设备终端接入协议4MQTTWord文档下载推荐.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ONENET设备终端接入协议4MQTTWord文档下载推荐.docx

《ONENET设备终端接入协议4MQTTWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ONENET设备终端接入协议4MQTTWord文档下载推荐.docx(22页珍藏版)》请在冰点文库上搜索。

ONENET设备终端接入协议4MQTTWord文档下载推荐.docx

平台服务器地址,TCP端口6002

Packet格式说明

包格式包含三部分:

FixedHeader

所有packet中都必须有

VarableHeader

部分包含有

Payload

Fixedheader

Bit

7

6

5

4

3

2

1

byte1

MQTTPacketType

byte2-5

RemainingLength(该字段占用1-4个字节)

该版本支持的所有类型:

名字

流向

描述

CONNECT

C->

S

客户端请求与服务端建立连接

CONNACK

S->

C

服务端确认连接建立

PUBLISH

CS

发布消息

PUBACK

收到发布消息确认

SUBSCRIBE

8

订阅请求

SUBACK

9

订阅确认

UNSUBSCRIBE

10

取消订阅

UNSUBACK

11

取消订阅确认

VariableHeader&

消息类型

VariableHeader

支持的packet

CONNECT

FixedHeader

VariableHeader

Description

byte1-2

ProtocolNameLength

byte3

‘M’

byte4

‘Q’

byte5

‘T’

byte6

Byte7

ProtocolLevel

Byte8

ConnectFlag

User

flag

Password

WillRetain

Flag

WillQosFlag

WillFlag

CleanSession

Reserve

Byte9-10

KeepAlive

版本

必须设置为4,平台只支持版本v,不支持更老的版本。

使用第三方客户端时需要注意选择正确的版本。

userflag与passwordflag

平台不允许匿名登陆,因此这两个标志位在连接时必须设置为1,否则认为协议错误,平台将会断开连接。

willflag与Willretainflag/Willqosflag

平台暂不支持willflag,WillRetainFlag与WillQosFlag必须设置为0。

CleanSessionFlag

若客户端将cleansession标志位设置为0,当其断开后,平台将会保存session,session需保持的内容包含:

客户端订阅的topic列表.

客户端保存session的内容包含:

已经发送到服务端的但还没有收到确认的Qos1消息列表.

待发送的Qos0列表.

Reserve

保留位,置0。

KeepAlive保活时间

每个客户端可自定义设置连接保持时间,最短120秒,最长65535秒。

Payload

是否必须存在

格式

Field1

ClientIdentifier

2字节字串长度+utf8字串

Field2

UserName

Field3

UserPassword

与鉴权相关的字段包含clientid,username和password,支持鉴权方式。

字段设置

消息示例

client_id设置为平台创建设备时的设备id

username设置为“项目ID”

password设置为“鉴权信息(auth_info)”

client_id=”123”

username=”433223”

password=”注册的鉴权信息”

各字段说明如下:

项目ID:

在平台添加项目时平台生成的ID;

鉴权信息(auth_info):

在平台申请设备时填写设备的auth_info属性(数字+字母的字符串),该属性需要产品内具备唯一性;

CONNACK

AcknowledgeFlags

Sp

byte2

ReturnCode

x

Sp:

SessionPresentFlag,session信息在服务器已保持,置1;

未保存,置0。

返回码说明:

返回码

成功

协议版本错误

非法的clientid

服务不可用

用户名或密码错误

非法链接(比如token非法)

失败:

*如果connect包不符合协议内容约束,则直接断掉连接,而不需要发送connack包.

*如果鉴权或授权失败,回复一个带非0错误码的connack包.

成功:

*必须断掉重复的clientid.

*执行cleansession对应的操作.

*必须回复一个connack,回复码为0.

*开始消息传递,并加入keepalive的监视.

PS:

客户端需要等到服务端的connack报文,才能发送后续的数据包.

PUBLISH(client->

server)

Fixedheader

DUPflag

QoSLevel

RETAIN

DUP:

QoS1:

如果为0,则表示是第一次发送该包,如果为1,则表示为重复发送的包。

Qos0:

DUP必须为0

QOS:

指定了该publish包的qos等级如下

RETAIN:

暂不实现

Qos值

Bit2

Bit1

最多发送一次

至少发送一次

PS:

该版本只实现Qos0,Qos1

是否必须

TopicName

PacketIdentifier

2字节

QoS0:

否,QoS1:

内容根据不同业务自定义.

PUBLISH(server->

client)

QoS1:

该版本只实现Qos0

内容根据不同业务自定义.

PUBACK

byte2~5

byte1~2

SUBSCRIBE

byte2~5

Byte1~n

Byten+1

Reserved

保留字节(兼容

可以包含一个或多个topic.

topic必须是数字、英文、反斜杠(/)的组合,目前不支持通配符。

每个客户端最多订阅100个topic;

以下topic被系统保留使用,(客户端不能订阅):

类型

$开头

平台保留

retcode

0x00

0x80

失败

UNSUBACK

连接鉴权

设备向平台发起connect请求.connect中携带鉴权信息,具体参见(报文格式参考

平台拿到鉴权信息进行鉴权.

鉴权通过后,如果cleansession=0,平台将会加载保存的设备的一些信息.如订阅列表中描述).

如果cleansession=1,设备没有保存信息在平台,则不加载设备相关信息.

返回鉴权结果ConnAck(报文格式参考.

消息发布

数据点上报

设备使用publish报文来上传数据点,报文格式如下:

VariableHeader:

Field名称

TopicName=”$dp”

$dp为系统上传数据点的指令

2字节字串长度+utf8字串

Payload:

Payload包含真正的数据点内容,支持的格式如下:

字节

说明\bit

Byte1

Bit0-5数据类型指示,目前支持:

Type=1

.

Byten

Qos1(Client->

Server)

设备发布Qos0消息(上报数据点)

平台收到上报数据点后保存起来.

平台给设备回复PubAck(报文格式参考

平台命令(下发&

回复)

命令下发

平台使用publish报文来下发平台指令,报文格式如下:

FixHeader:

参考VariableHeader:

TopicName=”$creq/cmduuid”

$creq为系统下发Cmd的指令,cmduuid为该条指令的uuid

Payload包含真正的指令内容

Qos0(Server->

Client)

命令下发:

平台向设备发送topic为$creq的消息(该topic为平台命令).

设备收到topic为$creq的topic时,需将其作为平台下发的指令来处理.

命令回复

设备使用publish报文来回复平台指令,报文格式如下:

TopicName=”$crsp/cmduuid”

$crsp为系统处理设备回复cmd的指令,cmduuid为该条指令的uuid

Payload包含真正回复的指令内容

Qos0(Client->

Qos1(Client<

->

Server)

如果设备回复响应时以Qos1回复,则平台需要给设备回复一个Puback消息

创建Topic

设备通过发送HTTP请求进行topic的创建操作.

平台收到请求后创建topic并返回结果.

请求及响应定义如下:

HTTP方法

POST

URL

头部

api-key:

xxxx-ffff-zzzzz,必须masterkey

URL参数

HTTPbody内容

{

“name”:

”xxxxxx”

报文格式参考

平台收到请求后更新topic列表.

平台给设备回复SubAck.(报文格式参考

设备发起取消订阅请求.(报文格式参考

平台给设备回复UnSubAck.(报文格式参考

推送设备Topic

Publish报文推送:

设备发起推送topic请求.(报文格式参考平台收到请求后,将topic推送到相关订阅设备.(目前只支持在线推送)

平台返回推送ack(取决于qos).(报文格式参考

设备使用publish报文来推送Topic.报文格式如下:

填写设备订阅的topic

Payload:

Payload为设备自定义内容

HTTP请求推送

设备以HTTP的方式发起推送topic请求.

平台收到请求后,将topic推送到相关订阅设备.(目前只支持在线推送)

平台返回推送结果.

topic=“XXXXXX”,必选,在发送mqtt协议的topic.必填

用户自定义Json或二进制数据(小于64K)

成功返回

"

errno"

:

0,

error"

“succ”

}

PS:

欢迎访问设备云门户网站注册用户,获取最新文档。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2