GM5 Cat-1通讯模组 MQTT通讯流程

GM5 Cat-1通讯模组 MQTT通讯

目前有人模组支持MQTT的有:GM401TF、GM5

进入cmd模式

AT+WKMOD=CMD

AT+S

手动驻网

AT+CPIN?   #检测SIM卡状态,Ready为正常

AT+CREG?   #检测GSM状态,电信SIM不支持

AT+CGATT=1 #设置网络附着

AT+CFGDFTPDN=3,0,"CMNET","","" #设置APN参数,普卡可跳过,APN卡必设

AT+CGDCONT=1,"IPV4V6","CMNET"  #设置PDP上下文,普卡可跳过,APN卡必设

APNAT+CSTT#启用当前

AT+CGACT=1,n  #激活第N路网络,N范围:1-6,

AT+CIICR  #激活应用场景

注意:以上网络流程按照先后顺序执行,如果颠倒将有可能导致无法正常连接网络。
AT+CGACT=1,n 该指令中n取值1,取其他值可能会报错

连接平台

创立MQTT连接

AT+MQTTCONN=,,,,,[,] #创立MQTT连接

格式:
AT+MQTTCONN="",,"",,,"",""

参数项:
 MQTT 服务器域名。
 MQTT 服务器端口。
 客户端 ID 编号。
MQTT 连接保活时间,参数范围[1-3600],以秒为单位。【用户在实际使用时,不要低于 30s,否则可能频繁掉线;一般建议设置为 60~120s。】
 对话清理标志,0 为关闭,1 为开启。(开启状态下当客户端再次上线时,将不再关心之前所有的订阅关系以及离线消息;关闭状态下客户端再次上线时,还需要处理之前的离线消息,而之前的订阅关系也会持续生效。)
用户名。
 密码。

返回:
• 连接成功:OK
• 连接失败:+CME ERROR:
• 连接超时:+MQTTDISCONNECTED:

订阅或退订一个 MQTT 主题

AT+MQTTSUBUNSUB=,, #订阅或退订一个 MQTT 主题

举例:
AT+MQTTSUBUNSUB="test",1,1 #订阅test主题

参数项:
 MQTT 主题
 订阅标志,当参数为:1,执行订阅;0,执行退订。
 消息服务质量,可设定参数包含 0, 1, 2。.

返回:
• 成功:OK
• 失败: +CME ERROR:

向主题发布一条 MQTT 消息

AT+MQTTPUB=,,,, # 向主题发布一条 MQTT 消息

举例:
AT+MQTTPUB="topic","123456",1,0,0 #推送数据给topic主题

参数项:
 MQTT 主题,请注意参考下文注解。
 要发布的消息,请注意参考下文注解。
 消息服务质量,可设定参数包含 0, 1, 2。
 消息重复标志,可设定参数包含 0, 1。本参数用在 publish 中 qos 为 1, 2 的情况,用来表明该消息是否为一条重复的消息。
 MQTT 消息保留标志,用于告知 broker 是否要将消息持久化,以供后来的订阅者消费。

返回:
• 成功:OK
• 失败: +CME ERROR:

关闭 MQTT 连接

AT+MQTTDISCONN #关闭 MQTT 连接

参数项:
无

返回:
• 成功:OK
• 失败: +CME ERROR:

补充:

73b2a26e9944c03f9c2ee5ed11e9dd8.png

案例

连接到 Eclipse Mosquitto

#创建 MQTT 连接
AT+MQTTCONN=”test.mosquitto.org”,1883,”rdatest”,90,0

#订阅一个 MQTT 主题
AT+MQTTSUBUNSUB=”/rda/test_topic”,1,1

#在主题上发布一条 MQTT 消息
AT+MQTTPUB=”/rda/test_topic”,”hello mqtt message published by RDA”,1,0,0

#退订一个 MQTT 主题
AT+MQTTSUBUNSUB=”/rda/test_topic”,0

#关闭 MQTT 连接
AT+MQTTDISCONN

连接到 OneNET

在连接到 OneNET 平台之前,我们首先需要在下列网址注册一个账户,并重建产品与设备,然后我们会得到一个产品 ID, 设备 ID以及授权信息; 我们需要用得到的对应指令中,用去对应指令中的, 以及用去对应指令中的。

#创建一个 MQTT 连接
AT+MQTTCONN=”183.230.40.39”,6002,”23036025”,120,0,”112333”,”ABC123RDA”

#订阅一个 MQTT 主题
AT+MQTTSUBUNSUB=”RDATEST_TOPIC”,1,1

#在主题上发布一条 MQTT 消息
AT+MQTTPUB=”RDATEST_TOPIC”,”hello mqtt published by rda”,1,0,0

#退订一个 MQTT 主题
AT+MQTTSUBUNSUB=”RDATEST_TOPIC”,0

#关闭 MQTT 连接
AT+MQTTDISCONN

来自:https://www.usr.cn/

你可能感兴趣的:(GM5 Cat-1通讯模组 MQTT通讯流程)