ESP8266WIFI实验准备工作

Tutorial: 电子电路 Category: 嵌入式 Published: 2026-08-29 08:09:36 Views: 0 Likes: 0 Comments: 0

056.8.1 ESP8266WIFI实验准备工作

一、课程回顾

本阶段的目标是让51单片机借助ESP8266 Wi-Fi模块获得网络通信能力。51单片机本身不具备Wi-Fi射频功能,但可以通过UART向ESP8266发送AT指令;ESP8266负责连接无线网络并完成TCP/IP通信。

flowchart LR
    A[51单片机] -->|UART与AT指令| B[ESP-01S]
    B -->|2.4GHz Wi-Fi| C[路由器或手机热点]
    C -->|局域网TCP| D[电脑]

这与蓝牙模块的思路相似:单片机只处理串口数据,通信模块负责无线链路。不过Wi-Fi通信还会涉及IP地址、端口、客户端、服务端和TCP连接等网络概念。

本讲先认识ESP-01S、供电与串口接线,再建立TCP客户端和服务端的基本概念,为后续AT指令实验做准备。

二、硬件介绍

2.1 WIFI透传模块

课程使用的是安信可ESP-01S模组,核心芯片属于乐鑫ESP8266系列。模组把ESP8266芯片、外部Flash、晶振、PCB天线及必要的外围元件集成在小型电路板上,对外引出8个插针。

ESP-01S功能组成

                    ┌──────────────┐
TXD / RXD ─────────>│              │
GPIO0 / GPIO2 ─────>│  ESP8266EX   │<────> 外部SPI Flash
EN / RST ──────────>│    SoC       │
                    │              │──────> PCB天线 ──> 2.4GHz Wi-Fi
3.3V / GND ────────>│              │
                    └──────────────┘

8个引脚的基本作用如下,实际接线应按照模块丝印确认,不要只凭照片方向判断:

引脚作用正常运行时的要点
VCC/3V3模块电源使用稳定的3.3V,不能直接接5V
GND电源地与信号参考地必须与串口设备共地
TXDESP8266串口发送接USB转TTL或单片机的RXD
RXDESP8266串口接收接对方TXD,并确保输入不超过3.3V逻辑范围
EN/CH_PD芯片使能高电平时芯片工作
RST复位,低电平有效正常工作时保持高电平
GPIO0通用I/O兼启动配置正常从Flash启动时保持高电平
GPIO2通用I/O兼启动配置正常启动时保持高电平

供电是ESP8266实验中最容易出问题的部分。 ESP8266工作电压典型值为3.3V,芯片工作范围上限为3.6V,ESP-01S的 VCC/3V3引脚不是5V输入。直接把5V接到该引脚可能立即损坏模块,也可能造成寿命缩短或不稳定。

Wi-Fi发射时会出现数百毫安的瞬时电流。很多廉价USB转TTL模块的3.3V输出能力较弱,因此会发生反复重启、发送时掉线或输出乱码。正确解决方法是增加电流能力足够的3.3V稳压电源,而不是给ESP-01S施加5V。

推荐的供电和串口连接如下:

USB 5V ──> 3.3V稳压器(建议可稳定提供500mA以上) ──┬──> ESP-01S VCC
                                                     ├──> ESP-01S EN
                                                     └──> 必要的启动上拉
                                      3.3V ──||── GND
                                             去耦电容

USB转TTL GND ───────────────────────────────────────> ESP-01S GND
USB转TTL RXD <─────────────────────────────────────── ESP-01S TXD
USB转TTL TXD ──[3.3V逻辑或电平转换]─────────────────> ESP-01S RXD

电源输入附近应放置低ESR储能电容,并在模块旁并联小容量陶瓷去耦电容。例如可使用 100~470 μF0.1 μF组合,具体值按稳压器和布线情况调整。导线过细、过长也会造成瞬时压降。

如果USB转TTL的TXD输出是5V逻辑,应切换到3.3V逻辑档,或在TXD到ESP8266 RXD之间增加可靠的电平转换。ESP8266 TXD输出3.3V,通常可以被支持TTL阈值的USB串口RXD识别,但仍应以转换板规格为准。

2.2 乐鑫官网

乐鑫信息科技是ESP8266EX芯片的设计厂商。ESP8266EX不仅包含Wi-Fi射频,还集成32位处理器、UART、SPI、GPIO等资源,并支持Station、SoftAP和两者共存等Wi-Fi模式。

在本课程中,ESP8266运行已经烧录好的AT固件,用户不直接编写ESP8266内部程序,而是把它当作“串口控制的网络协处理器”:

上位机或51单片机发送AT命令
            │
            ▼
