学习STM32 ESP8266

1.ESP8266介绍

ESP8266 是一款由乐鑫(Espressif)推出的低成本、高性能 Wi-Fi 系统级芯片(SoC),它集成了 Tensilica L106 32 位 RISC 处理器Wi-Fi 收发器丰富的外设接口,广泛用于物联网(IoT)、智能家居、可穿戴设备和各种网络控制项目。

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

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

ESP8266 有 ESP-01/01S/07/07S/12E/12F/12S 等规格,还有正点原子自研的 ATK-ESP8266 (修改了固件及模组引脚)。

(默认115200 需要发送新行)

2. 三种调试方式

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

既然可以进行串口通讯,那么我们就可以使用以下三种方法进行调试。

  • USB 转 TTL 工具

这玩意儿大家应该非常熟悉了,通常我们用它来打印单片机 log。

当然,配合上位机(比如串口调试助手),我们也可以使用它对一些模组进行调试,比如:ESP8266、4G模组、蓝牙,等等。

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

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

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

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

  • USB 转 ESP8266WIFI 模块

上面的 USB 转 TTL 模组需要你动手去接线,比较麻烦,而且要是线有一根接错了,就无法正常调试了。

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

  • 单片机调试

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

本文就是手把手教大家编写一个 ESP8266 驱动程序。

上电:正常工作验证

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

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

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

3.ESP8266工作模式

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

STA 模式(Station):

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

AP 模式(Access Point):

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

AP+STA 模式:

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

4.常用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 、网关地址和子网掩码

5.设置工作模式和发送数据

ESP8266 STA工作模式

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

ESP8266 AP工作模式

使能多链接 如上次使用透传将 AT+CIPMODE=1 设置为1 需改为 0后 再次发送使能多链接AT指令

相关推荐
周洲08304 小时前
STM32 最简工程搭建|标准库/HAL库规范化模板,零冗余可直接落地
stm32·单片机·嵌入式硬件
sunshine22 girl5 小时前
Java学习一 环境配置2 安装和基本使用Idea
java·学习·intellij-idea
ACP广源盛139246256735 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
Kobebryant-Manba5 小时前
学习Bert微调
人工智能·学习·bert
ACP广源盛139246256736 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
xian_wwq6 小时前
【学习笔记】深度认知系列-第14讲 端侧AI崛起——为什么AI正在从云端走向本地
人工智能·笔记·学习
我爱cope6 小时前
【计算机网络 | 传输层3:TCP 协议概述:面向连接、可靠传输到底意味着什么?】
网络·网络协议·学习·tcp/ip·计算机网络·传输层
OIDCAT7 小时前
国产USB转千兆网卡芯片CH398-RTL8153国产替代实测与选型
网络·嵌入式硬件·智能硬件·国产芯片·usb转千兆网卡
HRTOS8 小时前
HRTOS 4.0 驱动库:06_Storage 存储设备驱动——24C02 EEPROM与I²C驱动开发
c语言·驱动开发·嵌入式硬件·51单片机
代码的小搬运工8 小时前
KVO学习
学习·ios·cocoa