ESP8266-01 WiFi模块。
通过AT指令在局域网下与 TCP 服务器进行简单通信。
ESP8266 通过 USB 转 TTL 与电脑相互连接。需要连接的引脚有:URXD,UTXD,GND,VCC,CH_PD,连接如下:
电脑的串口驱动(COM6):
连接好之后,打开串口软件和网络调试助手,可以使用二合一软件:
波特率:115200.
测试AT指令:
测试AT启动并查询版本信息。
AT # 测试 AT 启动
AT+GMR # 查看版本信息
AT+RST
模块有三种WiFi工作模式:
1、STA(Station)终端站点(可以连接到WIFI上,可以看成一个手机)
2、AP(Access Point) 热点模式,模块相当于一个手机热点(手机等设备可以连接它,但是它不能连接其他的WIFI)
3、AP+STA 以上两种模式的结合(可以连接别的WIFI,也可以让其他设备连接自己;好比一台电脑,自己连着WIFI上网, 同时可以开个WIFI让小伙伴也可以上网)
连接到路由器:
这里用于测试的路由器名称和密码为ssid=“C311”, password=“98037803”
AT+CWMODE_DEF=1 # 设置Wi-Fi为 Station 模式并保存到 Flash。 2 为 AP 模式
AT+CWJAP=“ssid”,”password” # 连接到路由器,连接网络 若加上 _DEF 则写入 Flash,下次开机自动连接
AT+CWJAP="C311","98037803"
查询模块IP:
AT+CIFSR 响应:192.168.1.107,网卡地址
建立虚拟服务器:
TCP服务器设置一个测试端口号(8080),并开始监听。
模块连接到服务器:
(目前是局域网模拟,实际工作时,换成服务器IP和端口)
使用AT+CIPSTART建立TCP连接,UDP 传输或 SSL 连接:
AT+CIPSTART=”TCP”,”192.168.1.115”,8080 # 连接 TCP 服务器
开启透传模式:
AT+CIPMODE=1 响应:OK
开始透传:
AT+CIPSEND 响应:OK
现在就可以相互发数据了,如下图所示:
退出透传模式:
(透传模式下,所有AT指令都没有响应,指令也当做数据发送到服务器了)
在透传模式中,若识别到单独的一包数据“+++”(不要发送新行),则退出透传模式。如下图所示:
AT指令表:
指令 | 描述 |
AT | 测试 AT 启动 |
AT+RST | 重启模块 |
AT+GMR | 查看版本信息 |
AT+GSLP | 进⼊入 Deep-sleep 模式 |
ATE | 开关回显功能 |
AT+RESTORE | 恢复出⼚厂设置 |
AT+UART | UART 配置,[@deprecated]不建议使⽤用 |
AT+UART_CUR | UART 当前临时配置 |
AT+UART_DEF | UART 默认配置,保存到 Flash |
AT+SLEEP | 设置 sleep 模式 |
AT+WAKEUPGPIO | 设置 GPIO 唤醒 Light-sleep 模式 |
AT+RFPOWER | 设置 RF TX Power 上限 |
AT+RFVDD | 根据 VDD33 设置 RF TX Power |
AT+RFAUTOTRACE | 设置 RF 频偏跟踪 |
AT+SYSRAM | 查询系统当前剩余内存 |
AT+SYSADC | 查询 ADC 值 |
AT+SYSIOSETCFG | 设置 IO ⼯工作模式 |
AT+SYSIOGETCFG | 查询 IO ⼯工作模式 |
AT+SYSGPIODIR | 设置 GPIO ⼯工作为输⼊入或输出 |
AT+SYSGPIOWRITE | 设置 GPIO 的输出电平 |
AT+SYSGPIOREAD | 读取 GPIO 的电平状态 |
基础 Wi-Fi 功能 AT 指令一览表:
指令 | 说明 |
AT+CWMODE | 设置 Wi-Fi 模式 (STA/AP/STA+AP),[@deprecated]不建议使⽤用 |
AT+CWMODE_CUR | 设置 Wi-Fi 模式 (STA/AP/STA+AP),不保存到 Flash |
AT+CWMODE_DEF | 设置 Wi-Fi 模式 (STA/AP/STA+AP),保存到 Flash |
AT+CWJAP | 连接 AP, [@deprecated] 不建议使⽤用 |
AT+CWJAP_CUR | 连接 AP,不保存到 Flash |
AT+CWJAP_DEF | 连接 AP,保存到 Flash |
AT+CWLAPOPT | 设置 AT+CWLAP 指令扫描结果的属性 |
AT+CWLAP | 扫描附近的 AP 信息 |
AT+CWQAP | 与 AP 断开连接 |
AT+CWSAP | 设置 ESP8266 SoftAP 配置,[@deprecated]不建议使⽤用 |
AT+CWSAP_CUR | 设置 ESP8266 SoftAP 配置,不保存到 Flash |
AT+CWSAP_DEF | 设置 ESP8266 SoftAP 配置,保存到 Flash |
AT+CWLIF | 获取连接到 ESP8266 SoftAP 的 station 的信息 |
AT+CWDHCP | 设置 DHCP,[@deprecated]不建议使⽤用 |
AT+CWDHCP_CUR | 设置 DHCP,不保存到 Flash |
AT+CWDHCP_DEF | 设置 DHCP,保存到 Flash |
AT+CWDHCPS_CUR | 设置 ESP8266 SoftAP DHCP 分配的 IP 范围,不保存到 Flash |
AT+CWDHCPS_DEF | 设置 ESP8266 SoftAP DHCP 分配的 IP 范围,保存到 Flash |
AT+CWAUTOCONN | 设置上电时是否⾃自动连接 AP |
AT+CIPSTAMAC | 设置 ESP8266 Station 的 MAC 地址,[@deprecated]不建议使⽤用 |
AT+CIPSTAMAC_CUR | 设置 ESP8266 Station 的 MAC 地址,不保存到 Flash |
AT+CIPSTAMAC_DEF | 设置 ESP8266 Station 的 MAC 地址,保存到 Flash |
AT+CIPAPMAC | 设置 ESP8266 SoftAP 的 MAC 地址,[@deprecated]不建议使⽤用 |
AT+CIPAPMAC_CUR | 设置 ESP8266 SoftAP 的 MAC 地址,不保存到 Flash |
AT+CIPAPMAC_DEF | 设置 ESP8266 SoftAP 的 MAC 地址,保存到 Flash |
AT+CIPSTA | 设置 ESP8266 Station 的 IP 地址,[@deprecated]不建议使⽤用 |
AT+CIPSTA_CUR | 设置 ESP8266 Station 的 IP 地址,不保存到 Flash |
AT+CIPSTA_DEF | 设置 ESP8266 Station 的 IP 地址,保存到 Flash |
AT+CIPAP | 设置 ESP8266 SoftAP 的 IP 地址,[@deprecated]不建议使⽤用 |
AT+CIPAP_CUR | 设置 ESP8266 SoftAP 的 IP 地址,不保存到 Flash |
AT+CIPAP_DEF | 设置 ESP8266 SoftAP 的 IP 地址,保存到 Flash |
AT+CWSTARTSMART | 开始 SmartConfig |
AT+CWSTOPSMART | 停⽌止 SmartConfig |
AT+CWSTARTDISCOVER | 开启可被局域⽹网内的微信探测的模式 |
AT+CWSTOPDISCOVER | 关闭可被局域⽹网内的微信探测的模式 |
AT+WPS | 设置 WPS 功能 |
AT+MDNS | 设置 MDNS 功能 |
AT+CWHOSTNAME | 设置 ESP8266 Station 的主机名称 |