ESP8266 AT固件解析命令
            │
            ├── 配置Wi-Fi
            ├── 建立TCP/UDP连接
            └── 在UART与网络之间转发数据

芯片资料主要用于核对供电、电平、射频和启动条件;AT命令的具体格式还要结合模块所烧录的AT固件版本,因为不同固件版本支持的命令和默认参数可能不同。

2.3 安信可官网

安信可是ESP系列模组厂商之一,ESP-01S是其基于乐鑫ESP8266芯片设计的模组。它不是ESP8266芯片本身,而是把芯片和外围电路封装成便于使用的产品。

ESP-01与ESP-01S属于不同硬件版本。两者都可能正常使用,但引脚外围、指示灯、上拉电阻、Flash或固件配置可能存在差异。课程选择ESP-01S,是为了让硬件和演示环境保持一致;购买和查资料时要核对完整型号,不能只看“ESP8266”字样。

资料页面通常包括:

  • 模组规格书、尺寸和引脚说明;
  • AT固件及烧录资料;
  • 常见启动、供电和联网问题;
  • 接入云平台或物联网服务的示例;
  • 不同ESP8266模组之间的选型信息。

2.4 物联网项目

ESP8266既可用于本地局域网通信,也可连接互联网中的云平台。一个较完整的物联网系统可分为设备、网络、云端和应用四层:

flowchart LR
    Z[51单片机与传感器] -->|ZigBee| S[STM32主控制器]
    S -->|UART| E[ESP8266]
    E -->|Wi-Fi| R[路由器]
    R -->|Internet| C[云平台]
    P[手机App] -->|4G/5G/Wi-Fi| C
    C -->|控制命令| P2[云端消息通道]
    P2 --> R

数据上行时,传感器数据由单片机交给ESP8266,再通过路由器上传云平台;数据下行时,手机App先向云平台发送控制命令,云平台再转发给在线设备。手机与单片机不一定直接建立连接,云平台承担设备鉴权、消息路由、数据保存等任务。

若加入ZigBee,51单片机和STM32之间还需要匹配的ZigBee节点及协调器,并设计单独的数据协议。无线模块只提供传输通道,数据含义、校验、重发和设备状态仍要由应用程序规定。

2.5 产品供货保证

乐鑫的产品生命周期页面列出了ESP8266系列15年的长期供货承诺,起止日期为2014年1月1日至2029年1月1日。这是芯片系列的生命周期承诺,不等于任意ESP-01S店铺或特定固件版本在此期间始终有现货。

ESP8266属于推出时间较早、生态成熟的产品,适合教学和存量项目。新项目还可评估ESP32-C2、ESP32-C3等较新的低成本Wi-Fi SoC;ESP32-S2、ESP32-S3则具备更丰富的处理器和外设资源,可直接承担更复杂的主控任务。选型时应综合考虑:

  • 供货周期与厂商状态;
  • Wi-Fi、蓝牙等无线功能;
  • RAM、Flash、GPIO和外设数量;
  • 开发方式是AT固件还是直接编程;
  • 功耗、成本、认证和软件维护周期。

ESP8266 AT命令通常以ASCII字符 AT开头,并以回车换行 \r\n结束。例如最基本的测试命令在线路上是:

字符:A    T    \r   \n
HEX: 41   54   0D   0A

只发送 AT但没有正确行结束符,AT固件通常不会执行。串口助手若提供“自动添加回车换行”选项,应确认它实际追加的是 CR LF

三、CH340串口模块

3.1 CH340串口模块介绍

CH340是USB转UART桥接芯片。电脑通过USB识别出一个虚拟COM口,CH340再把USB数据转换为UART的TXD/RXD信号。它适合在第一阶段直接向ESP-01S发送AT指令,从而把单片机程序因素暂时排除。

flowchart LR
    A[电脑串口助手] -->|USB| B[CH340 USB转UART]
    B -->|TXD/RXD| C[ESP-01S AT固件]
    C -->|Wi-Fi| D[路由器或热点]

不同CH340小板的电路并不相同:有些跳帽选择3.3V/5V逻辑,有些跳帽连接供电输出,有些带独立稳压器。视频中的“去掉黄色跳帽”只适用于画面里的具体板型。使用其他转换板时,应先查看板上丝印、原理图或商家说明,不能机械照搬跳帽位置。

3.2 51单片机与ESP8266的通信原理

最终系统中存在两条性质不同的通信链路:

链路一:51单片机 <--UART字节--> ESP8266
链路二:ESP8266  <--Wi-Fi/TCP--> 电脑

ESP8266承担协议转换:

flowchart LR
    M[51单片机应用数据] --> U[UART发送]
    U --> A[ESP8266 AT固件]
    A --> T[TCP/IP协议栈]
    T --> W[Wi-Fi无线帧]
    W --> R[无线路由器]
    R --> P[电脑TCP程序]

