一、什么是透传
透传 = 透明传输意思就是:ESP8266 完全不处理、不解析你发的任何内容,只当一根「无线串口数据线」
- 串口收到什么 → 网络直接发出去
- 网络收到什么 → 串口直接吐出来
- 中间没有 AT 指令、没有长度限制、不用写 AT+CIPSEND = 字节数你就当ESP8266 是一根延长的无线串口线,这就是透传。
非透传(普通模式)什么样?
每次发数据必须严格格式:
- 先发
AT+CIPSEND=5声明字节长度 - 再发 5 个字符
- 不能随便发,每条都要 AT 指令控制
太麻烦,没法给 STM32 自动串口收发
透传模式什么样?
只要进入透传:
- 串口随便发啥,直接网上走
- 网上发来啥,串口直接给到 STM32
- 不用任何 AT 指令、不用填长度单片机可以直接裸数据收发,不用适配 ESP8266 的 AT 格式,但是透传一个数据包最多发送2048个字节的内容。
二、为什么要用透传?核心作用
- 适配 STM32 / 单片机单片机没法每次都帮你发 AT 指令、算数据长度,透传后只需要正常串口收发就行。
- 省去繁琐 AT 指令不用每次
AT+CIPSEND=xxx,直接发数据。 - 真正实现串口↔网络双向透明通信电脑串口助手发啥,ESP 直接网发;网络收啥,ESP 直接串口输出。
- 做项目必备无线串口、远程控制、传感器上传、LED 继电器控制,全部都用透传。
三、前置统一准备
- 只用安卓手机开 2.4G 热点,名字简单无中文
- 电脑、ESP8266 连同一个安卓热点
- 家用路由器有 AP 隔离 / 防蹭网,一律不用
- 电脑 IP:
192.168.43.149,端口:8082 - SSCOM 波特率和 ESP 一致:115200
四、TCP 透传 完整标准调试步骤
1. 电脑 SSCOM 设置
- 模式选:TCPServer
- 本地端口:8082
- 点「侦听」,保持侦听中
2. ESP8266 按顺序发 AT 指令
AT AT+CWMODE=1 // 设为STA连WiFi模式 AT+CWJAP="热点名","密码" // 连安卓2.4G热点 AT+CIPMUX=0 // 单连接模式 AT+CIPMODE=1 // 开启【透传模式】 AT+CIPSTART="TCP","192.168.43.149",8082正常返回:
CONNECT OK3. 进入透传数据收发
发送:
AT+CIPSEND出现>符号,正式进入透传此后:
- 串口直接打字,自动通过 TCP 发给电脑
- 电脑发数据,ESP 直接从串口输出
4. +++ 真正作用
连续发三个加号+++(不要加回车换行)只退出>数据输入状态,回到 AT 指令态,但透传模式并未关闭
5. 彻底关闭透传模式
AT+CIPMODE=0才是退出透传,变回普通 AT 模式。
五、UDP 透传 完整标准调试步骤
1. 电脑 SSCOM 设置
- 模式选:UDPServer
- 本地端口:8082
- 点「开始运行」
2. ESP8266 按顺序发 AT 指令
AT AT+CWMODE=1 AT+CWJAP="热点名","密码" AT+CIPMUX=0 AT+CIPMODE=1 // 开启透传 AT+CIPSTART="UDP","192.168.43.149",8082返回OK就可以
3. 进入 UDP 透传
AT+CIPSEND出现>即可裸数据双向收发,不用 AT、不用长度。
4. 退出与关闭透传
+++:仅退出发送提示符>,不关闭透传AT+CIPMODE=0:彻底关闭透传模式
六、TCP 透传 VS UDP 透传 完整对比
| 对比维度 | TCP 透传 | UDP 透传 |
|---|---|---|
| 连接机制 | 需建立连接,有CONNECT状态 | 无连接,直接发包,不用握手 |
| 可靠性 | 可靠传输,不丢包、不乱序 | 不可靠,可能丢包、乱序 |
| 适用场景 | 控制指令、单片机通信、LED / 继电器、必须准确 | 大数据上传、高频采样、允许少量丢包 |
| 断线表现 | 网络断开会主动提示 CLOSED | 永远不显断开,只管发 |
| 透传体验 | 纯透明,稳定可控 | 同样透明,但无校验 |
| 新手推荐 | 首选做项目、学开发 | 只做高速数据流用 |
| 配置难度 | 稍高一点,但最实用 | 简单粗暴 |