ESP8266介绍

ESP8266 是一款高性能的 WIFI 串口模块,实现透明传输。只要有一定的串口知识,不需要知道 WIFI 原理就可以上手,在业内应用广泛。

ESP8266 是一个非常强大的 WIFI 模块,可以利用串口与单片机进行通讯,从而编程实现控制 ESP8266。利用 ESP8266 可以访问一些 API,获取天气信息或者完成网络授时,也可以连接云平台进行开发。不过因为是串口传输,速度较慢,不能用来传输图像、视频这些大容量的数据,但是传些传感器数据还是绰绰有余的。

我们常说的 ESP8266 是指 ESP8266 WIFI 模块,它是物联网和嵌入式开发常用的模块,其中 ESP8266 是 WIFI 模块的芯片型号。

本文用到的是 ESP-01S,如下图所示。

调试方式

ESP8266 已经是一款很成熟的模组了,前文提到,它可以通过串口进行通讯。

1 USB 转 TTL (CH340模块)工具

使用 USB 转 TTL 工具调试 ESP8266,可以通过下面的表格进行接线。

3.3V 相接后可能无法启动 ESP8266,这是因为 USB 转 TTL 模组的 3.3V 并没有真的达到 3.3V,莫慌,直接将 ESP8266 的3.3V 引脚接入 USB 转 TTL 的 5V 引脚,如果 ESP8266 会发烫到无法触摸就拔掉,如果温度你手指还能接受,那就没问题,ESP8266 还是没那么脆弱的。

接好线之后,将 USB 端连接到电脑,打开串口调试助手就可以进行调试了。

USB转TTL模块 ESP8266
3.3V 3.3V
TXD RX
RXD TX
GND GND

既然可以进行串口通讯,那么USB 转 TTL是我们主要讲解的方式,其他两种调试可以使用以下方法进行调试。

2 USB 转 ESP8266WIFI 模块

这个模组专门是为了调试 ESP8266 而设计,不需要一个个引脚接线,直接把 ESP8266 往上一插就可以啦,超方便的。同样,USB 端连接电脑,打开串口调试助手就可以进行调试了。

3 单片机调试

这种就是在项目中最常用的方式了。需要将 ESP8266 接到单片机的任意一个串口,然后再编写代码驱动 ESP8266 ,实现各种业务逻辑。

上电:正常工作验证

模块拿到手之后,我们需要先确保这个模组是正常的,否则后面的调试、写代码都是白搭。

首先,上电后,蓝色灯微弱闪烁后熄灭,表示正常工作

还可以更进一步,接好线之后,然后打开串口调试助手发送 AT(并且还要敲一个回车),ESP8266 回复 OK,就是正常启动了。

ESP8266工作模式

ESP8266 支持 STA、AP、AP+STA 三种工作模式。

STA 模式(Station)

一般用于远距离传输。ESP8266 通过路由器连接互联网,终端设备通过互联网实现对设备的远程控制。简单来说,此时的 ESP8266 可以当作是一个客户端,可以向服务端进行数据的下载与传输。这就类似于,手机/平板/笔记本(客户端)可以通过 WIFI 连接到路由器进行上网。

AP 模式(Access Point)

一般用于近距离传输。ESP8266 作为热点,提供无线接入服务、数据访问,一般的无线路由/网桥工作在 AP 模式下,最多支持 4 台设备接入。简单来说,此时的 ESP8266 可以当作是一个服务端。这就类似于,ESP8266 变身为一个路由器,然后手机/平板/笔记本可以通过 WIFI 连接到 ESP8266 进行上网。

AP+STA 模式

两种模式的共存模式,可以通过互联网控制可实现无缝切换,方便操作。简单来说,此时的 ESP8266 可以当作是一个路由器既可以做服务端接收也可以当客户端连接路由器,进行联网传输和控制。

常用的AT指令