51单片机不直接生成Wi-Fi无线帧,也不直接处理TCP握手;它通过AT命令要求ESP8266入网、建立连接和发送数据。ESP8266收到网络数据后,再从UART返回提示或数据内容。

电脑和ESP8266在同一局域网时,通常可以使用私有IP地址直接通信,但还要满足:

  • 电脑服务端监听正确的本地IP与端口;
  • 路由器没有开启客户端隔离;
  • 电脑防火墙允许该端口;
  • ESP8266连接的是2.4GHz Wi-Fi,SSID与密码正确;
  • 双方网络可路由,不只是名称看起来相同。

3.3 购买链接与课程配套硬件清单

课程硬件清单可用于确认外形和型号,但购买链接可能下架或更换。购买时应核对:

  • 型号明确为ESP-01S;
  • 模组来源、Flash和AT固件说明清楚;
  • 是否需要单独的3.3V大电流稳压板或ESP-01S专用适配板;
  • USB转TTL是否支持3.3V逻辑,供电输出能力是多少;
  • 排针方向、转接底板和烧录器是否匹配。

不要仅凭“安信可原装”字样判断全部电气参数,收到模块后仍应核对丝印和资料。链接失效时可在店铺内搜索完整型号,但不应在学习笔记中依赖某个临时商品地址。

四、TCP实验

TCP是一种面向连接、可靠、有序的字节流传输协议。建立连接后,TCP负责重传、排序和差错检测,使应用层按顺序获得字节。

TCP通信通常包含:

服务端:绑定本机IP和端口 → 监听 → 接受连接 → 收发数据
客户端:指定服务端IP和端口 → 主动连接 → 收发数据

一个服务端程序可以根据实现方式同时管理多个客户端,但“服务端”这个名称本身并不保证一定支持任意数量的连接。本实验只使用一个ESP8266客户端和一个电脑服务端。

TCP提供的是字节流,不保留应用层消息边界。例如连续发送两次 ABCDEF,接收端可能一次读到 ABCDEF,也可能分多次读到。正式协议需要用固定长度、分隔符或长度字段划分消息。

4.1 接线方式

第一阶段不连接51单片机,只使用USB转TTL、可靠3.3V电源和ESP-01S:

                 ┌──────── 3.3V稳压电源 ────────┐
                 │                              │
                 ├──> ESP-01S VCC               │
                 ├──> ESP-01S EN                │
                 └──> 启动配置上拉               │

USB转TTL GND ─────────> ESP-01S GND <──────── 电源GND
USB转TTL RXD <───────── ESP-01S TXD
USB转TTL TXD ──电平转换─> ESP-01S RXD

禁止把ESP-01S的3V3引脚直接接到5V。 如果转换板的3.3V输出带不动模块,应换用电流能力足够的3.3V稳压器或专用ESP-01S适配板。

上电前按下面顺序检查:

  1. 万用表确认电源为约3.3V,极性正确。
  2. 确认所有设备共地。
  3. 确认TX接RX、RX接TX,没有把两个输出端直接相连。
  4. 确认USB转TTL到ESP RXD的逻辑电平不超过允许范围。
  5. 确认EN为高,RST为高,GPIO0/GPIO2满足正常启动状态。
  6. 模块天线区域远离金属、导线和大面积铜板。
  7. 根据所用转换板的真实电路设置跳帽。

插入电脑后,在设备管理器确认COM口,再用串口助手选择固件对应的波特率。不同AT固件的默认波特率可能不同;无响应时应先核对资料,而不是连续尝试高电压供电。

4.2 作为客户端测试

本实验让ESP-01S作为TCP客户端,电脑网络调试工具作为TCP服务端:

sequenceDiagram
    participant PC as 电脑TCP服务端
    participant AP as 路由器/热点
    participant ESP as ESP-01S客户端
    ESP->>AP: 连接2.4GHz Wi-Fi
    ESP->>PC: 向电脑IP和监听端口发起TCP连接
    PC-->>ESP: 接受连接
    ESP->>PC: 发送数据
    PC->>ESP: 返回数据

开始实验前需要准备:

  • 路由器或手机2.4GHz热点的SSID和密码;
  • 电脑在该网络中的IPv4地址,而不是 127.0.0.1
  • 电脑服务端监听端口;
  • 防火墙放行规则;
  • 与AT固件匹配的串口波特率和命令文档。

典型步骤是先用 AT\r\n确认模块响应,再设置Wi-Fi模式、连接热点、查询IP、建立TCP连接,最后进入发送流程。具体命令将在下一讲逐条执行。