跳至主要內容

芯讯通/SIMCOM LTE 系列模组 AT 命令 MQTT 接入

约 696 字大约 2 分钟

芯讯通/SIMCOM LTE 系列模组 AT 命令 MQTT 接入

芯讯通/SIMCOM LTE 系列模组 AT 命令直接支持 MQTT,请参考以下步骤,只需几分钟就可以接入 ThingsCloud 云平台并上报数据,还可以从云平台下发消息实现远程实时控制。

提示

ThingsCloud 支持设备 MQTT 接入,点此了解 设备 MQTT 接入

支持模组

支持芯讯通 LTE 全系列模组的 AT 固件,包括:

  • SIM7500
  • SIM7600
  • SIM7800

在控制台创建设备

进入 ThingsCloud 控制台open in new window,创建一个新的设备,进入 设备详情页>连接,获得以下信息,用于随后的设备 MQTT 接入。

  • MQTT 地址、端口
  • AccessToken: 作为 MQTT username
  • ProjectKey: 作为 MQTT password

模组 AT 命令

检查网络

AT+CSQ
+CSQ: 21,99

OK

AT+CPSI?
+CPSI: LTE,Online,460-00,0x1816,12870731,469,EUTRAN-BAND39,38400,5,5,-116,-1039,-719,11

OK

AT+CGREG?
+CGREG: 0,1

OK

AT+CGATT?
+CGATT: 1

OK

建立 MQTT 连接

AT+CMQTTSTART
+CMQTTSTART: 0

OK

AT+CMQTTACCQ=0,"0n16uobf"
OK

设备详情页>连接 复制 <MQTT地址>、设备证书 <AccessToken><ProjectKey>

AT+CMQTTCONNECT=0,"tcp://<MQTT地址>:1883",60,1,"<AccessToken>","<ProjectKey>"
OK

+CMQTTCONNECT: 0,0

至此,模组和云平台已建立 MQTT 连接,在 ThingsCloud 控制台可以看到设备状态显示为在线。

接下来,我们可以向云平台发布消息或订阅消息。

MQTT 上报属性

我们先来发送一个简单的属性上报,消息内容为符合属性上报协议的 JSON 结构,如下:

{
    "temperature": 28.5,
    "light": 2000,
    "switch": true
}

以上 JSON 包含了 3 个属性:温度、光照强度、开关状态,我们将 JSON 文本去掉换行和多余的空格,压缩为一行如下:

{"temperature": 28.5,"light": 2000,"switch": true}

通过 AT 发布属性,如下:

AT+CMQTTTOPIC=0,10
>attributes
OK

AT+CMQTTPAYLOAD=0,50
>{"temperature": 28.5,"light": 2000,"switch": true}
OK

AT+CMQTTPUB=0,1,60
OK

此时,在云平台的设备详情页,可以看到出现了名为 temperature 的属性和值。

通过在属性 JSON 结构中放置更多属性,您可以将设备上更多数据上传到云平台。

订阅消息下发

这里我们订阅云平台的自定义数据流主题,来实现模组实时接收云平台的消息。

+CMQTTPUB: 0,0
AT+CMQTTSUB=0,15,1
>data/stream/set
OK

+CMQTTSUB: 0,0

OK

关闭 MQTT 连接

AT+CMQTTDISC=0,120 
OK

+CMQTTDISC: 0,0

AT+CMQTTREL=0
OK

AT+CMQTTSTOP
OK
+CMQTTSTOP: 0

高级功能

一型一密

对于需要量产的设备,通常使用动态获取证书的方式,即实现一型一密。点此了解 设备动态获取证书