0.5-Air302(NB-IOT)-连接自建MQTT服务器

2021-03-15 21:46:36 浏览数 (1)

说明

测试服务器如下:

IP地址: 47.92.31.46

端口号:1883

MQTT用户名:yang

MQTT密码:11223344

指令发送步骤

关于指令的详细意义请用户打开文档自行查阅

1. 关闭回显

ATE0 (返回OK,再执行下一条)

2.读取SIM卡是否工作正常

AT CPIN? (返回 CPIN: READY,再执行下一条)

3.检测GPRS注册状态

AT CEREG? (返回 CEREG: 0,1 或 CEREG: 0,5 ,再执行下一条)

4.是否附着GPRS

AT CGATT? (返回 CGATT: 1 ,再执行下一条)

5.连接TCP服务器(MQTT服务器)

所以我的是:

AT ECMTOPEN=0,"47.92.31.46",1883 (返回 ECMTOPEN: 0,0 ,再执行下一条)

如果返回 ECMTOPEN: 0,-1 可以尝试重复再发送一次命令

6.发送连接MQTT协议

提示:clientID需要保证每个客户端不一样,一般使用模组的IMEI号码代替,模组上面有写,可以使用AT CGSN=1 指令获取

如果服务器规定了clientID,那么按照服务器规定的

当然测试的时候可以先随意规定.

所以我的是:(我随意规定clientID是000000)

AT ECMTCONN=0,"000000","yang","11223344" (返回 ECMTCONN: 0,0,0 ,再执行下一条)

提示: [,“<username>”[,“<password>”]] 代表可以不写(有些MQTT服务器没有用户名和密码的时候可以不写)

AT ECMTCONN=0,"000000"

7.订阅主题

msgID设置的什么就返回什么,执行不同订阅的主题的时候可以作为区分

假设我订阅的主题为:qqqqq 消息等级0

所有我的是:

AT ECMTSUB=0,1,"qqqqq",0 (订阅成功返回 ECMTSUB: 0,1,0,1 )

使用串口调试助手测试

1.连接开发板

2.安装好手机卡和天线

3.打开串口调试助手,依次发送指令

发送的指令 期望返回 描述 ATE0 OK 关闭回显 AT CPIN? CPIN: READY AT CEREG? CEREG: 0,1 或 CEREG: 0,5 查询GPRS注册状态 AT CGATT? CGATT: 1 检测GPRS附着状态 AT ECMTOPEN=0,"47.92.31.46",1883 ECMTOPEN: 0,0 连接TCP服务器(MQTT服务器) AT ECMTCONN=0,"000000","yang","11223344" ECMTCONN: 0,0,0 发送连接MQTT协议 AT ECMTSUB=0,1,"qqqqq",0 ECMTSUB: 0,1,0,1 订阅主题

4.打开MQTT调试助手

5.发送数据给模组

6.使用MQTT调试助手订阅主题:wwwwww

7.控制模组发送信息给MQTT调试助手

因为mqtt调试助手订阅了wwwwww,所以发布的主题topic为: wwwwww

假设发布的消息为: 11223344

所以

AT ECMTPUB=0,0,0,0,"wwwwww","11223344"

0 人点赞