ESP8266三种模式详解

本文详细介绍了ESP8266模块在Station(客户端)、AP(服务端)及Station+AP(混合)三种Wi-Fi模式下的配置过程。包括模式切换、连接设置、IP地址分配等关键步骤,适用于物联网项目的快速开发。

一、Station(客户端模式)

1.输入AT+CWMODE=1
响应:OK
说明:指令原型为:AT+CWMODE=<mode>;其中<mode> :

  • 1-Station模式
  • 2-AP模式
  • 3-AP兼Station模式。

2.输入AT+RST
响应: OK
说明:配置好模式后需要重启生效。

3.输入AT+CWMODE?
在这里插入图片描述
说明:这条指令可以不要,这是查询当前模式的指令,模式返回是1,说明是Station模式。再看电脑或者手机wifi连接窗口,刚才的热点已经消失了,说明已经把模式转换为了客户端模式。

4.输入AT+CWLAP
在这里插入图片描述
说明:可以让模块搜索周围的信号了,列出可以连接的热点(中文显示为乱码)。

5.输入AT+CWJAP="TP-LINK_C873","wenhan313426."
在这里插入图片描述
说明:指令原型为:AT+CWJAP=<ssid>,<pwd> ,ssid就是wifi的名字,pwd就是wifi的密码。

6.输入AT+CWJAP?
在这里插入图片描述
说明:这条指令可以不要,这是查询一下当前连接的AP。

7.输入AT+CIFSR
在这里插入图片描述
8.输入AT+CIPSTA_CUR=”192.168.6.100”,"192.168.6.1","255.255.255.0"
在这里插入图片描述
说明:这条指令可以不要,这是分配固定ip。

说明:通过路由器查看下模块的IP地址。如果模块之前我们设置成了AP和Station共存模式,则会出现两个IP,上面的APIP是作为无线AP的IP地址。下面的STAIP是它作为客户端从路由器获取到的IP 地址。
ESP8266是有寄存器的,所以即使重启连接信息也不会丢失,重启后再查询,发现会自动连接。使用电脑ping一下这个ip,ip是可以ping通的,说明连接正常。


二、AP(服务端模式)

1.输入AT+CWMODE=2
响应:OK
说明:指令原型为:AT+CWMODE=;其中:1-Station模式,2-AP模式,3-AP兼Station模式。

2.输入AT+RST
在这里插入图片描述
说明:配置好模式后需要重启生效。

3.输入AT+CWMODE?
在这里插入图片描述
说明:这条指令可以不要,这是查询当前模式的指令,模式返回是2,说明是AP模式。

4.输入AT+CWSAP="ESP8266","0123456789",11,0
在这里插入图片描述
说明:指令原型为:AT+ CWSAP=<ssid>,<pwd>,<chl>, <ecn>;其中:

  • <ssid>: 字符串参数,接入点名称;
  • <pwd>: 字符串参数,密码最长64字节,ASCII;
  • <chl>: 通道号;
  • <ecn>: 0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK。

然后现在就可以在你的手机或者是电脑通过无线网卡连接到ESP8266上了。

5.输入:AT+CIFSR
在这里插入图片描述
说明:查询设备当前的IP地址,默认地址为“192.168.4.1”

6.输入AT+CIPMUX=1
在这里插入图片描述
说明:开启多连接模式,因为只有在开启多连接模式的时候才能开启服务器模式。注意:透传只能在单连接模式下进行。

7.输入AT+CIPSERVER=1,8080
响应:OK
说明:设置端口为8080。
最后,我们就可以通过网络调试助手来通过“TCP Client”模式下添加“IP:192.168.4.1(模块默认的IP),端口8080(第6步设置的)”值得一提的是,ESP8266当服务器的时候,客户端如果没有数据传输,隔一段时间会自动断开连接,可通过AT+CIPSTO=

8.输入AT+CIPSEND=0,10
在这里插入图片描述
输入字符串,就可以发到手机上了,0是通道号,10是数据长度。


三、Station+AP(混合模式)

1.输入AT+CWMODE=3
响应:OK
说明:指令原型为:AT+CWMODE=;其中:1-Station模式,2-AP模式,3-AP兼Station模式。

2.输入AT+RST
在这里插入图片描述
说明:配置好模式后需要重启生效。

3.输入AT+CWMODE?
在这里插入图片描述
说明:这条指令可以不要。

