永利yl23455

1.svg 2.svg

English

搜索

【技术分享】以永利yl23455MB960/860模组为例,教你急剧接入MQTT和谈(下)

2022/02/18

浏览量:5265

中国·永利yl23455(股份)有限公司-官方网站
中国·永利yl23455(股份)有限公司-官方网站
中国·永利yl23455(股份)有限公司-官方网站
a1img19-1121.jpg

??随着5G时期的来临,万物互联的伟大构思在成为现实。2021年全球智能物联网处于发作式增长通路,设备数量超过250亿台。海量的设备接入和设备治理对网络带宽、通讯和谈以及平台服务架构都带来了很大挑战。


??通讯和谈作为联通物与物的桥梁,在物联网架构中起着关键作用。上周我们已经在《【技术分享】以永利yl23455MB960/860模组为例,教你急剧接入MQTT和谈(上)》一文中介绍了MQTT和谈的基础知识,本周将介绍接入阿里云平台MQTT和谈的具体步骤,援手各人急剧上手。


??MQTT AT指令接入


??1、设置服务端IP或域名

??AT+MQTTCFG="host",0,"host_name",1883

??:服务端的IP或域名:1~2000字节字符串。阿里云公共事俘接入:a1oGs******.iot-as-mqtt.cn-shanghai.aliyuncs.com

??a1oGs******为本示例产品的productKey。

??cn-shanghai为本示例地点地域。

??示例

??AT+MQTTCFG="host",0,"gg0*******.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883

??实现注明

??● 若是设置IP无需任何操作,只需IP满足地址体式。

??● 若是设置域名,需先使用AT+CFUN=0和AT+NCONFIG=PCO_IE_TYPE,PCO这两条AT号令开启DNS服务器,再次沉启,之后能力使用域名衔接。


??2、设置客户端标识

??AT+MQTTCFG="clientid",,

??< Link_ID > 衔接ID:取值0~2。

??客户端标识符:字符串类型,1~128字节字符串。

??示例

??AT+MQTTCFG="clientid",0,"8677**********|securemode=2,signmethod=hmacsha1|"

??实现注明

??若是衔接NB-IOT平台,则需凭据平台规定来设置客户端标识。


??3、衔接服务端

??AT+MQTTCONN=,,,,

??< Link_ID > 衔接ID:取值0~2。

??SSL TCP衔接使能:

??0:不选取;

??1:选取SSL TCP衔接。

??will_flag 遗嘱标志,取值0或1:

??0:不带遗嘱;

??1:CONNECT报文带有遗嘱。

??用户名:0~512字节的字符串。

??密码:0~512字节的字符串。

??注:阿里云平台用户名及密码需用三元组天生,天生方式请参考阿里云平台提供的密码天生文档。

??示例

??AT+MQTTCONN=0,0,0,"8677******&gg0*******","91C3E702***************************755*****"

??实现注明

??在衔接前必要设置服务端ip和clientid,分歧的平台衔接使用的用户名和密码必要凭据平台要求进行设置。若是是加密衔接还必要设置证书,并使ssl_enable为1。设置will_flag为1时,还必要设置遗嘱。

??衔接失败时的谬误码如下:

??● 0:返回正确;

??● 1:未知谬误;

??● 2:申请内存失败;

??● 3:参数查抄谬误;

??● 80:网络衔接状态谬误(但是未拨号/功夫不合/服务器关关);

??● 81:MQTT设置版本谬误;

??● 82:clientid谬误;

??● 83:服务器回绝客户端衔接;

??● 84:用户名或者密码谬误;

??● 85:订阅失败 #订阅失败会导致断连;

??● 86:取缔订阅失败;

??● 87:颁布失败;

??● 88:当前未衔接;

??● 89:当前已有衔接又再次提议衔接;

??● 90:创建客户端失败;

??● 91:该linkid已创建客户端又再次提议创建;

??● 92:该linkid未创建客户端;

??● 93:当前MQTT状态不允许执行该操作。

??查问衔接时的状态如下:

??● state=1 MQTT is initial(未配置)

??● state=2 MQTT is connecting

