zl程序教程

您现在的位置是:首页 >  其他

当前栏目

ESP-01S使用AT指令连接阿里云

阿里连接 指令 at 使用 ESP
2023-09-11 14:21:43 时间

ESP-01S使用AT指令连接阿里云

烧录MQTT AT固件

出厂的ESP-01S是基本的AT指令固件,没有MQTT的,所以无法通过MQTT指令与云平台通信,需要烧录固件(如果测试到有MQTT相关的指令,则不用重新烧录固件)

固件烧录教程:https://docs.ai-thinker.com/esp_download

需要按照教程将ESP-01S的IO0引脚接到VCC,才处于下载模式

我使用的烧录工具是乐鑫官方的:https://www.espressif.com.cn/zh-hans/support/download/other-tools

在这里插入图片描述

MQTT固件:https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB

因为ESP-01S的Flash只有8Mbit,也就是1MByte,所以要我选择了下面这个固件,适用于1MB flash的模组

在这里插入图片描述

点击开始后将ESP-01S重新上电,开始烧录固件

在这里插入图片描述

固件烧录成功后测试AT指令,查看固件版本,正常则可以连接阿里云

在这里插入图片描述

MQTT AT指令

乐鑫MQTT AT指令集:https://docs.espressif.com/projects/esp-at/zh_CN/release-v2.2.0.0_esp8266/AT_Command_Set/MQTT_AT_Commands.html

先取出设备的三元组,生成阿里云连接参数

在这里插入图片描述

在这里插入图片描述

1.AT+RST

重启设备

2.AT+CWMODE=1

设置为Station模式

3.AT+CIPSNTPCFG=1,8,“ntp1.aliyun.com”

开启SNTP服务器,8时域,SNTP服务器为阿里云域名

4.AT+CWJAP=“WIFI名称”,“密码”

连接WiFi

5.AT+MQTTUSERCFG=0,1,“NULL”,“ESP8266-1&hiyfcAbCXmq”,“DF3D6D0554E0C7B3F4A0BF7DBB2030C659CC64E4”,0,0,“”

配置用户名和密码

6.AT+MQTTCLIENTID=0,“esp8266|securemode=3\,signmethod=hmacsha1\,timestamp=100|”

配置ClientId

注意:需要在每个逗号前面加上\

如:esp8266|securemode=3,signmethod=hmacsha1,timestamp=100| 改为 esp8266|securemode=3\,signmethod=hmacsha1\,timestamp=100|

7.AT+MQTTCONN=0,“hiyfcAbCXmq.iot-as-mqtt.cn-shanghai.aliyuncs.com”,1883,1

连接MQTT Broker

ESP-01S AT指令回复情况

AT+RST

OK
AT+CWMODE=1

OK
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"

OK
AT+CWJAP="WIFI名称","密码"
WIFI CONNECTED
WIFI GOT IP

OK
AT+MQTTUSERCFG=0,1,"NULL","ESP8266-1&hiyfcAbCXmq","DF3D6D0554E0C7B3F4A0BF7DBB2030C659CC64E4",0,0,""

OK
AT+MQTTCLIENTID=0,"esp8266|securemode=3\,signmethod=hmacsha1\,timestamp=100|"

OK
AT+MQTTCONN=0,"hiyfcAbCXmq.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1
+MQTTCONNECTED:0,1,"hiyfcAbCXmq.iot-as-mqtt.cn-shanghai.aliyuncs.com","1883","",1

OK

发送到这一步就可以看到阿里云的设备显示在线了
在这里插入图片描述

订阅Topic,阿里云发送数据到ESP-01S

在阿里云复制订阅权限的Topic

在这里插入图片描述

发送AT指令,订阅Topic

AT+MQTTSUB=0,"/hiyfcAbCXmq/ESP8266-1/user/get",1

在设备已订阅Topic列表中点击发布消息

在这里插入图片描述

在这里插入图片描述

ESP-01S收到数据

在这里插入图片描述

发布Topic,ESP-01S发送数据到阿里云

发送AT指令,发布MQTT消息

其中 ESP-01S to aliyun 是发送的数据

AT+MQTTPUB=0,"/hiyfcAbCXmq/ESP8266-1/user/update","ESP-01S to aliyun",1,0

在这里插入图片描述

在阿里云平台查看设备到云消息

在这里插入图片描述

在这里插入图片描述

断开MQTT连接

发送下面AT指令即可断开MQTT连接

AT+MQTTCLEAN=0