mqtt
作者:如果能编程回忆
最后修改时间:2020年6月12日
概述
Air724模块内置MQTT协议,提供AT,LUAT,CSDK,DTU可供选择使用,接口简单使用方便。
MQTT简介
- 优势:长连接,低带宽,高可靠。
- 实用场景:需要服务器下发消息给设备,需要及时收到。例如,远程开关,充电桩等
几个重要名词
- username用户名,password密码,clientid用户标识,mqtt可以通过前两个参数保证连接的安全,通过clientid确保设备唯一性。
- qos消息质量,分为0,1,2三个等级,分别表示只发一次,至少收到一次和只收到一次,通过qos可以根据数据的重要性灵活选择发送方式以节省带宽和保证数据可靠。例如不重要的数据采集可使用qos0只发一次不关心服务器是否收到,重要的消息通过qos1确保能收到,付款信息危险设备开关等场景使用qos2保证数据到达的同时且不重复。
- host主机,port端口,mqtt需要连接的服务器参数。host可以说ip或者域名。
- topic主题,根据主题区别消息类型和来源,主要用来分类数据。同时mqtt是发布订阅模型,topic是发布和订阅者通信的重要通道。
- payload消息内容,发布和订阅的具体数据。
- 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

最低0.47元/天 解锁文章
1772

被折叠的 条评论
为什么被折叠?



