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
2AT+CWMODE_DEF=1 # 设置Wi-Fi为 Station 模式并保存至 Flash,以后每次供电后自动连接
AT+CWJAP="HI_WiFi_cy1999","zzuacmlab" # 实验室的wifi名称和密码
连接成功后,使用AT+CIPSTART与服务器建立TCP连接:1
AT+CIPSTART="TCP","你的服务器地址",你的服务器端口
若是没有服务器的话也可以用内网ip测试(也可以看这篇文章免费进行搭建
与服务器成功建立连接后结果如下图所示:
之后开启透传模式,响应ok后开启透传:1
2AT+CIPMODE=1
AT+CIPSEND
成功后应显示如下:
之后就可以与服务器进行交互,也可以通过服务器与其他客户端进行交流。如图所示,命令框是本地客户端,发出的消息经过服务器转发至esp8266,然后显示在串口调试器上可以通过服务器与其他客户端进行交流
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!