0.5-Air302(NB-IOT)-连接自建MQTT服务器
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/Learn-NB-IOT-Air302-ForLua" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
说明
测试服务器如下:
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服务器)
所以我的是:
6.发送连接MQTT协议
提示:clientID需要保证每个客户端不一样,一般使用模组的IMEI号码代替,模组上面有写,可以使用AT+CGSN=1 指令获取
如果服务器规定了clientID,那么按照服务器规定的
当然测试的时候可以先随意规定.
所以我的是:(我随意规定clientID是000000)
提示: [,“<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"