3575|2

309

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

【安信可NB-IoT开发板EC-01F-Kit】四、串口MQTT联网及信息收发测试 [复制链接]

物联网的应用中,MQTT传输非常普遍,自己以及的作品也大多采用了MQTT进行传输。

首先,打开NB-IOT的AT手册,看到3.5 MQTT命令这一部分

命令不多,没有找到参考的实例,只能凭着以前的经验一条条测试了

试了几遍后,成功实现了MQTT的订阅和发布

在测试MQTT的时候,用了以前经常用的MQTT模拟器paho,下面把paho的过程贴上来

 paho连接MQTT的流程比较简单,1、联网;2、订阅;3发布。(4、断开)

配合NB-IOT,实现MQTT信息的订阅和发布

整个MQTT的测试都是直接用串口命令实现的。具体步骤如下:

1、NB-IOT模块联通互联网

主要包括 1)、PS附着,AT命令:AT+CGATT=1

                        成功后反馈  OK

                2)、PDP激活,AT命令:AT+CGACT=1

                        成功后反馈  OK

2、打开MQTT客户端连接,(感觉应该叫MQTT连接)

    AT命令为:  AT+ECMTOPEN=0,"39.104.x.x",1885

     直接用的IP4连接,不知道IP6下该怎么连接?

    成功后反馈  +ECMTOPEN: 0,0

    第一个0,应该是tcpconnectID,MQTT套接字标识符。 

3、创建客户端连接,(感觉叫客户端登录比较合适)

  AT命令为:  AT+ECMTCONN=0,"test12345"

  其中的 test12345 是客户端ID,ClientID,客户端标识符,最大48个字节

  成功后反馈  +ECMTCONN: 0,0,0

  第1个0,表示tcpconnectID,MQTT套接字标识符;第2个0,<result> 

 第3个0,表示<ret_code>   服务器返回的连接结果

 

4、订阅MQTT主题

 AT命令为: AT+ECMTSUB=0,1023,"NBIOT54321",0

第1个0为tcpconnectID,MQTT套接字标识符。

1023为<msgID> 整型,报文的报文标识。 范围是1-65535。

😓,用了这么久的MQTT,这个报文标识的作用,还是不明确。感觉是不是跟报文长度有关?哪位E友辛苦普及下哈。

后面的NBIOT54321为订阅的主题,<topic> 字符串类型,客户想要订阅或取消订阅的主题。 最大长度为255个字节。

后面的0为QOS,<qos> 整型,消息QoS,可以为0,1或2

 成功后反馈  +ECMTSUB: 0,1023,0,1

 其中,result,和value

 5、订阅等待接收该主题的信息

成功接收到信息后,

+ECMTRECV: 0,0,"NBIOT54321",test for sub

各个数据的含义都能对应上,只是msgID为0,(是不是msgID为0是该主题的广播信息?)

 6、MQTT发布信息

AT命令为:AT+ECMTPUB=0,0,0,0,"NBIOT123","TEST For NB-IOT MQTT"

   消息发布成功后反馈:

+ECMTPUB: 0,0,0

最后1个0是result

 7、关闭MQTT连接

AT命令:AT+ECMTCLOSE=0

成功后反馈 +ECMTCLOSE: 0,0

 MQTT的测试还算顺利,通过模拟器的配合,整个发布订阅的流程比较清晰。

 

此帖出自无线连接论坛

最新回复

接收是异步的吗?   详情 回复 发表于 2022-1-5 17:20
点赞 关注
 

回复
举报

7671

帖子

2

TA的资源

五彩晶圆(高级)

沙发
 

接收是异步的吗?

此帖出自无线连接论坛

点评

是的,异步的  详情 回复 发表于 2022-1-7 22:02
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

309

帖子

0

TA的资源

纯净的硅(初级)

板凳
 
freebsder 发表于 2022-1-5 17:20 接收是异步的吗?

是的,异步的

此帖出自无线连接论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表