通过芯讯通/SIMCOM LTE 系列模组的 AT MQTT,可以快速接入 ThingsCloud 平台实现数据上报,以及下发消息实现远程实时控制。
ThingsCloud 是开放的物联网公有云平台,为物联网设备提供统一接入和低代码应用。这一篇我们分享来自芯讯通/SIMCOM 的 LTE 模组接入 ThingsCloud 的步骤。感谢芯讯通的工程师提供测试协助。
芯讯通/SIMCOM LTE 系列模组 AT 命令直接支持 MQTT,请参考以下步骤,只需几分钟就可以接入 ThingsCloud 云平台并上报数据,还可以从云平台下发消息实现远程实时控制。
关于 ThingsCloud 标准 MQTT 接入协议,请浏览 设备 MQTT 接入。
支持模组
支持芯讯通 LTE 全系列模组的 AT 固件,包括:
- SIM7500
- SIM7600
- SIM7800
在控制台创建设备
进入 ThingsCloud 控制台,创建一个新的设备,进入 设备详情页>连接,获得以下信息,用于随后的设备 MQTT 接入。
- MQTT 地址、端口
AccessToken
: 作为 MQTT usernameProjectKey
: 作为 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
高级功能
一型一密
对于需要量产的设备,通常使用动态获取证书的方式,即实现一型一密。点此了解 设备动态获取证书。
更多设备接入示例,请浏览 教程