序言
MQTT是基于二进制消息的发布/订阅编程模式的消息协议;由于规范很简单,非常适合需要低功耗和网络带宽有限的IoT场景,比如:智能家居、智慧城市和医疗医护;深受广大童鞋的青睐和喜爱。下面我们以SIM7600为例实现和阿里云的MQTT通信。

硬件准备

软件准备

通信步骤

1.硬件连接
2.阿里云物联网平台功能配置
  • 进入阿里云物联网平台平台->登录->快速入门
  • 注册设备
  • 选择开发包
  • SDK下载
  • 配置与测试
  • 完成产品创建
  • 添加设备
  • 填写产品名称、设备名称和备注名称
    在这里插入图片描述
    *在产品目录中查看设备
    在这里插入图片描述
  • 自定义Topic->操作权选择发布和订阅->名字这里改为TEST
    在这里插入图片描述
3.通过MQTT和阿里云平台通信
  • 三元组准备,下面的步骤有用到的直接复制粘贴过去
{
  "ProductKey": "a1mQpKOF9hp",
  "DeviceName": "7600",
  "DeviceSecret": "8f663b388dee796b931ebcb789b75a39"
}

连接MQTT

初始化

AT+CMQTTREL=0
AT+CMQTTSTOP
AT+CMQTTSTART
  • 设备鉴权
AT+CMAUTH="a1mQpKOF9hp","7600","8f663b388dee796b931ebcb789b75a39"
  • 设置MQTT参数
AT+CMPARA="KEEPALIVE",180000
  • MQTT 请求超时时间,单位毫秒,默认值 2000,范围是
    500~5000。
AT+CMPARA="TIMEOUT",3000
  • 是否清除 session,数字类型,0-不清除,1-清除,默认值 0
AT+CMPARA="CLEAN",0
  • MQTT连接
AT+CMCONN

  • 阿里云7600设备发送消息
    在这里插入图片描述
    在这里插入图片描述

  • 订阅消息

AT+CMSUB="user/test",1  
  • SIM7600X接收消息
    (平台未发布之前,CMYIELD 手动接受,没有回复)
AT+CMYIELD=200

在这里插入图片描述

  • 自动接收(可以自动收到平台发布的消息)
AT+CMAUTOYIELD=2,2000
at+cmautoyield=2,2000
  • 取消订阅
AT+CMUNSUB="user/test " 
  • 发布消息
AT+CMPUB="user/test",1,"12345678"
  • 在阿里云物联网平台的日志服务栏查看收到的消息
    在这里插入图片描述在这里插入图片描述

用户名密码模式(三元组保持)

三元组通过密码工具得到密码
在这里插入图片描述


//////////////开启mqtt服务///////////////
at+cmqttstart

//////////////申请一个client///////////////
 
at+cmqttaccq=0,"7600|securemode=3,signmethod=hmacsha1|"

/////////////连接mqtt server/////////////////////
at+cmqttconnect=0,"tcp://a1zjhbLfSbW.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883",60,1,"7600&a1mQpKOF9hp","D48150E8D550607B15C667E100635EE96EA7D512"

/////////////订阅////////////
AT+CMQTTSUB=0,27,1,1

出现提示符>之后,输入:
/a1mQpKOF9hp/7600/user/7600

//////////////输入要发布消息的主题/////////////
AT+CMQTTTOPIC=0,27
出现提示符>之后,输入:
/a1mQpKOF9hp/7600/user/7600

/////////////////发布消息///////////////////
AT+CMQTTPAYLOAD=0,5
AT+CMQTTPUB=0,1,60    //发送服务器

在这里插入图片描述

///////////////断开链接//////////////////////
AT+CMQTTUNSUB=0,28,1    //取消订阅主题    为取消订阅消息设置一个主题
AT+CMQTTDISC=0,60     //断开与服务器的连接
AT+CMQTTREL=0   //释放一个client
AT+CMQTTSTOP   //关闭mqtt服务
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