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

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
ESP8266是一款常用的Wi-Fi模块,它支持通过AT命令控制和通信。要使用ESP8266连接阿里云物联网平台(IOT),通常需要完成以下几个步骤: 1. **初始化硬件**:连接电源、下载并烧录固件ESP8266,比如Arduino IDE中的ESP8266核心库。 2. **配置网络**:通过AT命令设置ESP8266的SSID和密码,使其能够接入Wi-Fi网络。 ```sh AT+CWMODE=1 // 设置工作模式为AP+STA模式 AT+CWJAP="<SSID>", "<PASSWORD>" // 连接无线网络 ``` 3. **获取IP地址**:连接成功后,ESP8266会自动获取到一个动态IP地址。 4. **注册设备**:在阿里云IoT平台上创建一个新的设备,并获取设备的API Key和Product Key。 5. **发送心跳包**:ESP8266定期发送心跳报文到云端,通常使用HTTP GET请求来表示在线状态。 ```sh AT+CIPSTART="TCP","<服务器地址>","<端口号>" AT+CIPSEND="<心跳数据>" ``` 6. **处理命令和上报数据**:对于接收到的数据(如传感器读数),可以编写程序解析并按照指定格式发送到云端。 7. **配置MQTT连接**:阿里云IoT平台通常推荐使用MQTT协议,如果需要,可以使用AT+CIPSSL来配置安全的HTTPS连接。 8. **订阅和发布消息**:通过MQTT命令行工具或自定义代码,订阅主题接收云端下发的消息,同时也可以发布自定义数据。 注意:以上操作可能会因实际环境和ESP8266固件版本的不同而有所调整,建议查阅官方文档或社区教程。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值