??● state=3 MQTT is connected

??● state=4 MQTT is disconnected

??注明:必要把稳,MQTT内部实现是先使用设置的MQTT版本衔接,失败之后会使用MQTT3.1版正本衔接。


??4、订阅MQTT新闻

??AT+MQTTSUB=,,,[,,][,,]

??< Link_ID > 衔接ID:取值0~2。

??报文标识符:取值1~65535。

??主题名:0~512字节字符串。一次最多可订阅3个主题。

??订阅新闻QOS等级:取值0~2。

??示例

??AT+MQTTSUB=0,1,"/gg0*******/867********/user/test",1

??收←◆+MQTTSUBACK: 0,1,0

??OK

??收←◆+MQTTRECV: 0,0,0,0,/gg0*********/867*********/user/test,qtwtewtytweyt

??实现注明

??订阅异常蕴含:

??● 报文处置异常,蕴含非衔接、网络异常状态下收到上位机下发该AT号令、报文参数异常等。

??● 超时未收到服务端回复,蕴含服务端回复的报文异常。

??● 返回85订阅失败,断连。


??5、颁布一个新闻

??AT+MQTTPUB=,,,,,

??< Link_ID > 衔接ID:取值0~2。

??报文标识符:取值1~65535。

??颁布新闻QOS等级:取值0~2。

??保留标志:取值0~1。

??主题名:0~512字节字符串。

??有效载荷:0~1500字节字符串。

??示例

??AT+MQTTPUB=0,1,0,0,"/gg0*******/8677*********/user/test","this is a test"

??收←◆+MQTTPUBACK: 0,1,0

??OK

??收←◆+MQTTRECV: 0,0,0,0,/gg0********/8677*********/user/test,this is a test

??实现注明

??●该号令用于颁布时,若是在timeout功夫内没有收到报文确认,则会打印ERROR。在收到一个QOS大于0的报文确认新闻时,会打印+MQTTPUBACK_MSGID:,其中msgid为PUB报文的信息id。当查问颁布新闻时,查问的了局为颁布的次数。当MQTT服务器不支持topic为0字节的字符串时,若是发送0字节的topic新闻,则会导致断连。

??●该号令最多允许2个颁布新闻在沉传队列中,超过2个颁布新闻会直接返回ERROR,不会发送。沉传队列会尝试5次沉传,之后就会断根沉传队列里的颁布新闻。

??●在断连之后计数会清零。计数达到最大值建议回转,最大值4294967295(unsigned int)。在NB-IoT场景下最大的发包长度不能超过SEND_MAX_LEN(1358)字节,若是超出长度则会发送失败。失败时会打印现实的发送长度,用户必要保障发包长度不能超过SEND_MAX_LEN(1358)字节长度。

??例如:用户在非加密衔接的情况下发送1500字节内容,现实包长度为包头长度和包体长度之和,为1505字节。包头长度为1505-1500=5字节,凭据SEND_MAX_LEN(1358)长度限度,能够发送的包体的长度为SEND_MAX_LEN-包头长度=1358-5=1353字节.


??[15:28:41.451]→◇AT+MQTTPUB=0,1,0,0,"","adebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcba

??bcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebd

??badebcbcbabcbdbbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdba

??debcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbef

??bbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebf

??bbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabad

??bceebbbebfadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbeb

??fbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbaba

??dbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbd

??bdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebc

??bcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbe

??bebdbadebcbcbabcbdbdbdbadbabadbceebbbebfadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbade

??bcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbb

??ebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbb

??abbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbc

??eebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbd

??badbabadbceebbbebfbbabbdbbefbbebebd

??[15:28:41.461]收←◆

??[Error]:Please don't send a message longer than 1358 bytes. Message length which?contains header and payload is 1505 bytes.

??[15:28:41.969]收←◆

??+MQTTCLOSE=0,128

??ERROR: 0,1,110

??ERROR

中国·永利yl23455(股份)有限公司-官方网站
中国·永利yl23455(股份)有限公司-官方网站

助力万物互联
稳稳支持你的需要

【网站地图】