ESP8266模块完全指南:从入门到实战
ESP8266模块完全指南:从入门到实战
ESP8266模块是一款功能强大的WiFi模块,广泛应用于物联网和嵌入式系统领域。本文将从模块的基本介绍、AT指令集到实战应用,为您全面解析ESP8266模块的使用方法。
模块简介
本文使用的ESP8266模块是安可信的esp8266S01模块,正面和反面图如下:
模块引出的8个引脚按逆时针顺序排列,具体如下表所示:
引脚编号 | 功能说明 |
---|---|
1 | VCC |
2 | CH_PD |
3 | GPIO0 |
4 | GPIO2 |
5 | RXD |
6 | TXD |
7 | GPIO15 |
8 | GND |
在实际接线时,IO0和EN引脚已默认上拉,因此可以悬空。模块采用串口通信,默认波特率为115200,可以根据需要使用AT指令修改波特率。
AT指令集
模块模式介绍
在详细介绍esp8266的AT指令之前,先介绍esp8266的三种应用模式:
- STA模式:类似于无线网卡,通过路由器连接互联网,实现远程控制。
- AP模式:类似于路由或网桥,可以作为热点,实现局域网无线控制。
- STA+AP模式:同时支持STA和AP模式。
常用基本指令集
- 串口参数配置:
AT+UART=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
<baudrate>
:串口波特率,支持范围110~4608000<databits>
:数据位,可选5、6、7、8<stopbits>
:停止位,默认1bit<parity>
:校验位,可选0(无)、1(奇校验)、2(偶校验)<flow control>
:流控,可选0(不使能)、1(RTS)、2(CTS)、3(RTS和CTS)
例如,设置串口波特率为256000bit/s,8bit数据位,1bit停止位,无校验位的命令为:AT+UART=256000,8,1,0,0
TCP/IP相关AT指令
设置模块模式:
AT+CWMODE=<mode>
<mode>
:0(STA模式)、1(AP模式)、2(STA+AP模式)设置多连接模式:
AT+CIPMUX=<mode>
<mode>
:0(单连接)、1(多连接)开启TCP服务器:
AT+CIPSERVER=<mode>,<port>
<mode>
:0(关闭)、1(开启)<port>
:监听端口号获取本机IP地址:
AT+CIFSR
发送数据:
AT+CIPSEND=<id>,<bytes>
(多连接)或AT+CIPSEND=<bytes>
(单连接)
实战应用
AP模式下作为TCP服务器
- 发送
AT
指令,确认模块工作正常。 - 设置模块为AP模式:
AT+CWMODE=2
- 确认模式设置成功:
AT+CWMODE?
- 连接模块生成的无线网络。
- 启动多连接模式:
AT+CIPMUX=1
- 开启服务器模式:
AT+CIPSERVER=1,8080
- 获取本机IP地址:
AT+CIFSR
使用网络调试助手连接模块,可以进行数据收发测试。
AP模式下作为TCP客户端
- 关闭服务器模式:
AT+CIPSERVER=0
- 重启模块:
AT+RST
- 设置为单连接模式:
AT+CIPMUX=0
- 请求TCP连接:
AT+CIPSTART="TCP","192.168.4.2",777
STA模式下作为TCP服务器
- 设置模块为STA模式:
AT+CWMODE=1
- 重启模块:
AT+RST
- 连接WIFI:
AT+CWJAP="ssid","pwd"
- 启动多连接模式:
AT+CIPMUX=1
- 开启TCP服务器:
AT+CIPSERVER=1,8080
- 获取当前IP:
AT+CIFSR
STA模式下作为TCP客户端
- 关闭服务器模式:
AT+CIPSERVER=0
- 重启模块:
AT+RST
- 连接WIFI:
AT+CWJAP="ssid","pwd"
- 设置为单连接模式:
AT+CIPMUX=0
- 请求TCP连接:
AT+CIPSTART="TCP","10.8141.126",777
进阶功能:透传模式
透传模式下,ESP8266会将串口接收到的数据直接转发到指定服务器的端口,无需每次发送数据时都使用AT+CIPSEND
指令。
- 开启透传模式:
AT+CIPMODE=1
- 开始透传:
AT+CIPSEND
要退出透传模式,发送单独的一包数据“+++”。如果需要模块上电自动连接到某个IP并进入透传模式,可以使用以下命令:AT+SAVETRANSLINK=1,"192.168.1.35",1125,"TCP"
要退出开机自动进入透传模式,需要先退出透传模式,再发送AT+SAVETRANSLINK=0
。