问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

ESP8266模块完全指南:从入门到实战

创作时间:
作者:
@小白创作中心

ESP8266模块完全指南:从入门到实战

引用
CSDN
1.
https://m.blog.csdn.net/qq_38131209/article/details/144141185

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服务器

  1. 发送AT指令,确认模块工作正常。
  2. 设置模块为AP模式:AT+CWMODE=2
  3. 确认模式设置成功:AT+CWMODE?
  4. 连接模块生成的无线网络。
  5. 启动多连接模式:AT+CIPMUX=1
  6. 开启服务器模式:AT+CIPSERVER=1,8080
  7. 获取本机IP地址:AT+CIFSR

使用网络调试助手连接模块,可以进行数据收发测试。

AP模式下作为TCP客户端

  1. 关闭服务器模式:AT+CIPSERVER=0
  2. 重启模块:AT+RST
  3. 设置为单连接模式:AT+CIPMUX=0
  4. 请求TCP连接:AT+CIPSTART="TCP","192.168.4.2",777

STA模式下作为TCP服务器

  1. 设置模块为STA模式:AT+CWMODE=1
  2. 重启模块:AT+RST
  3. 连接WIFI:AT+CWJAP="ssid","pwd"
  4. 启动多连接模式:AT+CIPMUX=1
  5. 开启TCP服务器:AT+CIPSERVER=1,8080
  6. 获取当前IP:AT+CIFSR

STA模式下作为TCP客户端

  1. 关闭服务器模式:AT+CIPSERVER=0
  2. 重启模块:AT+RST
  3. 连接WIFI:AT+CWJAP="ssid","pwd"
  4. 设置为单连接模式:AT+CIPMUX=0
  5. 请求TCP连接:AT+CIPSTART="TCP","10.8141.126",777

进阶功能:透传模式

透传模式下,ESP8266会将串口接收到的数据直接转发到指定服务器的端口,无需每次发送数据时都使用AT+CIPSEND指令。

  1. 开启透传模式:AT+CIPMODE=1
  2. 开始透传:AT+CIPSEND

要退出透传模式,发送单独的一包数据“+++”。如果需要模块上电自动连接到某个IP并进入透传模式,可以使用以下命令:
AT+SAVETRANSLINK=1,"192.168.1.35",1125,"TCP"

要退出开机自动进入透传模式,需要先退出透传模式,再发送AT+SAVETRANSLINK=0

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号