AT指令 功能
AT 测试是否正常启动
AT+CWMODE=1 设置 STA 模式
AT+CWMODE=2 设置 AP 模式
AT+CWMODE=3 设置 AP+STA 模式
AT+RST 重启生效
AT+CWSAP=”SSID”,”password”,1,4 设置 AP 参数:账号为SSID ,密码为password,通道号为 1,加密方式为:WPA_WPA2_PSK
AT+CIPMUX=0 开启单连接
AT+CIPMUX=1 开启多连接
AT+CIPSERVER=1,8080 开启 SERVER 模式,设置端口为 8080
AT+CIPSTART=“TCP”,"192.168.X.XXX”,8080 建立 TCP 连接到”192.168.X.XXX”,8080
AT+CIPSTART=“UDP”,“192.168.X.XXX”,8080 建立 UDP 连接到”192.168.X.XXX”,8080
AT+CIPCLOSE 断开 TCP 连接
AT+CWQAP 断开热点
AT+CIPSEND=n 开始传输,n表示需要传输的字节数
AT+CIPSEND=0,n 向 ID0 发送 n 字节数据包,n的值自己定
AT+CIPMODE=1 开启透传模式
AT+CIPSEND 开始发送数据
AT+CIPMODE=0 退出透传
AT+CWJAP="SSID,“password” 加入 WIFI 热点:SSID ,密码为:password
AT+CIFSR 查询 ESP8266 的 IP 地址
AT+CIPSTA? 查询 ESP8266 的 IP 、网关地址和子网掩码

ESP8266作为设备模式(STA模式)

在安可信串口调试助手中,需要勾选发送新行,发送一个AT指令,回复OK代表正常启动。

如何连接到路由器?

入网设置

(1)设置工作模式

发送  AT+CWMODE=1 ,设置 STA 模式;(2为AP模式,3为STA+AP模式)

(2)以设备模式接入家中路由器配置

AT+CWJAP="HUAWEI-AP","aa112233tt"  (前为账号,后为密码,使用英文逗号,双引号)

成功的结果为 WIFI CONNECTED 和  WIFI GOT IP

(3)查询IP地址

AT+CIFSR

目前我们是通过路由器形成了一个局域网,我们需要在PC里架设一个TCP服务器,这样ESP8266就可以访问到PC的TCP服务器了。

连接TCP-Serve

使用网络助手,设立TCP服务器

连接服务器

AT+CIPSTART="TCP","192.168.1.1",8080

CONNECT //结果:成功
OK //结果:成功

发送数据

AT+CIPSEND=4 // 设置即将发送数据的长度 (这里是4个字节)

>abcd 看到大于号后,输入消息,abcd,不要带回车
Response :SEND OK 结果:成功
注意,这种情况下,每次发送前都要先发送AT+CIPSEND=长度 的指令,再发数据!

透传

上一节每次发送数据都要进行字符长度设定,如果设置成透传,就有点像蓝牙模块的玩法

AT+CIPMODE=1 //开启透传模式
Response :OK
AT+CIPSEND //带回车
Response: > //这个时候随意发送接收数据咯

退出透传模式

在透传发送数据过程中,若识别到单独的⼀包数据 “+++”,则退出透传发送

ESP8266作为服务器(AP模式)

//1 配置成AP模式
AT+CWMODE=2
Response :OK
//2 使能多链接
AT+CIPMUX=1
Response :OK
//3 建立TCPServer
AT+CIPSERVER=1 // default port = 333 Response :OK(在ESP8266里创建TCP)
//4 发送数据
AT+CIPSEND=0,4 // 发送4个字节在连接0通道上

abcd //输入数据,不带回车

Response :SEND OK
//5 接收数据
+IPD, 0, n: xxxxxxxxxx //+IPD是固定字符串 0是通道,n是数据长度,xxx是数据 //断开连接
AT+CIPCLOSE=0
Response :0, CLOSED OK

配置完成后在WIFI中能显示ESP8266的WIFI信息,连接ESP8266的WIFI后左边串口是客户端,右边是服务端。连接成功,通道0.

两边都可以进行数据收发测试。

总结:本文介绍了ESP8266基本使用,包括调试方式、工作模式和作为设备和服务器的处理方法。希望能通过这个小实验能基本了解ESP8266的使用。如果有疑问或发现错误,欢迎在评论区留言讨论!

📜 下一篇预告:
本文将介绍《ESP8266串口通讯功能》,可以了解ESP8266的基本介绍、运用(AT指令)等,点击关注不迷路~

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