0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【技术分享】以利尔达MB960/860模组为例,教你快速接入MQTT协议(下)

利尔达科技集团 2022-02-18 09:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

LIERDA

随着 5G 时代的来临,万物互联的伟大构想正在成为现实。2021年全球智能物联网处于爆发式增长通道,设备数量超过250亿台。海量的设备接入和设备管理对网络带宽、通信协议以及平台服务架构都带来了很大挑战。

通信协议作为联通物与物的桥梁,在物联网架构中起着关键作用。上周我们已经在《【技术分享】以利尔达MB960/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字节.

[1541.451]→◇AT+MQTTPUB=0,1,0,0,"","adebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbade

bcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabad

bceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbe

bebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbd

badbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabb

dbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbab

cbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbb

ebfadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbad

babadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdb

befbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcb

dbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbeb

fbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadeb

cbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadb

ceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfadebcbcbabcbdb

dbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfb

babbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcb

cbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbce

ebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebeb

dbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbad

babadbceebbbebfbbabbdbbefbbebebdbadebcbcbabcbdbdbdbadbabadbceebbbebfbbabbdb

befbbebebd"

[1541.461]收←◆

[Error]:Please don't send a message longer than 1358 bytes. Message length which

contains header and payload is 1505 bytes.

[1541.969]收←◆

+MQTTCLOSE=0,128

ERROR: 0,1,110

ERROR

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2939

    文章

    47330

    浏览量

    408037
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    超高性价比!稳定好用的利尔达FSK模组来了!

    、性能可靠且成本更低的FSK模组成为了更经济务实的选择。利尔达XB30FSK无线模组正是基于此设计,它不追求冗余性能,而在专注保障稳定通信的同时,客户提供更高性
    的头像 发表于 11-06 18:18 275次阅读
    超高性价比!稳定好用的<b class='flag-5'>利尔达</b>FSK<b class='flag-5'>模组</b>来了!

    掘金新蓝海!利尔达重磅推出NB-IoT全球通模组

    MB26-AGL,拓展全球物联网市场注入全新动能。技术突破:重新定义海外NB模组标准全球物联网连接数正以29.8%的年复合增长率迅猛扩张,
    的头像 发表于 09-11 18:02 1120次阅读
    掘金新蓝海!<b class='flag-5'>利尔达</b>重磅推出NB-IoT全球通<b class='flag-5'>模组</b>

    【教程】必看!手把手教你学会MQTT工作模式阿里云物联网平台的配置

    我司产品ECAN-E02拥有MQTT工作模式,在此工作模式,可以选择使用阿里云平台进行相关测试与通信。1MQTT工作模式概述首先让我们了解一什么是
    的头像 发表于 09-04 19:34 1103次阅读
    【教程】必看!手把手<b class='flag-5'>教你</b>学会<b class='flag-5'>MQTT</b>工作模式<b class='flag-5'>下</b>阿里云物联网平台的配置

    860960 MHz,0.5 W 高功率功率放大器 skyworksinc

    电子发烧友网你提供()860960 MHz,0.5 W 高功率功率放大器相关产品参数、数据手册,更有860960 MHz,0.
    发表于 09-04 18:29
    <b class='flag-5'>860</b> – <b class='flag-5'>960</b> MHz,0.5 W 高功率功率放大器 skyworksinc

    MQTT_协议中文资料

    电子发烧友网站提供《MQTT_协议中文资料.pdf》资料免费下载
    发表于 09-02 16:19 0次下载

    NB-IoT无线模组咨询

    我们公司是做外贸的, 目前想配NB-IoT无线模组在设备上, 由于对NB-IoT无线模组不熟悉, 想咨询关于移远,利尔达等无线模组(对应Band 3/8/20)的事情, 请问有无公司或
    发表于 09-01 23:42

    通过MQTT协议接入工业物联网云平台中吗

    通过MQTT协议完全可以接入工业物联网云平台,且因其轻量、高效、可靠等特性,已成为工业物联网场景中的主流通信协议之一。
    的头像 发表于 08-26 18:03 645次阅读

    GraniStudio :MQTT 协议的深度剖析

    和 QoS 保障等机制封装为可视化组件,工业用户提供了 “零代码” 构建 MQTT 通信链路的能力。本文将从协议
    的头像 发表于 08-04 09:48 812次阅读
    GraniStudio :<b class='flag-5'>MQTT</b> <b class='flag-5'>协议</b>的深度剖析

    利尔达RedCap模组通过OpenHarmony 生态兼容性测评!

    。此次认证标志着该NR90模组在鸿蒙系统中的技术适配能力获得官方认可,工业物联网、智能终端等设备快速融入鸿蒙生态提供了关键支持。本次认证由OpenHarmony兼容
    的头像 发表于 05-23 17:59 1386次阅读
    <b class='flag-5'>利尔达</b>RedCap<b class='flag-5'>模组</b>通过OpenHarmony 生态兼容性测评!

    MQTT为何成为物联网协议

    MQTT(Message Queuing Telemetry Transport)即消息队列遥测传输协议,已成为物联网领域广泛应用的协议,这主要得益于其在资源占用、通信效率、可靠性、扩展性等多方面
    的头像 发表于 05-20 09:54 607次阅读

    MQTT物联网平台有哪些?有哪些功能?

    (IoT)。关于MQTT物联网平台及其功能,可以归纳如下: MQTT物联网平台 MQTT物联网平台通过提供一种标准化的协议和平台,实现了消息的可靠传输、设备连接管理、数据存储和分析等功
    的头像 发表于 03-15 14:23 1222次阅读
    <b class='flag-5'>MQTT</b>物联网平台有哪些?有哪些功能?

    功耗智选!利尔达新款NB-IoT模组助力全盘掌控设备“心跳节拍”

    模式,构建大规模、持久运行的物联网网络提供了可能。近日,支持eDRX永久在线的利尔达MB26-H/MB96-H模组应运而生,
    的头像 发表于 01-10 13:59 1215次阅读
    功耗智选!<b class='flag-5'>利尔达</b>新款NB-IoT<b class='flag-5'>模组</b>助力全盘掌控设备“心跳节拍”

    基于MQTT协议的车云通信设计

    随着智能汽车的发展,车云通信的功能场景及数据量也逐渐增多,具有轻量化、可靠性等特点的MQTT协议成为很多OEM车云通信协议的选择。本文主要介绍。 什么是MQTT
    的头像 发表于 01-08 10:24 1727次阅读
    基于<b class='flag-5'>MQTT</b><b class='flag-5'>协议</b>的车云通信设计

    拿下物联网行业创新技术产品奖,利尔达5G RedCap模组凭什么?

    //12月19日,OFweek2024(第九届)物联网产业大会在深圳成功召开,利尔达受邀出席。其研发的5GRedCapNR90-HCN系列模组荣获“维科杯·OFweek2024物联网行业创新技术产品
    的头像 发表于 12-20 15:26 1418次阅读
    拿下物联网行业创新<b class='flag-5'>技术</b>产品奖,<b class='flag-5'>利尔达</b>5G RedCap<b class='flag-5'>模组</b>凭什么?

    百问MQTT协议分析 - MQTT简述及协议报文格式组成

    16.1 mqtt协议介绍 16.1.1 概述 ​MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景
    发表于 12-13 09:29