使用 AT 指令配置 ESP8266
通过 AT 指令,您可以对 ESP8266 进行各种配置,包括 Wi-Fi 连接、服务器设置等。以下是常用的 AT 指令以及如何使用它们配置 ESP8266 的步骤。
2.1、准备工作
-
硬件连接:
- 将 ESP8266 模块与 USB 转 TTL 适配器连接。
- 确保正确接线(TX 到 RX,RX 到 TX,VCC 接 3.3V,GND 接地)。
-
环境准备:
- 使用串口工具(如 PuTTY、CoolTerm 或 Arduino Serial Monitor)打开串口通讯。
2.2、配置步骤AP模式
2.2.1 建立AP------------------------------------------------------------------------------------------------
1) 测试连接,串口对esp8266进行发送
AT
- 如果返回
OK
,表示与 ESP8266 的串口连接正常。
2) 查看固件版本
AT+GMR
- 返回当前固件信息。
3) 设置工作模式
- STA 模式(连接 Wi-Fi):
AT+CWMODE=1
- AP 模式(创建热点):
AT+CWMODE=2
- 混合模式(同时作为热点和客户端):
AT+CWMODE=3
-
查看工作模式:
AT+CWMODE?
4) 设置AP名称
AT+CWSAP="Your_AP_Name","Your_Password",5,3
-
Your_AP_Name
: 自定义的热点名称。 -
Your_Password
: 热点的 Wi-Fi 密码(8 到 64 个字符)。 -
5
: 信道,值从 1 到 13。选择一个不冲突的信道。 -
3
: 安全模式(0:开放,1:WEP,2:WPA-PSK,3:WPA2-PSK,4:WPA/WPA2-PSK)。
5). 启动 AP
-
设置 AP 后立即启动:
- 上述
AT+CWSAP
指令执行后,ESP8266 会自动启动您配置的 AP。
- 上述
6)获取 AP 配置信息
- 查看当前 AP 配置:
AT+CWSAP?
7) 关闭 AP
- 关闭当前 AP:
AT+CWQAP
8)
查看当前连接状态
- 检查已连接的客户端:
AT+CIPSTAMAC?
- 用于获取已连接设备的 MAC 地址。
9)
查看已接入设备的IP信息
AT+CWLIF
10)获取本设备IP
AT+CIFSR
2.2.2、Server 方法收发(可连接多设备)-----------------------------------------------------------------
1)、开启多连接模式
AT+CIPMUX=1
0-单路连接模式,1-多路连接模式(Server模式)
2)、创建服务器
AT+CIPSERVER=1,8080
- 0-关闭 server 模式,1-开启 server 模式
- 端口号,缺省值为 333
(1) AT+ CIPMUX=1 时才能开启服务器;关闭 server 模式需要重启
(2)开启 server 后自动建立 server 监听,当有 client 接入会自动按顺序占用一个连接。
3)关闭连接,关闭 server 模式需要重启,重启使用AT+ CIPMUX=1,重启后创建服务器AT+CIPSERVER=1,8080(例如)
AT+CIPSERVER=0
关闭服务器
通过 fireTools.exe连接
串口助手 软件工具等
链接:百度网盘 请输入提取码 提取码:3p7y
可以看到连接失败,ESP8266默认ip为192.168.4.1,通过指令AT+CIFSR可以查看ESP8266自身的IP
需要设置超时时间,否则无数据时会超时自动断连,断联后需要重开服务器:需要再发一遍
AT+CIPMUX=1,AT+CIPSERVER=1,8080
4)设置超时时间s为单位,(开启服务器后才能设置)
AT+CIPSTO=2880
服务器超时时间,0~2880,单位为 s
5)然后电脑连接ESP8266-01S
此处网络为配置AP时设置的名称和密码,我们此处举例为ESP_01S;12345678,电脑连接模块的WIFI,然后通过 fireTools.exe调试助手连接TPC服务器(模块)
串口助手 软件工具等(下载工具),在TCP网络调试菜单进行调试
链接:百度网盘 请输入提取码 提取码:3p7y
协议类型表示上位机使用端的类型,为客户机;服务器ip即esp8266-01s的ip,默认为192.168.4.1,端口为自己配置的8080。esp8266的配置可通过AT+CWSAP?命令查看,
esp8266的IP可通过AT+CIFSR查看。
如图,连接和断连都会显示
6)查看当前的设备
AT+CIPSTATUS
返回:STATUS: + CIPSTATUS:,,,,
- :连接的 id 号 0-4
- :字符串参数,类型 TCP 或 UDP
- :字符串参数,IP 地址
- :端口号
- : 0-本模块做 client 的连接,1-本模块做 server 的连接
7)向连接设备发送数据
AT+CIPSEND=0,6
(设置指令) (通过上一条指令 AT+CIPSTATUS 得知 ID=0)
1)单路连接时(+CIPMUX=0),指令为:AT+CIPSEND=
2)多路连接时(+CIPMUX=1) (Server模式),指令为:AT+CIPSEND= 0,6
多路连接参数1:0表示多路连接的设备0
多路连接参数2:6表示向指定设备发送6Byte数据,若发送字节数小于6,则在发送数据结尾每次会自动补充0D 0A,直到足够6Byte。若发送字节数大于6,则截取前6BYTE。最大长度为 2048。
ESP8266收到此命令后先换行返回”>”,然后开始接收串口数据
1是电脑调试助手发送给ESP8266的数据,发了两次,
发送完毕ESP826601S会返回Recv 6 bytes SEND OK,如果未建立连接或连接被断开,返回 ERROR
8)接收数据
从设备(电脑模拟的),可直接发送数据,接收到
发送接收也可以使用ASIIC,一个汉字占2BYTE(好像是)
2.2.3 Client收发数据方法-----------------------------------------------------------------------------------------
1)关闭Server服务器(不管之前开没开启过,都可以走一下这个流程)
AT+CIPSERVER=0
指令:AT+CIPSERVER=[,]
说明::0-关闭 server 模式,1-开启 server 模式
:端口号,缺省值为 333
响应:OK
说明:(1) AT+ CIPMUX=1 时才能开启服务器;关闭 server 模式需要重启
(2)开启 server 后自动建立 server 监听,当有 client 接入会自动按顺序占用一个连
接。
AT+RST重启一下
2)使用其他设备或调试助手创建服务器,示例使用fireTools.exe
3)开启多路连接模式(一个客户机(esp826601s)可以连接多个服务器)
AT+CIPMUX=1
0-单路连接模式,1-多路连接模式
4)建立TCP连接
AT+CIPSTART=0,"TCP","192.168.4.2",8080
表示建立id为0的TCP连接,后面是服务器ip和端口号
指令:
1)单路连接时(+CIPMUX=0),指令为:AT+CIPSTART= ,,
2)多路连接时(+CIPMUX=1),指令为:AT+CIPSTART=,,,
响应:
如果格式正确且连接成功,返回 OK,否则返回 ERROR
如果连接已经存在,返回 ALREAY CONNECT
说明:
0-4,连接的 id 号
字符串参数,表明连接类型,”TCP”-建立 tcp 连接,”UDP”-建立 UDP 连接
字符串参数,远程服务器 IP 地址
远程服务器端口号
5)向服务器发送数据
AT+CIPSEND=0,10(通过上一条指令 AT+CIPSTART 设置为 ID=0)
指令:
1)单路连接时(+CIPMUX=0),指令为:AT+CIPSEND=
2)多路连接时(+CIPMUX=1) ,指令为: AT+CIPSEND= ,
响应:
收到此命令后先换行返回”>”,然后开始接收串口数据
每次发送会自动补0D、0A,当数据长度满 length 时发送数据。
如果未建立连接或连接被断开,返回 ERROR
如果数据发送成功,返回 SEND OK
说明:
需要用于传输连接的 id 号 0-4
数字参数,表明发送数据的长度,最大长度为 2048
2.3. 其他常用指令
- 重启 ESP8266:
AT+RST
- 设置无回显模式(有时需要):
ATE0
- 恢复工厂设置:
AT+RESTORE