ESP8266 测试¶
ESP_01S 模块¶
安信可ESP_01S
Note
ESP_01S 实际上可以被视为一个独立的MCU,但在我们的案例中,我们将其用作WiFi模块。因此,在我们将其与STM32集成之前,我们需要使用AT固件对其进行烧录,并完全测试我们项目中将要使用的功能。ESP_01S应首先烧录AT固件,然后可以通过UART通过AT命令进行控制。在本章中,为简单起见,AT命令将从PC通过USB到UART适配器发送到ESP_01S。在下一步中,ESP_01S将通过UART连接到STM32,STM32将发送AT命令以控制ESP_01S。
步骤1:固件烧录¶
在烧录之前,我们需要设置硬件和软件环境。
硬件设置¶
准备您的ESP_01S模块,USB到TTL适配器,并按照下图连接:
ESP_01S | USB to TTL | 备注 |
---|---|---|
VCC | 3.3V | 如果不工作,请不要使用USB-TTL适配器上的VCC电源,请使用外部电源 |
GND | GND | |
TX | RX | |
RX | TX | |
CH_PD (EN) | 3.3V | 可不接 |
RST | 3.3V | 可不接 |
GPIO0 | GND | 烧录时,确保此引脚接地 |
GPIO2 | 3.3V | 可不接 |
Tip
对于VCC,我使用外部电源,因为USB-TTL适配器上的VCC不稳定,ESP_01S可能无法正常工作。
软件设置¶
- 从官方网站下载AT固件。
- 从官方网站下载Flash Download Tools。
烧录¶
在烧录工具中选择一行,并选择相应的bin文件。在烧录之前,我们需要先擦除flash。擦除后,我们可以开始烧录。
Tip
在开始擦除和烧录之前,请仔细检查COM端口号和波特率。确保配置与上图一致。
Tip
如果您的烧录工具卡在“SYNC”阶段,这意味着它需要一个触发。两种方法:
-
快速将RST连接到GND,然后断开连接;
-
快速断开VCC并重新连接。
在擦除FLASH之后,点击“STOP”按钮,然后可以点击"START"按钮开始烧录。如果你碰到与擦除阶段类似的问题,可以尝试上面提到的触发方法。
目前为止,我们已经完成了ESP_01S的固件烧录。在进行下一步之前,我们需要断开IO0和GND的连接,然后将USB到TTL适配器断开并重新连接至电脑。
步骤2: 测试¶
硬件 - ESP_01S - USB到TTL - PC¶
将ESP_01S连接到USB到TTL适配器,然后将USB到TTL适配器连接到PC。
对于ESP_01S和USB-TTL的接线,请参考下表:
ESP_01S | USB to TTL | 备注 |
---|---|---|
VCC | 3.3V | 如果USB-TTL适配器上的VCC不工作,请使用外部电源 |
GND | GND | |
TX | RX | |
RX | TX |
软件 - 串口助手¶
从安信可官网-资料下载下载安信可串口助手。
AT //模块测试
AT+CWMODE=1 //1. 是station(设备)模式 2.是AP(路由)模式 3.是双模
AT+CWLAP //列出可用wifi列表
AT+CWJAP="mywifiname","mypassword" //连接wifi
AT+CIFSR //查询ip
AT+CIPSTA? //显示网络状态,ip、网关、子网掩码
AT+CIPSTART="TCP","9.214.19.225",8000 //连接TCP服务器,确保服务器正常工作, 替换IP地址为你的服务器IP地址
AT+CIPSEND=4 //向服务器发送4个字节
测试结果:
AT
OK
AT+CWMODE=1
OK
AT+CWLAP
+CWLAP:(5,"eduroam",-68,"a8:9d:2
1:3c:12:b2",1,32767,0)
+CWLAP:(
5,"NTUSECURE",-70,"a8:9d:21:3c:12:b1",1,32767,0)
+CWLAP:(0,"NTU
GUEST",-68,"a8:9d:21:3c:12:b3",1,32767,0)
+CWLAP:(4,"CSW@CEE",-
26,"28:6c:07:d1:ca:db",1,18,0)
+CWLAP:(4,"miwifi-csw@cee",-26,"2a:6c:07:d1:ca:db",1,18,0)
+CWL
AP:(0,"NTUGUEST",-77,"a8:9d:21:25:fc:f3",6,32767,0)
+CWLAP:(5,"
eduroam",-77,"74:a2:e6:a7:ce:32",6,32767,0)
+CWLAP:(5,"NTUSECURE",-77,"74:a2:e6:a7:ce:31",6,327
67,0)
+CWLAP:(4,"BiliBili School",-62,"c0:c9:e3:e4:c3:83",6,13,
0)
+CWLAP:(5,"NTUSECURE",-77,"a8:9d:21:25:fc:f1",6,32767,0)
+C
WLAP:(4,"360WiFi-YM",-50,"70:af:6a:bb:48:81",6,-6,0)
+CWLAP:(5,"eduroam",-71,"a8:9d:21:1d:fc:42",11,32767,0)
+CWLAP:(5,"NTUSEC
URE",-70,"a8:9d:21:1d:fc:41",11,32767,0)
+CWLAP:(0,"NTUGUEST",-
69,"a8:9d:21:1d:fc:43",11,32767,0)
OK
AT+CWJAP_DEF="CSW@CEE","********"
WIFI CONNECTED
WIFI GOT IP
OK
AT+CIFSR
+CIFSR:STAIP,"192.168
.31.193"
+CIFSR:STAMAC,"48:3f:da:68:3d:22"
OK
AT+CIPSTA?
+CIPSTA:ip:"192.168
.31.193"
+CIPSTA:gateway:"192.168.31.1"
+CIPSTA:netmask:"255.255.255.0"
OK
AT+CIPSTART="TCP","9.214.19.225"
,8000
CONNECT
OK
AT+CIPSEND=4
OK
>
o
busy s...
Recv 4 bytes
SEND OK
+IPD,327:HTTP/1.1 400 Bad Requ
est
Server: nginx/1.18.0 (Ubuntu)
Date: Sat, 24 Aug 2024 09:56:18 GMT
Content-Type: text/html
Content-Length: 166
Connection: close
<html>
<head><title
>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.18.0 (Ubuntu)</center>
</body>
</html>
CLOSED
AT
OK
Info
实际上,ESP8266有MQTT版本,用于MQTT通讯。但是在本项目中,我们使用最基本的AT命令固件版本,MQTT将在STM32上实现。
参考连接¶
完整方案 - https://blog.csdn.net/WandZ123/article/details/125179784?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-125179784-blog-126431885.235v43pc_blog_bottom_relevance_base3&spm=1001.2101.3001.4242.1&utm_relevant_index=3
烧录 ESP8266
测试
安信可