【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. 感谢各位的阅读和支持,如果觉得这篇文章对你有帮助,请不要吝惜你的点赞和评论 ,这对我们非常重要。再次感谢大家的关注和支持点我关注❤️
相关推荐
车载测试工程师4 小时前
CAPL学习-AVB交互层-媒体函数2-其他类函数待分类
学习·tcp/ip·媒体·capl·canoe
福尔摩斯张7 小时前
插件式架构:解耦与扩展的艺术与实践(超详细)
linux·服务器·网络·网络协议·tcp/ip
FserSuN9 小时前
TCP RST 与 Broken Pipe:从协议语义到操作系统信号的体系化梳理
网络·网络协议·tcp/ip
apihz10 小时前
全球IP归属地查询免费API详细指南
android·服务器·网络·网络协议·tcp/ip
fiveym10 小时前
PXE装机遇DHCP错误:ICMP echo reply导致IP分配失败原理解析
网络协议·tcp/ip·php
梁辰兴11 小时前
计算机网络基础:局域网的数据链路层
网络·网络协议·计算机网络·计算机·数据链路层·局域网·梁辰兴
老王熬夜敲代码11 小时前
IP和MAC的深入理解
linux·网络·笔记·网络协议
小熊哥^--^11 小时前
谈谈对传输层协议TCP的理解
网络·网络协议·tcp/ip
缺的不是资料,是学习的心12 小时前
vmware虚拟机ens33拿不到ip,已经开启dhcp了
网络·网络协议·tcp/ip
Boop_wu12 小时前
[Java EE] 网络原理(2) http
网络·网络协议·http