esp8266初试

本文最后更新于:2024年9月13日 早上


ESP8266 是一个完整且自成体系的 WiFi 网络模块,能够独立运行, 也可以作为 slave 搭载于其他 Host 运行。
可以用于物联网、可穿戴电子产品和移动设备等领域。可以使用ESP8266来连接家里的路由器,将物理设备连接到WiFi无线网络上,进行互联网或局域网通信,实现联网功能。
esp8266有8根引脚,功能如下所示:

名称 作用 名称 作用
GND 接地 TXD 串口0数据发送端
GPIO2 通用IO,内部已上拉 EN 芯片使能,高电平使能低电平失能
GPIOO 工作模式选择:
1)悬空:Flash Boot,工作模式
2)下拉:UARTDownLoad,下载模式
RST 1)外部复位管脚低电平复位
2)可以悬空或者接外部MCU
RXD 串口0数据接收端 VCC 3.3V供电

使用USB转TTL串口测试esp8266

连线

我用的模块是esp8266-01s模块,需要连接的引脚有:RX,TX,GND,VCC,EN
电路图如下所示:
电路连线
注意一下esp模块的和usb转ttl模块的tx和rx是反着接的。
下方是我的连线状况,没有面包板所以比较乱,虽然没啥大问题但是感觉有点小危险。
我的连线状况
有点摇摇欲坠

AT指令测试

将其连线好后连接到电脑上,电脑上打开串口助手,选择COM7并选择波特率115200。
发送“AT”,若返回“OK”,则代表连接无误,如下图所示:
连接无误

AT命令 作用 细分命令 细分作用
AT+RST 重启模块
AT+GMR 查看版本信息
AT+UART UART配置 AT+UART 115200,1,0,0
AT+CWMODE 设置WiFi模式 设置指令:AT+CWMODE=1 1:Station模式
2:SoftAP模式
3:SoftAP+Station模式
查询指令:AT+CWMODE? 查询当前是什么模式
AT+CWJAP 连接AP(路由) 查询指令:AT+CWJAP? 查询当前连接的wifi信息
设置指令(连接WiFi):AT+CWJAP:[ssid],[psd][,bssid] [ssid]: 目标AP的SSID
[psd]:密码 最长64字节ASCII
[bssid]: 目标 AP 的 MAC 地址,一般用于有多个 SSID 相同的 AP 的情况
报错代码:1: 连接超时
2: 密码错误
3: 找不到目标AP
4: 连接失败
参数设置需要开启 Station 模式,若 SSID 或者password 中含有特殊符号例如“,”或者“ “ ”或者“\”时需要进行转义,其它字符转义无效。
AT+CWQA 断开与AP的连接
AT+CIFSR 查询本地IP地址
AT+CIPSTART 建立TCP连接,UDP传输或SSL连接 AT+CIPSTART=[ type ] ,[remote IP] ,[remoteport ][,TCP keep alive] [type]: 字符串参数,连接类型,”TCP”,”UDP”或”SSL”
[remote IP]: 字符串参数,远端IP地址
[remote port]: 远端端口号
[TCP keep alive]: TCP keep-alive 侦测时间,默认关闭此功能
0:关闭 TCP keep-alive 功能
1~ 7200: 侦测时间,单位为 1s
AT+CIPCLOSE 断开连接 AT+CIPCLOSE=[id] [id]为需要关闭的连接 id 当 id 为 5 时关闭所有连接
AT+CIPMUX 设置多连接模式 AT+CIPMUX=[id] [id] 为0时为单连接,为1时为多链接
AT+CIPSERVER 建立TCP服务器 AT+CIPSERVER=[mode][,port] [mode]:
0:关闭服务器
1: 建立服务器
[port]: 端口号,默认为 333。
多连接情况下 (AT+CIPMUX=1),才能开启 TCP 服务器。创建 TCP 服务器后,自动建立 TCP 服务器监听
当有 TCP 客户端接入,会自动占用一个连接 ID.
AT+CIPMODE 设置传输模式 AT+CIPMODE? 查询指令
AT+CIPMODE=[mode] 设置指令
0: 普通传输模式
1: 透传模式,仅支持 TCP 单连接和 UDP 固定通信对端的情况
透传模式传输时,如果连接断开,ESP8266 会不停尝试重连,此时单独输入 +++ (不要输入换行符)退出透传,则停止重连;普通传输模式则不会重连,提示连接断开。
AT+CIPSEND 发送数据 执行指令(在透传模式下,开始发送指令)

服务器连接测试

确认模块连接良好(输入>>AP 输出>>ok)后,先连接至路由器

1
2
AT+CWMODE_DEF=1  # 设置Wi-Fi为 Station 模式并保存至 Flash,以后每次供电后自动连接
AT+CWJAP="HI_WiFi_cy1999","zzuacmlab" # 实验室的wifi名称和密码

连接成功后,使用AT+CIPSTART与服务器建立TCP连接:
1
AT+CIPSTART="TCP","你的服务器地址",你的服务器端口

若是没有服务器的话也可以用内网ip测试(也可以看这篇文章免费进行搭建
与服务器成功建立连接后结果如下图所示:
与服务器成功建立连接
之后开启透传模式,响应ok后开启透传:
1
2
AT+CIPMODE=1
AT+CIPSEND

成功后应显示如下:
现在可以开始透传了
之后就可以与服务器进行交互,也可以通过服务器与其他客户端进行交流。如图所示,命令框是本地客户端,发出的消息经过服务器转发至esp8266,然后显示在串口调试器上可以通过服务器与其他客户端进行交流
通过服务器与其他客户端进行交流