ESP8266固件与透传模式

本篇文章主要是三个部分,刷入官方原厂固件,进入透传模式,常用的AT指令集。有时候控制端不需要MCU反馈信息,那么就可以使用透传模式进行控制。USB转ESP8266通常再买回来的时候就已经刷入了官方固件,但是如果自己要重新刷入就需要USB转TTL,所以最好一次买两个USB-TTL,一个焊接好作为烧录器,另一个日常使用是比较方便的。

固件刷入

这个是固件库(2015版本也是适配的)的下载链接:https://img.zouchanglin.cn/ESP8266-01S.zip

如何进入透传模式

透传就是指不需要关心WIFI协议是如何实现的,所需要做的就是A通过串口发数据,B通过串口收数据,整个过程中A串口和B串口就像是用导线直接连接起来了一样。则对于开发人员来看,就是完全透明的。

上图是ESP8266作为透传的媒介,达到服务端把数据交给MCU的流程。

手动进入透传模式

AT+CWMODE=1

AT+CWJAP=“HuaweiLinkV9”,“password”

AT+CIPSTART=“TCP”,“192.168.0.122”,8080

AT+CIPMODE=1 进入透传

AT+CIPSEND 开始透传

+++(不带换行)退出透传

AT+CIPMODE = 0(带换行)不进透传

开机直接进入透传

AT+CWMODE=1

AT+CWJAP=“HuaweiLinkV9”,“password”

AT+CIPSTART=“TCP”,“192.168.0.122”,8080

AT+SAVETRANSLINK=1,“192.168.0.122”,8080,“TCP”

+++(不带换行)退出透传

AT+CIPMODE = 0(带换行)退出透传

一、基础指令

1、测试指令

指令 返回
AT OK

2、复位指令

指令 返回
AT+RST OK

二、设置指令

1、设置波特率

指令 返回
AT+CIOBAUD=BaudRate OK

默认波特率为115200,BaudRate可取值为:2400、4800、9600、14400、19200、38400、43000、57600、76800、115200、128000、230400、自定义

2、设置工作模式

指令 返回
AT+CWMODE=Mode OK
取值 说明
1 Station模式(客户端)
2 AP模式(服务器、热点)
3 Station+AP模式(混合模式)

此指令需重启生效

3、设置AP模式下的参数

指令 返回
AT+CWSAP=“SSID”,“PWD”,CHL,ECN OK
参数 定义 说明
SSID 该AP名称 字符串
PWD 密码 字符串
CHL 通道号 字符串 ,取值为1~14任选
ECN 加密方式
0 OPEN
1 WEP
2 WPA-PSK
3 WPA2-PSK
4 WPA-WPA2-PSK

4、设置透传模式

指令 返回
AT+CIPMODE=Mode OK
取值 说明
0 非透传,缺省模式
1 透明传输

默认是0,为缺省模式

5、设置为服务器

指令 返回
AT+CIPSERVER=1,PORT OK
参数 定义 说明
PORT 端口号 一般用8080,自定义即可

1代表建立服务器,所以只能选1,端口号没有固定值,自己定义好就可以使用

6、设置为多连接

指令 返回
AT+CIPMUX=MODE OK
取值 说明
0 单连接模式
1 多连接模式

7、设置加入AP

指令 返回
AT+CWJAP=“SSID”,“PWD” OK
参数 定义
SSID 接入AP的名称
PWD 接入AP的密码

8、设置退出AP

指令 返回
AT+CWQAP OK

9、设置发送数据

状态 指令 说明
单路连接(AT+CIPMUX=0) AT+CIPSEND=Length 模块收到指令后先换行返回”>”,然后开始接收串口数据,当数据长度满Length时发送数据,如果未建立连接或连接被断开,返回ERROR;如果数据发送成功,返回SEND OK,ID为客户端编号。
多路连接(AT+CIPMUX=1) AT+CIPSEND=ID,Length 模块收到指令后先换行返回”>”,然后开始接收串口数据,当数据长度满Length时发送数据,如果未建立连接或连接被断开,返回ERROR;如果数据发送成功,返回SEND OK,ID为客户端编号。

10、设置服务器主动断开时间

指令 返回
AT+CIPSTO=Timeout 断开时间(0~28800s)
参数 说明
Timeout 服务器主动断开时间0~28899秒

11、恢复出厂设置

指令 返回
AT+RESTORE OK

三、查询指令

1、查询服务器主动断开时间

指令 返回
AT+CIPSTO? 断开时间(0~28800s)

2、查询是否为透传

指令 返回
AT+CIPMODE? 当前模式

3、查询本地IP地址

指令 返回
AT+CIFSR 当前IP地址

4、查询是否为多连接

指令 返回
AT+CIPMUX? 当前模式

5、查询当前AP配置的参数

指令 返回
AT+CWSAP? 当前参数

6、查询当前连接的的AP

指令 返回
AT+CWJAP? 当前AP信息

7、查询当前工作模式

指令 返回
AT+CWMODE? 当前模式

8、查询固件版本

指令 返回
AT+GMR AT version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
v1.5.4.1-a Nov 30 2017 15:54:29
OK