STM32实战ESP8266 WIFI模块,如何实现疑问?
摘要:此篇博文提供了ESP8266的开发指南,包括在STM32上使用ESP8266进行WiFi连接、发送和接收HTTP请求以及在ESP8266中使用AT指令发送GET方式请求等内容。
ESP8266
硬件介绍
ESP8266系列模组有哪些:
在本实验中,ESP8266与ESP-01不做区分。
ESP-01引脚介绍:
引脚
功能
3.3
3.3V供电,避免使用5V供电
RX
UART_RXD,异步串口接受端
RST
外部复位引脚,低电平有效,默认高电平
IO0
GPIO_0引脚:状态:1.悬空:Flash下载模式和工作模式:2.下拉:串口下载模式
EN
使能端口,高电平工作,低电平模块不工作
IO2
GPIO_2引脚,开机上电时禁止下拉,默认高电平
TX
UART_TXD,异步串口发送端
GND
GND接地引脚
实物图如下(某些板子没有丝印端口说明,可以参照下图):
引脚连接如下:
引脚
连接
3.3V
3.3V
RST
3.3V
EN
3.3V
IO2
3.3V
GND
GND
IO0
GND
TXD
RXD
RXD
TXD
硬件连接图(2)
使用ESP串口工具
某宝上有现成的调试ESP8266模块的串口工具,已将各个引脚接好,还带有RST按键,烧录固件库或者调试程序使用很方便。
本次实验测试时使用该串口工具。
三种模式
ESP8266 支持 softAP 模式,station 模式,softAP + station 共存模式三种。
利用 ESP8266 可以实现十分灵活的组网方式和网络拓扑。
提示
SoftAP:即无线接入点,是一个无线网络的中心节点。通常使用的无线路由器就是一个无线接入点。
Station:即无线终端,是一个无线网络的终端端。
AT命令
此外,在AT+CIPSEND输入模式下发送+++(不需要换行),即可退出输入模式。
ATE1开启回显,ATE0关闭回显。
AT+CIOBAUD=115200将波特率修改为115200。
ESP8266 TCP通信测试
网络环境准备
手机开启流量,开启热点,设置热点名称(最好是6位字母以下)和密码。
将电脑连接到手机热点。
电脑端准备
1、网络调试
win+R 输入cmd进入DOS窗口,之后输入ipconfig查看当前电脑IP地址,例如我的IP为192.168.41.242
打开网络调试工具(任意工具即可,例如野火网络调试助手),将电脑配置为TCP Server,输入刚刚的IP192.168.41.242,端口号自己决定(需要与下一步相匹配),例如8080。
点击开始监听。
2、串口
将"ESP8266模块的串口工具"插入电脑USB口,打开串口调试工具(任意串口调试工具均可),设置波特率115200(ESP8266默认波特率),数据位8位,停止位1位,校验位无。
接收与发送均为"文本模式",编码为GBK编码。
ESP8266连接流程
依次利用串口向ESP8266输入以下命令。
AT\r\n
检查ESP8266模块连接是否正常
AT+CWMODE=1\r\n
配置模块为Sta模式
AT+CWJAP="WIFI名称","WIFI密码"\r\n
连接指定WIFI,确保为自己的WIFI
AT+CIPMUX=0\r\n
设置成单连接
AT+CIPSTART="TCP","192.168.41.242",8080\r\n
创建TCP连接,IP地址为电脑的IP,串口为电脑监听的端口号
AT+CIPMODE=1\r\n
进入透传模式,进入到透传模式后AT指令就会失效,需要退出后才能生效
AT+CIPSEND\r\n
准备向服务器发送请求,前面都成功的前提下发送完这个指令后会出现一个>,此时输入发送信息即可
如果前面的命令均正确,则发送Hello后,此时电脑网络调试工具会接收Hello。
电脑网络调试工具发送123,ESP8266也会收到123。
至此,单独对ESP8266的设置和测试完成。接下来可以编写STM32代码。
