ESP32学习实例(五),WIFI模块的初步学习和遇到的问题,以及解决方法(下),以及整体知识整理

本文深入探讨ESP32的WiFi功能,包括网络建立、连接、扫描及简单应用。覆盖了从建立AP到连接STA模式的详细步骤,以及如何搜索可用网络。同时,介绍了事件回调机制,展示了如何监听网络状态变化。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

目录

一、建立网络(AP)

 二、连接ESP所建立的网络

三、接入网络(STA)

 进阶练习

常用方法说明

四、扫描网络

同步搜索

异步搜索

五、简单应用

六、总结


上期我们介绍了esp32wifi功能的初始化以及状态机的相关知识。这期我们从建立网络、连接网络、搜索网络以及WiFi功能的简单应用这个方面,来系统化的了解esp32中的WiFi功能。

一、建立网络(AP)

建立网络只需两步:

  1. 引用WiFi库#include <WiFi.h>
  2. 启动AP网络WiFi.softAP(ssid)

将下面代码上传到模块中:

#include <WiFi.h>

void setup()
{
  WiFi.softAP("ESP32_AP_gzfdwl");
}

void loop()
{
}

 这个代码比较好理解,首先第1行表示WiFi这个功能的库,而在主函数中的esp32AP_gzfdwl可以作为我们网络的名称,这个名称可以随意修改,但是字符不易过长,这个字符是有一定限度的,如果太长的话,可能会引起程序的编译错误。

由于这个网络的名字太长了,我改成了最基础的名字ESP32_AP_TEST,连接状态如下图

 二、连接ESP所建立的网络

#include <WiFi.h>

IPAddress local_IP(192,168,4,22);
IPAddress gateway(192,168,4,22);
IPAddress subnet(255,255,255,0);

const char *ssid = "ESP32_AP_TEST";
const char *password = "12345678";

void setup()
{
  Serial.begin(115200);
  Serial.println();
  
  WiFi.mode(WIFI_AP); //设置工作在AP模式

  WiFi.softAPConfig(local_IP, gateway, subnet); //设置AP地址
  while(!WiFi.softAP(ssid, password)){}; //启动AP
  Serial.println("AP启动成功");

  Serial.print("IP address: ");
  Serial.println(WiFi.softAPIP()); // 打印IP地址

  WiFi.softAPsetHostname("myHostName"); //设置主机名
  Serial.print("HostName: ");
  Serial.println(WiFi.softAPgetHostname()); //打印主机名

  Serial.print("mac Address: ");
  Serial.println(WiFi.softAPmacAddress()); //打印mac地址
}

void loop()
{
  delay(1000);
  Serial.println(WiFi.softAPgetStationNum()); //打印客户端连接数
}

 其中第5行和第6行分别是我们建立网络的名称和接入网络的密码。在主函数中,我们第1步首先设置串口的波特率为115200,其次,让串口打印相关的信息。接着我们设置WiFi的工作模式为AP模式,设置AP的地址,启动AP,当AP正确启动后,在窗口中打印出AP启动成功的字样,并打印AP地址,其中主机的名称我们可以随意填写,并将由串口打印出来,最后的lop语句中,我们让其一直执行不断的打印出客户端连接的数目。具体的功能实现如下图所示。

三、接入网络(STA)

上面的过程是我们esp32作为热点直接建立网络,接下来我们让esp32接入其他的网络。
连接到网络也只需要两步:

  1. 引用WiFi库#include <WiFi.h>
  2. 连接到网络WiFi.begin(ssid, password);

将下面代码上传到模块中:

#include <

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值