外设模组
ESP8266(WIFI)
前言
针对个人使用的不同外设,针对问题进行解决和记录。
主要是帮助自己回忆。
一、ESP8266简介
ESP8266 是一款由中国乐鑫科技推出的低成本、低功耗的Wi-Fi模块。它基于Tensilica的L106微处理器,并且内置Wi-Fi功能,适用于物联网(IoT)设备开发。ESP8266 可以通过串口AT指令集进行控制,支持与各种硬件平台(如STM32、Arduino等)通信。
ESP8266支持多种工作模式,包括:
• STA模式:作为Wi-Fi客户端连接到无线局域网(WIFI)。
• AP模式:作为Wi-Fi接入点,为其他设备提供无线网络。
• STA+AP模式:同时作为Wi-Fi客户端和接入点工作。
ESP8266具备强大的功能,常见的通信协议有HTTP、TCP/IP、MQTT等,其中MQTT协议广泛使用。
引脚说明,如图
二、驱动方案
首先可以使用USB转TTL下载器,对WIFI模块进行接线测试
注意EN端口要拉高
ESP8266的RXD(数据的接收端)需要连接USB转TTL模块的TXD
TXD(数据的发送端)需要连接USB转TTL模块的RXD
三、AP模式
AP模式: Access Point,提供无线接入服务,也就是网络的创建者,允许其它无线设备接入,提供数据访问,一般的无线路由/网桥工作在该模式下,同时AP和AP之间允许相互连接。
配置流程
1-指令: AT
这个指令用于测试ESP8266块是否正常工作。发送此指令后,模块应该回复"0K\r\n”
2-指令: ATE0
这个指令用于关闭回显功能。当回显功能关闭时,模块不会将接收到的指令发送回串口。回复“OK\r\n”表示指今执行成功
3-指令: AT+CWMODE=2
这个指令设置ESP8266模块为AP(访问点)模式.回复"0K\r\n”表示指令执行成功.
4-指令: AT+RST
这个指令用于重启ESP8266模块。模块将重新启动并返回"ready\r\n”表示准备就绪
5-指令: AT+CWSAP="TP-LINK","L4565815",1,4
这个指令用于设置当前AP的SSID:TP-LINK,密码:L4565815
参数1表示加密方式为WPA2-PSK;参数4表示通道号
回复“0K\r\n”表示指令执行成功.
6-指令: AT+CIFSR
这个指令用于查看模块的ip地址,默认都是192.168.4.1
后续可以通过此IP进行连接
7-指令: AT+CIPMUX=1
这个指今用于启用多连接模式,回复"0K\r\n”表示指令执行成功。
多路连接模式,最多5个
(此时,在电脑/手机端可以发现一个由该模块生成的SSID叫ESP8266的热点)
8-指令: AT+CIPSERVER=1,8089
这个指令用于启动TCP服务服务器,监听端口号8089,回复"0K\r\n”表示指令执行成功.
测试
1- 手机连接“TP-LINK”热点
2-打开手机端网络调试软件,以客户端形式连接ESP8266的热点
IP地址:192.168.4.1
端口号:8089
3-串口助手显示设备连接,设备号0
4-手机发送数据给ESP8266
4-串口助手显示收到的数据
从设备0,收到5字符:Hello
四、STA模式
STA模式: 即站点station模式,是指设备作为无线网络中的一个客户端节点。每一个连接到无线网络中的终端(如笔记本电脑、PDA及其他可以联网的用户设备)都可称为一个站点
配置流程
1-指令: AT
这个指令用于测试ESP8266块是否正常工作。发送此指令后,模块应该回复"0K\r\n”
2-指令: ATE0
这个指令用于关闭回显功能。当回显功能关闭时,模块不会将接收到的指令发送回串口。回复“OK\r\n”表示指今执行成功
3-指令: AT+CWMODE=1
这个指令设置ESP8266模块为STA(站点)模式.回复"0K\r\n”表示指令执行成功.
4-指令: AT+RST
这个指令用于重启ESP8266模块。模块将重新启动并返回"ready\r\n”表示准备就绪
5-指令: AT+CWLAP
这个指令用于查询附近是否有可用无线网络。模块返回一个列表,包含可用网络消息
6-指令:AT+CWJAP="TP-LINK_0514","luwei4565815"
这个指令用于设置当前要加入的无线网络的SSID(无线网络名称)、密码
回复“WIFI CONNECTED\r\n”表示指令执行成功
建立 TCP 连接,并且收发数据
7-指令:AT+CIPSTART="TCP","192.168.0.105",8080
查询PC机的IP地址,建立TCP连接
这个指令用于建立和TCP服务器的连接,IP地址:192.168.0.105 端口号端口号8080,回复"0K\r\n”表示指令执行成功.
使用PC端网络助手,创建 TCP 服务器
8-指令:AT+CIPMODE=1
这个指今用于设置传输模式为透传模式,回复"0K\r\n”表示指令执行成功.
数据是从TCP服务器下发到 ESP8266 客户端,然后再从串口转发出来,串口调试软件接收显示出来,因此,我们编程的时候只要使用串口接收就好了。
9-指令:AT+CIPSEND
这个指今用于发送数据到已经建立的TCP连接,发送指令后,模块进入发送模式并等待用户通过模块发送数据给服务器进行通信.
当接收到 > 号时,就可以进行数据的发送了,一次最大包为2048字节,或者间隔20ms为一包数据。
而此时,若要退出数据数据传输,则要发送+++为一包数据,且
不能带回车换行符
(就是将串口调试助手上的回车换行 √ 去掉),如下图所示:
之后再发送指令,就不会被发送到 TCP 服务器上了。此时输入 AT+CIPSEND 还是会进行再一次发起数据传输的。
9-指令: AT+CIPMODE=0
这个指令用于关闭透传模式,回复"0K\r\n”表示指令执行成功.
10-指令: AT+CIPCLOSE
这个指令用于关闭TCP连接,回复"0K\r\n”表示指令执行成功.
总结
后续继续学习基于STM32的wifi控制
软件链接:链接: link
通过网盘分享的文件:WIFI-ESP8266
链接: https://pan.baidu.com/s/1Z6razqirHrJczQSagChQAQ 提取码: F123