;
移远 4G 系列模组的 AT 命令支持 MQTT,请参考以下步骤,只需几分钟就可以接入云平台并上报数据,还可以从云平台下发命令实现远程实时控制。
使用官方 AT 固件,支持以下模组型号。
进入 ThingsCloud 控制台,创建一个新的设备,进入 设备详情页>连接,获得以下信息,用于随后的设备 MQTT 接入。
查询卡状态
查询网络注册情况
以上 AT 命令均返回 ,表示网络正常。
配置 MQTT 接收模式
在设备详情页的【连接】选项中,找到当前可用区的 MQTT 服务器域名和端口,例如:
然后发送以下 AT 命令:
以上 AT 命令的第一个参数 ,表示 MQTT 客户端标识符,取值范围是 0~5。
需要特别注意的是,此时模组和云平台成功建立了 TCP 连接,但还没有完成 MQTT 身份验证,此时服务器会等待 5 秒,如果 5 秒内没有发送下边的 AT 指令,云平台将会自动断开 TCP 连接。
如果收到云平台关闭连接的消息,请再次发送上边的 AT 命令。
在设备详情页的【连接】选项中找到设备证书标识 和 。
发送以下 AT 命令,完成 MQTT 身份验证,成功完成 MQTT 连接。
至此,模组和云平台已建立 MQTT 连接,我们可以向云平台发布消息或订阅消息。
我们先来发送一个简单的属上报,消息内容为符合属上报协议的 结构,如下:
实际传输中,是字符串形式,过滤调换行和缩进,如下:
接下来,使用以下 AT 命令,发送这个属结构到云平台。
发送前,需要先计算消息字符串的长度,这里是 20 个字节。
该 AT 命令告诉模块将要发送一条 20 字节的消息,收到返回的 后,继续向模组串口发送字符串即可。若实际发送的长度超过了 20 个字节,多出来的字节会被删除。
发送成功后,模组会返回以下消息:
此时,在云平台的设备详情页,可以看到出现了名为 的属和值。
通过在属 结构中放置更多属,您可以将设备上更多数据上传到云平台。九游会官网入口
如果希望设备能够实时接收云平台下发的属数据,模组发送以下 AT 命令:
如果希望设备能够实时接收云平台下发的命令消息,模组发送以下 AT 命令:
通过上边的主题订阅,一旦云平台有相应的消息下发,模组便会将消息透传到使用 AT 的串口。
例如,当云平台下发了命令消息后,模组立即收到以下消息:
收到的命令消息结构如下: