ESP32 WiFi模块的sta模式和AP模式的使用

Arduino开发环境配置

一、下载Arduino IDE

  • 用浏览器打开Arduino官网
  • 进入 SOFTWARE — DOWNLOADS
  • 选择合适的版本点击下载
  • 下载后解压缩文件
  • 在应用程序中找到 Arduino IDE 即下载完成

二、配置环境

  • 打开Arduino IDE,选择左上角 文件–首选项
  • 在首选项页面的 附加开发板管理器网址后填写以下网站
    https://dl.espressif.com/dl/package_esp32_index.json
  • 选择左上角 工具–开发板–开发板管理器
  • 在上方搜索栏输入ESP32,选择 esp32 by Espressif System 版本1.0.2 进行安装

实验三: WiFi单模块实验

一、实验目的

  1. 通过ESP32的WiFi模块,使用WiFi的STA模式将ESP32连接到WiFi,使用AP模式使ESP32作为接入点
  2. 通过ESP32的WiFi模块,使用WiFi的AP模式将ESP32作为一个接入点

二、实验内容

实验目的一:

  1. 尝试连接指定SSID和PassWord的WiFi
  2. 查看WiFi是否已经连接

实验目的二:

  1. 使ESP32作为一个接入点,可以让其他设备连接

三、实验设备

ESP32-WROOM-32D 开发板

四、实验步骤

环境配置
  • 选择左上角 工具–开发板,选择对应的开发板(ESP32DevModule)
  • 下载库文件, 选择 工具–管理库,在搜索栏输入WiFi,选择WiFi Built-In by Arduino 版本1.2.7 进行安装
  • 选择 工具–端口 , 选择对应的端口
    实验目的一:
  1. 测试代码
    #include<WiFi.h>
    char* SSID = "YOURSSID";              //wifi名称
    char* PassWord = "YOURPASSWORD";      //wifi密码
    void ConnectWifi(char* ssid, char* password){
      Serial.println("----------------------");
      Serial.println("Begin connect");
      WiFi.begin(ssid,password);
      while(WiFi.status() != WL_CONNECTED){
        delay(1000);
        Serial.println("Connectingto WiFi...");
      }
      Serial.println("Connectedto the WiFi network");
    }
    void setup() {
      Serial.begin(115200);
      ConnectWifi(SSID,PassWord);
    }
    void loop() {
    }
  1. 测试WiFi是否连上
  • 在代码中设置WiFi的账号和密码
  • 打开串口监视器,点击左上角上传代码
  • 上传成功后,如果WiFi连接成功,则在串口监视器会输出 Connectedto the WiFi network,否则会一直输出Connectingto WiFi…

测试结果
实验目的二:
1)测试代码

#include<WiFi.h>
const char *ssid ="YOURSSID";
const char *password ="YOURPASSWORD";
void setup(){
  Serial.begin(115200);
  WiFi.softAP(ssid,password);
  Serial.println();
  Serial.print("IPaddress:");
  Serial.println(WiFi.softAPIP());
}
void loop(){

}

2)WiFi热点搜索
上传成功后使用手机搜索配置的WiFi热点并连接

五、其他问题

  • 如果在串口监视器输出乱码,则检查串口监视器设置的波特率与代码中的是否保持一致
  • 如果在上传过程中出现如下错误:

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

那么,在上传时当控制台出现Connecting......_____...... 的时候,按住开发板的Boot键直至上传成功
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ESP32可以同时运行在STAStation)模式AP(Access Point)模式下,实现STAAP的共存。以下是一种实现方式: 1. 首先,你需要在ESP32上初始化WiFi模块,并分别设置STAAP的参数。 ```cpp #include <WiFi.h> void setup() { // 初始化串口和WiFi模块 Serial.begin(115200); WiFi.mode(WIFI_MODE_STA); // 设置为STA模式 // 连接到WiFi路由器 WiFi.begin("your_ssid", "your_password"); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } // 设置AP模式的参数 WiFi.softAP("your_ap_ssid", "your_ap_password"); } void loop() { // 在这里可以添加其他代码 } ``` 在上述代码中,你需要将`"your_ssid"`和`"your_password"`替换为你的WiFi路由器的名称和密码,将`"your_ap_ssid"`和`"your_ap_password"`替换为你希望设置的AP的名称和密码。 2. 在ESP32上同时运行STAAP模式后,你可以通过STA模式连接到一个WiFi路由器,并且其他设备可以通过AP模式连接到ESP32。这样,ESP32即可以作为一个WiFi客户端连接到网络,又可以作为一个WiFi热点提供网络给其他设备连接。 请注意,ESP32STAAP之间共享同一个物理无线接口,因此在同时使用STAAP模式时,网络性能可能会受到影响。同时,ESP32的资源有限,如果同时处理大量的STAAP连接请求,可能会导致性能下降。因此,在实际应用中,需要根据具体需求和设备能力进行合理的配置和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值