模块3 WIFI物联网通信-项目1 WIFI连接平台-任务1 连接WIFI
基于STM32的物联网环境监测与远程控制系统实训套件-淘宝网
任务1 连接WIFI
一、任务描述
本任务基于STM32F103C8T6 最小系统板,通过串口 UART驱动ESP-01S WiFi 模块。
使用AT 指令实现 STM32 对 ESP-01S 的控制,完成WiFi 模块初始化、连接路由器 WiFi、测试网络等功能。掌握 STM32 串口通信、AT 指令收发、WiFi 模块驱动的基本方法,为后续网络数据传输、远程控制奠定基础。
二、任务目标
1. 知识目标
1)深入理解ESP-01S WiFi 模块的硬件结构、通信方式、工作模式。
2)掌握串口 UART 异步通信原理、电平标准、数据格式。
3)熟练掌握ESP-01S 基础 AT 指令集。
4)理解 **STA 模式(客户端模式)** 连接路由器的工作流程。
2. 能力目标
1)能够完成 ESP-01S 硬件接线:TX→PA3,RX→PA2,VCC→3.3V,GND→GND。
2)能够在 STM32CubeMX 中正确配置USART2。
3)能够编写串口发送 AT 指令、接收模块响应数据的程序。
4)能够实现ESP-01S 成功连接路由器 WiFi并获取 IP。
3. 素质目标
1)培养串口通信严谨、AT 指令规范的开发习惯。
2)提升硬件接线、串口调试、指令收发、问题排查能力。
3)养成先测试模块 → 再设置模式 → 最后连接 WiFi的工程流程。
三、任务重难点
1. 任务重点
1)USART2 配置:波特率 115200、8N1、PA2-TX、PA3-RX。
2)TX/RX 交叉连接。
3)ESP-01S 必须 3.3V 供电。
4)核心 AT 指令:测试、设置 STA 模式、连接 WiFi、查询 IP。
2. 任务难点
1)供电不足导致模块不响应、乱码、重启。
2)串口数据收发不完整、指令缺少\r\n。
3)WiFi 名称 / 密码错误、信号弱导致连接失败。
4)串口调试与数据解析。
四、知识准备
1.ESP-01S WiFi模块介绍
ESP-01S是乐鑫公司推出的一款低成本、高性能的 WiFi 模块,它基于 ESP8266 芯片,具有体积小、功耗低、易于集成等特点,广泛应用于物联网(IoT)项目中。
- 芯片:ESP8266
- 接口:UART 串口
- 通信方式:AT 指令集
- 工作电压:3.3V(严禁 5V)
- 模式:STA 模式(连接路由器)
- 默认波特率:115200
2. 串口 UART 通信知识(STM32 ↔ESP-01S)
本任务使用 USART2
PA2 = USART2_TX (发送)
PA3 = USART2_RX (接收)
串口必须配置:
- 波特率:115200
- 数据位:8
- 停止位:1
- 校验位:无
- 流控:无
注意:TX 与 RX 必须交叉连接!
STM32_TX(PA2) → ESP_RX
STM32_RX(PA3) → ESP_TX
3. AT 指令知识(连接 WiFi 核心)
所有 AT 指令必须以 \r\n 结尾。
1)AT
功能:测试模块是否正常
回复:OK
2)AT+CWMODE=1
功能:设置为 STA 模式(客户端,连接路由器)
回复:OK
- AT+CWJAP="SSID","PASSWORD"
功能:连接 WiFi
示例:AT+CWJAP="MyWiFi","12345678"
回复:OK 表示连接成功
4)AT+CIFSR
功能:获取模块 IP
回复:WIFI GOT IP
4.供电要求
- ESP-01S 必须 3.3V 供电
- 工作电流峰值较大,必须共地(GND 连在一起)
- 供电不足会导致模块乱码、无响应、反复重启
五、硬件连接
ESP-01S模块与主控STM32F103C8T6的引脚连接如表1所示。
表1 ESP-01S模块与主控STM32F103C8T6的引脚连接
|
编号 |
ESP-01S模块 |
主控STM32F103C8T6 |
|
1 |
VCC |
3V3 |
|
2 |
GND |
GND |
|
3 |
TX |
PA3(USART2_RX) |
|
4 |
RX |
PA2(USART2_TX) |
硬件连接电路图如图1所示。

图1 硬件连接电路图
六、任务实现
任务1.1 STM32CubeMX软件配置USART2
1.在工程根目录打开 STM32CubeMX文件,在USART2 global interrupt后挑勾,如图2所示。

图2 配置USART2
2.点击“GENERATE CODE”生成代码并在keil中打开工程。
任务1.2 添加esp-01s 驱动
1.将esp-01s文件夹拷贝到工程根目录。
2.在项目中添加esp-01s.c文件,如图3所示。

图3 添加esp-01s.c文件
3.将\esp-01s\inc目录添加到Include Paths中,如图4所示。

图4 将\esp-01s\inc添加到Include Paths中
任务 1.3 修改 main.c 代码
1.在/* USER CODE END Includes */前添加如下代码:
//esp-01s头文件
#include "esp-01s.h"
2.在/* USER CODE END 0 */前添加如下代码:
extern uint8_t Uart2_RxData;
3.在/* USER CODE END 2 */前添加如下代码:
HAL_UART_Receive_IT(&huart2,(uint8_t *)&Uart2_RxData, 1);//开启串口中断
HAL_Delay(500);
esp01s_Init(); //初始化esp01s,连接wifi
HAL_Delay(500);
任务 1.4 编译、下载、查看结果
1.点击编译按钮
,编译程序。
2.点击下载按钮
,下载程序。
3.打开串口调试助手,按stm32f103c8t6主控板上的复位键,在串口调试助手中输出打印信息,如图5所示。

图5 输出打印信息
更多推荐



所有评论(0)