1.建立网络(AP)
2.连接网络(STA)
3.扫描网络

1.建立网络(AP)
只需两步:1.引用WiFi库include<WiFi.h> 2.启动AP网络WiFi.softAP(ssid)

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

#include <WiFi.h>

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

void loop()
{
}

代码运行后可以搜索到一个名称为ESP32_AP_TEST的无密码网络,默认情况下ESP32建立AP时,模块自身地址为192.168.4.1,可以连接到该网络后进行测试

常用方法说明:
bool softAP(const char* ssid, const char* passphrase = NULL, int channel = 1, int ssid_hidden = 0, int max_connection = 4) 该方法用来启动AP,在成功启动后返回true,各项参数如下:
ssid所建立AP网络的名称,至少需一个字节,最大一般不超过32字节;
passphrase所建立AP网络的密码,可以为NULL(无密码)或不小于8字节且不大于63字节的密码;
channelWiFi网络信道,可选值1~13;
ssid_hidden是否对外隐藏SSID,0-不隐藏,1-隐藏;
max_connection最大可接入数,可选值1~4;
bool softAPConfig(IPAddress local_ip, IPAddress gateway, IPAddress subnet) 设置本地地址、网关地址和子网掩码,默认分别为192.168.4.1 192.168.4.1 255.255.255.0
bool softAPdisconnect(bool wifioff = false) 关闭当前AP,若wifioff为true则还将还原网络设置;
uint8_t softAPgetStationNum() 返回连接到AP的客户端数量;
IPAddress softAPIP() 返回当前模块IP
const char * softAPgetHostname() 返回主机名字
bool softAPsetHostname(const char * hostname) 设置主机名字
uint8_t* softAPmacAddress(uint8_t* mac)String softAPmacAddress(void) 返回mac地址

使用示例:

#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()); //打印客户端连接数
}

另:
使用ESP32和Arduino IDE设置一个软AP。这样其他设备就可以连接到ESP32并与其交换数据,而无需连接到传统路由器。

例如,在实际连接到无线网络之前,在商业产品中配置ESP32可能是有用的。有了这个功能,我们可以提供一个简单的HTML页面,用户可以从他的家庭网络输入证书,以便ESP32稍后连接到它。

#include<WiFi.h>首先,应包含WiFi.h库,它提供了一个名为WiFi的外部变量,我们将使用它来设置我们的软AP
由于我们要设置一个软AP,我们需要指定网络名称(SSID),它将显示给可以连接的站点。我们还需要指定一个密码,以避免不良站点连接到我们的AP。我们将在全局常量中指定这两个变量
const char* ssid = "MyESP32AP";const char* password = "testpassword"; 之后,我们将在Arduino设置功能中完成剩余的代码。我们从开始串口连接开始,我们可以输出程序的一些结果。这样,我们可以在Arduino IDE串口监视器中检查结果。
Serial.begin(115200) 之后,为了设置我们的软AP,我们只需调用WiFi extern变量的softAP方法,同时输入之前定义的SSID和密码
请注意,这个函数有一些更多的可选参数,分配了默认值。这些是通道,一个整数,指定SSID是否应该隐藏,以及最大连接数。除此之外,密码也是一个可选参数,默认为NULL,这将允许无需密码连接到AP。尽管如此,对于我们的例子,我们指定了它
WiFi.softAP(ssid,passwoord); 最后,我们将通过调用WiFi extern变量的softAPIP方法来获取并打印软AP的IP。此方法不带任何参数,将返回IP地址
Serial.println(WiFi.softAPIP()); 下面可以看到这个ESP32教程的最终源代码。它包括所有先前分析的代码和一些额外的打印件,以使输出更易于阅读

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


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

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

#include <WiFi.h>

const char *ssid = "********"; //你的网络名称
const char *password = "********"; //你的网络密码

void setup()
{
  Serial.begin(115200);
  Serial.println();

  WiFi.begin(ssid, password); //连接网络

  while (WiFi.status() != WL_CONNECTED) //等待网络连接成功
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println("WiFi connected!");

  Serial.println("IP address: ");
  Serial.println(WiFi.localIP()); //打印模块IP
}

void loop()
{
}