【ESP8266】使用 ESP8266 + CoolTerm + Packet Sender 构建 TCP 通信的完整调试流程

目录

  • **简介**
  • **一、硬件连接**
    • [**1. 接线图**](#1. 接线图)
    • [**2. 重要注意事项**](#2. 重要注意事项)
  • [**二、CoolTerm 串口配置**](#二、CoolTerm 串口配置)
  • [**三、AT 指令调试过程(完整实测)**](#三、AT 指令调试过程(完整实测))
    • [**1. 测试模块是否正常工作**](#1. 测试模块是否正常工作)
    • [**2. 查看固件版本**](#2. 查看固件版本)
    • [**3. 设置 WiFi 工作模式为 STA**](#3. 设置 WiFi 工作模式为 STA)
    • [**4. 连接路由器**](#4. 连接路由器)
    • [**5. 查询本机 IP**](#5. 查询本机 IP)
    • [**6. 启用 TCP Server(监听 8080)**](#6. 启用 TCP Server(监听 8080))
  • [**四、使用 Packet Sender 进行 TCP 测试**](#四、使用 Packet Sender 进行 TCP 测试)
    • [**1. PC 作为客户端连接 ESP8266**](#1. PC 作为客户端连接 ESP8266)
    • [**2. 从 PC 发送数据到 ESP8266**](#2. 从 PC 发送数据到 ESP8266)
  • [**五、ESP8266 回发数据到客户端(核心)**](#五、ESP8266 回发数据到客户端(核心))
    • [**1. 声明要发送的数据长度**](#1. 声明要发送的数据长度)
    • [**2. 输入要发送的内容**](#2. 输入要发送的内容)
  • **六、注意事项与常见问题**
    • [**1. busy s... 是什么?**](#1. busy s... 是什么?)
    • [**2. link is not valid 是什么?**](#2. link is not valid 是什么?)
    • [**3. 为什么 AT+CIPSERVER 必须配合 CIPMUX=1?**](#3. 为什么 AT+CIPSERVER 必须配合 CIPMUX=1?)
  • **七、调试技巧与优化建议**
      • [**1. 使用 netcat 代替 Packet Sender(更稳定)**](#1. 使用 netcat 代替 Packet Sender(更稳定))
      • [**2. 使用 CoolTerm Macros 自动发送常用 AT 指令**](#2. 使用 CoolTerm Macros 自动发送常用 AT 指令)
      • [**3. 供电一定要稳定**](#3. 供电一定要稳定)
      • [**4. 如果串口输出乱码**](#4. 如果串口输出乱码)
  • **八、完整流程图(总结)**
  • **结语**
    • [9. 结束语](#9. 结束语)

使用 ESP8266 + USB-TTL + CoolTerm + Packet Sender 构建 TCP 通信的完整调试流程(含硬件接线、AT 指令、踩坑总结)


简介

本文将带你从零开始完成 ESP8266 的 TCP 通信调试,包含:

  • 硬件接线(ESP8266 + USB-TTL)
  • CoolTerm 串口配置与 AT 指令调试
  • 配置 WiFi STA 模式、获取 IP
  • 通过 Packet Sender 建立 TCP 客户端测试连接
  • 使用 AT+CIPSEND 实现从 ESP8266 回发数据
  • 出现 busy s...link is not valid 等错误时的排查方法

文章基于实际调试数据整理,内容清晰、可复现,是 ESP8266 初学者与嵌入式工程师快速上手 WiFi 模块的最佳指南之一。


一、硬件连接

ESP8266 在 AT 模式下,需要 USB-TTL(如 CH340/CP2102)与电脑通信。

1. 接线图

USB-TTL ESP8266
TX → RX(GPIO3)
RX ← TX(GPIO1)
GND ↔ GND
3.3V → VCC(必须是稳定 3.3V ≥ 500mA)

2. 重要注意事项

  • 必须共地(GND ↔ GND)
  • ESP8266 峰值电流可达 300--400mA,USB-TTL 自带的 3.3V 大多电流不足
  • CH_PD(或 EN)必须上拉到 3.3V,否则模块不会工作
  • GPIO0 必须保持高电平(运行模式)

二、CoolTerm 串口配置

打开 CoolTerm → Options:

  • Baudrate:115200
  • Data bits:8
  • Parity:None
  • Stop bits:1
  • Flow control:None
  • Terminal → Send on Enter:CR+LF
  • Encoding:ASCII

点击"Connect"连接串口。


三、AT 指令调试过程(完整实测)

以下内容是一次真实的调试回显


1. 测试模块是否正常工作

复制代码
AT
OK

2. 查看固件版本

复制代码
AT+GMR
AT version:1.7.4.0(Jul  8 2020 15:53:04)
SDK version:3.0.5-dev(52383f9)
compile time:Aug 28 2020 14:37:33
OK

固件版本越新,支持的 AT 指令越多。


3. 设置 WiFi 工作模式为 STA

复制代码
AT+CWMODE=1
OK

4. 连接路由器

复制代码
AT+CWJAP="HUAWEI-LUCKI","123456789"
WIFI CONNECTED
WIFI GOT IP
OK

5. 查询本机 IP

复制代码
AT+CIFSR
+CIFSR:STAIP,"192.168.3.77"
+CIFSR:STAMAC,"3c:61:05:f0:5c:f0"
OK

192.168.3.77 是 ESP8266 的 IP,等会 Packet Sender 就连它。


6. 启用 TCP Server(监听 8080)

复制代码
AT+CIPMUX=1
OK

AT+CIPSERVER=1,8080
no change
OK

no change 表示服务器已经创建成功。


四、使用 Packet Sender 进行 TCP 测试

1. PC 作为客户端连接 ESP8266

Packet Sender 设置:

  • Protocol:TCP
  • Remote Host:192.168.3.77
  • Remote Port:8080
  • 点击 Connect(非常关键,不能只发一次数据后自动关闭)

连接成功后,CoolTerm 会显示:

复制代码
0,CONNECT

说明:Link ID = 0


2. 从 PC 发送数据到 ESP8266

Packet Sender 输入:

复制代码
HELLO ESP8266

CoolTerm 收到:

复制代码
+IPD,0,15:HELLO ESP8266

ESP8266 已成功收到 TCP 数据。


五、ESP8266 回发数据到客户端(核心)

1. 声明要发送的数据长度

复制代码
AT+CIPSEND=0,10
OK
>

出现 > 表示 ESP8266 等待你输入 10 个字节。

2. 输入要发送的内容

例如:

复制代码
123456789ABC

Packet Sender 上就能收到这 10 个字节。

CoolTerm 显示:

复制代码
> BC

busy s...

Recv 10 bytes

SEND OK

说明本次发送成功。


六、注意事项与常见问题


1. busy s... 是什么?

表示 ESP8266 正在处理数据,通常出现在:

  • 你输入数据太快
  • 或者上一次发送还没完成

解决方法:

  • 发送后等 300--500 ms
  • 不要连续输入指令
  • 必要时重启连接

你对 link 0 操作时,它已经断开:

复制代码
0,CLOSED

客户端没有保持长连接时常发生。

解决方法:

  • Packet Sender 使用"Connect"

  • 或用 netcat:

    复制代码
    nc 192.168.3.77 8080

3. 为什么 AT+CIPSERVER 必须配合 CIPMUX=1?

  • CIPMUX=0:单连接模式,只能作为客户端
  • CIPMUX=1:多连接模式,才能开启 TCP Server

七、调试技巧与优化建议

1. 使用 netcat 代替 Packet Sender(更稳定)

在 mac 终端输入:

复制代码
nc 192.168.3.77 8080

它不会自动关闭连接,非常适合调试。


2. 使用 CoolTerm Macros 自动发送常用 AT 指令

例如创建宏:

复制代码
AT+CWMODE=1
AT+CWJAP="HUAWEI-LUCKI","123456789"
AT+CIPMUX=1
AT+CIPSERVER=1,8080

一键执行全部。


3. 供电一定要稳定

不稳定的 3.3V 会导致:

  • 重启
  • busy...
  • 串口乱码
  • 连接失败

4. 如果串口输出乱码

更换波特率 74880(ESP8266 的 boot log)


八、完整流程图(总结)

复制代码
电脑 ←→ USB-TTL ←→ ESP8266(AT 固件)
   |                    |
CoolTerm             WiFi 连接路由器
   |                    |
发送 AT                 |
   |                    |
Packet Sender 通过 TCP 连接到 ESP8266(IP: 192.168.x.y)
   |                    |
互相发送数据 ←→ +IPD 回显 ←→ CIPSEND 回发数据

结语

文章从硬件接线、串口调试、WiFi 连接、TCP 通信到错误分析,逐步带你完成 ESP8266 的基础网络调试流程。

你现在已经掌握:

  • ESP8266 如何作为 STA 模式运行
  • 如何创建 TCP server
  • 如何用 PC 客户端与其通信
  • 如何处理常见错误(busy、link invalid 等)

9. 结束语

  1. 本节内容已经全部介绍完毕,希望通过这篇文章,大家对 ESP8266 有了更深入的理解和认识。
  2. 感谢各位的阅读和支持,如果觉得这篇文章对你有帮助,请不要吝惜你的点赞和评论 ,这对我们非常重要。再次感谢大家的关注和支持点我关注❤️
相关推荐
老蒋新思维1 小时前
创客匠人 2025 峰会启示:AI 重构企业管理领域知识变现的效率逻辑
人工智能·网络协议·tcp/ip·重构·知识付费·创始人ip·创客匠人
g***55751 小时前
详解 为什么 tcp 会出现 粘包 拆包 问题
网络·tcp/ip·php
9527华安1 小时前
紫光同创FPGA实现 TCP/IP 协议栈,千兆网服务器版本,提供5套工程源码和技术支持
服务器·tcp/ip·fpga开发
此生只爱蛋2 小时前
【Linux】UDP报头和TCP报头
linux·tcp/ip·udp
达不溜的日记2 小时前
UDS诊断-31服务
服务器·stm32·单片机·网络协议·网络安全·信息与通信·信号处理
濊繵2 小时前
Linux网络--应用层协议 HTTP
网络·网络协议·http
闲人编程2 小时前
WebSocket实时通信协议深度解析
网络·websocket·网络协议·安全·通信·codecapsule
fendouweiqian2 小时前
宝塔(BT)面板自签证书安装到本机,实现 https://IP 访问不再报不安全
tcp/ip·安全·https
特种加菲猫2 小时前
解码TCP:如何实现可靠的数据传输
linux·网络·网络协议·tcp/ip