移远EC200 EC20 EC600 EC800连接MQTT服务器

前言

移远的CAT1模块EC200S连接MQTT大致流程 ,经过测试,完全有效

A:开机

     就是对模块进行断电2S在上电.

B:基础配置

   这部分跟连TCP服务器一样

 (1):发送AT,确认模块是否正常

     "AT\r\n"

    模块返回:OK

 (2):取消模块回显

    "ATE0\r\n"

    模块返回:OK

(3)检查SIM是否正常

    "AT+CPIN?\r\n"

 模块返回:+CPIN: READY

(4):检查信号是否正常

    "AT+CSQ\r\n"

模块返回:+CSQ: 25,99  注:主要25这个字段小于31就行

(5)查询模组是否注册上GSM网络

     "AT+CREG?\r\n"

模块返回:+CREG: 0,1   注:1或者5为正常

(6)关闭移动场景

     "AT+QIDEACT=1\r\n"

      模块返回:OK

(7)打开移动场景

    "AT+QIACT=1\r\n"

   模块返回:OK

C:连接mqtt服务器

  (1)设置MQTT心跳

      "AT+QMTCFG=\"qmtping\",0,30\r\n"

     模块返回:OK

  (2)设置接收数据的模式

       "AT+QMTCFG=\"recv/mode\",0,0,1\r\n"

     模块返回:OK

 (3)为模块打开一个网络

     sprintf(tx,"AT+QMTOPEN=0,\"%s\",%d\r\n",_ec800n_date.IP,_ec800n_date.port);

     模块返回:+QMTOPEN: 0,0

 (4)连接到mqtt服务器

 sprintf(tx,"AT+QMTCONN=0,\"%s\",\"%s\",\"%s\"\r\n",_ec800n_date.clientid,_ec800n_date.username,_ec800n_date.password);

   模块返回:+QMTCONN: 0,0,0

D:订阅主题以及发布

(1)订阅主题

   sprintf(tx,"AT+QMTSUB=0,1,\"%s\",0,\"%s\",0\r\n",QMTSUB_ADDR,QMTSUB_ADDR1);

  模块返回:+QMTSUB: 0,1,0,1,1  注:这里订阅了两个主题

(2):发布

sprintf(sendBuf," AT+QMTPUBEX=0,0,0,0,\"%s\",%d\r\n",str,len);

模块返回>后接着写入数据

返回+QMTPUBEX: 0,0,0为发送成功

你可能感兴趣的:(服务器,运维,java)