目录
上期我们介绍了esp32wifi功能的初始化以及状态机的相关知识。这期我们从建立网络、连接网络、搜索网络以及WiFi功能的简单应用这个方面,来系统化的了解esp32中的WiFi功能。
一、建立网络(AP)
建立网络只需两步:
- 引用WiFi库
#include <WiFi.h>; - 启动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接入其他的网络。
连接到网络也只需要两步:
- 引用WiFi库
#include <WiFi.h>; - 连接到网络
WiFi.begin(ssid, password);;
将下面代码上传到模块中:
#include <

本文深入探讨ESP32的WiFi功能,包括网络建立、连接、扫描及简单应用。覆盖了从建立AP到连接STA模式的详细步骤,以及如何搜索可用网络。同时,介绍了事件回调机制,展示了如何监听网络状态变化。
,WIFI模块的初步学习和遇到的问题,以及解决方法(下),以及整体知识整理&spm=1001.2101.3001.5002&articleId=107895046&d=1&t=3&u=eda8717cc19c4cb29f3cd6726f1da8ac)
2133

被折叠的 条评论
为什么被折叠?



