ESP8266-01S、手机、STM32连接

时间:2025-01-19 14:42:51

使用 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