4.输入AT+CWSAP="贝勒里嗯","12345678",11,0
在这里插入图片描述
说明:指令原型为:AT+ CWSAP=,,, ;其中:字符串参数,接入点名称;:字符串参数,密码最长64字节,ASCII;:通道号;< ecn >:0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK。
然后现在就可以在你的手机或者是电脑通过无线网卡连接到ESP8266上了。
打开手机上的网络调试助手,TCP server→配置→激活→能看到此时手机的IP和端口号,要记下,下面要用。

5.输入AT+CIPMODE=1
在这里插入图片描述
说明:开启透传模式。

6.输入AT+CIPMUX=0
在这里插入图片描述
说明:开启单路模式。

7.输入AT+CIPSTART="TCP","192.168.4.2",8080
在这里插入图片描述
说明:192.168.4.2为服务器IP地址;8080为端口。填刚才记下的手机IP和端口号
这时手机已经能向模块发信息了,但模块不能发。
在这里插入图片描述

8.输入AT+CIPSEND
说明:ESP8266发送数据至手机。

### ESP8266三种工作模式详解 ESP8266 是一种集成了 Wi-Fi 功能的微控制器芯片,支持多种工作模式以满足不同的应用场景需求。以下是其三种主要的工作模式及其特点: #### 1. **AP 模式 (Access Point Mode)** 在这种模式下,ESP8266 可以作为一个无线接入点 (Access Point),类似于一个小型的无线路由器。其他设备可以通过连接这个热点实现数据交互。这种模式适用于需要创建本地网络的情况。 - 特点: - 创建一个可供其他设备连接的 Wi-Fi 网络。 - 不依赖外部网络即可组建局域网。 - 使用场景包括智能家居控制、物联网设备调试等。 - 实现方法:通过 Arduino IDE 或 NodeMCU 开发环境编写的代码可以轻松配置 ESP8266 进入 AP 模式[^3]。 ```cpp #include <WiFi.h> void setup() { Serial.begin(115200); WiFi.softAP("My_ESP_AP", "password"); // 设置 SSID 和密码 } void loop() {} ``` --- #### 2. **STA 模式 (Station Mode)** 在 STA 模式下,ESP8266 表现为一个客户端设备,能够连接到现有的 Wi-Fi 热点(如家中的路由器或其他 AP 设备)。这是最常见的使用方式之一,用于访问互联网或与其他联网设备通信。 - 特点: - 能够连接至已有的 Wi-Fi 网络。 - 支持 DHCP 自动获取 IP 地址。 - 广泛应用于 IoT 应用程序中,例如远程监控和数据采集。 - 实现方法:同样可通过编程指定目标 Wi-Fi 网络的 SSID 和密码来完成连接操作[^2]。 ```cpp #include <WiFi.h> const char* ssid = "Your_SSID"; const char* password = "Your_PASSWORD"; void setup() { Serial.begin(115200); WiFi.begin(ssid, password); // 尝试连接到指定的 Wi-Fi 网络 while (WiFi.status() != WL_CONNECTED) { delay(100); } Serial.println(WiFi.localIP()); // 打印分配的 IP 地址 } void loop() {} ``` --- #### 3. **混合模式 (Soft-AP + Station Mode)** 此模式结合了前两者的功能——既可作为热点提供服务,又可以同时连接到另一个 Wi-Fi 网络。这使得 ESP8266 成为了一个多用途平台,在某些复杂项目中有很高的实用价值。 - 特点: - 同时具备 AP 和 STA 的能力。 - 更加灵活但可能增加功耗。 - 适合构建自定义网关类应用。 - 实现方法:需分别初始化软 AP 接口与标准 STA 接口,并确保两者不会冲突运行[^1]。 ```cpp #include <WiFi.h> // SoftAP 参数 String softApSsid = "MixedMode_AP"; String softApPass = "mixedmodepass"; // Station 参数 const char* staSsid = "External_Network"; const char* staPassword = "externalnetworkpass"; void setup() { Serial.begin(115200); // 初始化 SoftAP WiFi.mode(WIFI_AP_STA); // 切换到混合模式 WiFi.softAP(softApSsid.c_str(), softApPass.c_str()); // 初始化 Station WiFi.begin(staSsid, staPassword); while (WiFi.status() != WL_CONNECTED) { delay(100); } Serial.print("SoftAP IP Address: "); Serial.println(WiFi.softAPIP()); Serial.print("Station IP Address: "); Serial.println(WiFi.localIP()); } void loop() {} ``` --- ### 总结 ESP8266 提供了丰富的网络选项,无论是单独作为热点还是客户端,亦或是二者兼得,都能很好地适应各种实际需求。开发者可以根据具体项目的特性选择合适的工作模式并加以利用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贝勒里恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值