ESP8266基本使用
ESP8266 是一个非常强大的 WIFI 模块,可以利用串口与单片机进行通讯,从而编程实现控制 ESP8266。利用 ESP8266 可以访问一些 API,获取天气信息或者完成网络授时,也可以连接云平台进行开发。不过因为是串口传输,速度较慢,不能用来传输图像、视频这些大容量的数据,但是传些传感器数据还是绰绰有余的。
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指令)等,点击关注不迷路~
更多推荐



所有评论(0)