4G模块连接MQTT

该文章已生成可运行项目,

mqtt

作者:如果能编程回忆

最后修改时间:2020年6月12日

概述

Air724模块内置MQTT协议,提供AT,LUAT,CSDK,DTU可供选择使用,接口简单使用方便。

MQTT简介

  1. 优势:长连接,低带宽,高可靠。
  2. 实用场景:需要服务器下发消息给设备,需要及时收到。例如,远程开关,充电桩等

几个重要名词

  1. username用户名,password密码,clientid用户标识,mqtt可以通过前两个参数保证连接的安全,通过clientid确保设备唯一性。
  2. qos消息质量,分为0,1,2三个等级,分别表示只发一次,至少收到一次和只收到一次,通过qos可以根据数据的重要性灵活选择发送方式以节省带宽和保证数据可靠。例如不重要的数据采集可使用qos0只发一次不关心服务器是否收到,重要的消息通过qos1确保能收到,付款信息危险设备开关等场景使用qos2保证数据到达的同时且不重复。
  3. host主机,port端口,mqtt需要连接的服务器参数。host可以说ip或者域名。
  4. topic主题,根据主题区别消息类型和来源,主要用来分类数据。同时mqtt是发布订阅模型,topic是发布和订阅者通信的重要通道。
  5. payload消息内容,发布和订阅的具体数据。
  6. retain保留消息,保留消息是一条将保留标志(retained flag)置为true的普通MQTT消息。broker会针对主题依照QoS级别保留最后一条保留消息,当订阅者订阅主题时会立即收到保留消息。broker仅为每个主题保留一条保留消息。

AT方式

连接网络

开机

通过拉低powerkey2秒进行开机,开机以后通过串口循环发送AT直到收到OK,如果90秒没有收到OK请拉低 RESET_IN_N 引脚 150ms 以上。或使用其他方法见开关机章节

查询卡状态

AT+CPIN?查询卡状态,直到收到+CPIN: READY,如果10s内没有收到建议重启模块

查询网络注册情况

AT+CGATT?查询是否注册网络收到+CGATT: 1值是1即为注册成功,正常情况下注册时间不会超过两分钟,如果超过两分钟没有注册可以进入飞行模式五秒后退出再查询,或者直接重启模块。

激活网络

AT+CSTT配置网络,非私有APN以外Cat1的固件支持根据卡自动配置APN,直接输入AT+CSTT即可,模块会按照自动获取的APN设置CSTT的APN。

AT+CIICR激活网络,在IP START的状态使用AT+CIICR激活网络,激活以后通过AT+CIFSR查询是否获取IP,如果成功就可以开始配置TCP连接了,如果不成功使用AT+CIPSHUT关闭移动网络,从AT+CSTT重新进行。

连接服务器

设置 MQTT 相关参数:AT+MCONFIG

命令类型 语法 返回 说明
设置命令 AT+MCONFIG=[, [,<will_qos>,<will_retain>, <will_topic>,<will_message>]] OK
ERROR 正常返回
输入格式有误
测试命令 AT+MCONFIG=? +MCONFIG: [,[,(0-2),(0,1 ),<will_topic>,<will_message>]]
OK

参数定义

参数 定义 取值 对取值的说明
client identity 字符串 最大 256 个字节。可以用"“括住,也可以不用”"
username to login server 字符串 最大 256 个字节。可以用"“括住,也可以不用”"
password to login server 字符串 最大 256 个字节。可以用"“括住,也可以不用”"
<will_qos> Quality of Service for will message 0

1
2 | 见前文说明 |
| <will_retain> | retain flag | 0
1 | the server will restore the will meassge and its QoS
the server must not restore the will meassge and must not remove or replace any existing retained message |
| <will_topic> | the topic of the will meassage | 字符串 | 最大 256 个字节。可以用"“括住,也可以不用”" |
| <will_message> | the wi

本文章已经生成可运行项目
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值