AT 工程:https://github.com/espressif/esp-at
AT 文档:https://docs.espressif.com/projects/esp-at/zh_CN/latest/
ESP-AT 应用: AT+MQTT 对接阿里云 IoT 物联网平台
本文介绍如何通过 AT 指令对接阿里云 IoT 物联网平台.
AT+MQTT指令说明参考 AT+MQTT 介绍
当前阿里云 IoT 物联网平台 iotkit-embedded 支持三种 MQTT 方式接入阿里云, 分别是:
MQTT基于设备秘钥认证方式 (包括一机一密,一型一密,子设备动态注册)MQTT基于 ID2 认证方式MQTT基于 X.509 证书认证方式
本文以 AT+MQTT 基于设备秘钥认证方式,展示一机一密具体过程。
准备
读者需根据 阿里云物联网平台文档中心, 获取 MQTT 连接参数:
ClientID用户名密码服务器地址服务器端口
建议:
多阅读几遍 阿里云物联网平台文档中心, 实际操作, 加深印象, 尤其是下面文档:
MQTT 基于设备秘钥认证方式(一机一密)
当前 AT+MQTT 连接阿里云,是基于设备秘钥认证方式, 基于 TCP, 无证书认证方式。
MQTT 连接需要使用上述准备阶段中的: ClientID, 用户名, 密码, 服务器地址, 服务器端口.
AT+MQTT 对接阿里云指令参考
AT+CWMODE=1
AT+CWJAP="ssid","password"
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
AT+CIPSNTPTIME?
AT+MQTTUSERCFG=0,1,"","","",0,0,""
AT+MQTTUSERNAME=0,"esp-at-001&a1nYdyIs7du"
AT+MQTTPASSWORD=0,"02CE99D94D22B22CD2A6033098B96C0ED157C3F127CFBBE41D5A131A5B0B1886"
AT+MQTTCLIENTID=0,"a1nYdyIs7du.esp-at-001|timestamp=2524608000000\,_v=sdk-c-3.0.1\,securemode=3\,signmethod=hmacsha256\,lan=C\,gw=0\,ext=0|"
AT+MQTTCONN=0,"a1nYdyIs7du.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1
AT+MQTTSUB=0,"/a1nYdyIs7du/esp-at-001/user/get",1
AT+MQTTPUB=0,"/a1nYdyIs7du/esp-at-001/user/get","hello\, aliyun!",1,0
注意:
AT+MQTTUSERCFG中第二参数为 1, 即基于 TCP, 无证书校验的方式AT+MQTTCLIENTID中第二参数为准备阶段的ClientIDAT+MQTTUSERNAME中第二参数为准备阶段的用户名AT+MQTTPASSWORD中第二参数为准备阶段的密码AT+MQTTCONN=0,"<endpoint>",1883,1中,endpoint为准备阶段的服务器名称, 端口1883不可更改- 阿里云使用受限的
MQTT topic, 注意阅读 自定义Topic 中介绍 - 设备发布到阿里云的
MQTT消息, 需用户 配置 AMQP 服务端订阅 等方式去接收
示例 LOG
正常交互 LOG 如下:
-
ESP 设备端 LOG

-
Aliyun 物联网平台 LOG


本文详细介绍了如何使用ESP-AT模块通过MQTT协议对接阿里云物联网平台,包括一机一密的设备秘钥认证方式的具体步骤。文章提供了必要的MQTT连接参数及AT指令参考,适合于嵌入式开发人员和物联网项目实施者。
1310

被折叠的 条评论
为什么被折叠?



