ESP32 WiFi reference 参考(函数方法一览 )

凌顺实验室 (lingshunlab.com) 介绍 ESP32 WiFi reference 参考(函数方法一览 )

Arduino core for the ESP32 2.0.2

begin()

名称

WiFiSTAClass::begin()

说明

连接到 WiFi 接入点。

语法

#include <WiFi.h>

wl_status_t WiFiSTAClass::begin(const char* ssid, const char *passphrase, int32_t channel, const uint8_t* bssid, bool connect);

wl_status_t WiFiSTAClass::begin(char* ssid, char *passphrase, int32_t channel, const uint8_t* bssid, bool connect);

wl_status_t WiFiSTAClass::begin();

最后一种语法大概使用了前半部分使用esp_wifi_set_config()或者begin()设置的值。

参数

  • ssid: 要连接的 SSID。
  • passphrase: 用于连接到您要连接的 SSID 的密码。如果省略,则设置 NULL。
  • channel: 要连接的 Wifi 频道。可选的。如果省略,则设置为 0。
  • bssid: 要连接的无线 LAN 的 BSSID。可选的。如果省略,则设置 NULL。
  • connect: 是否连接到接入点。可选的。如果省略,则设置为 true。

返回值

连接状态。

返回以下枚举类型。

typedef enum {
    WL_NO_SHIELD        = 255,   // for compatibility with WiFi Shield library
    WL_IDLE_STATUS      = 0, // 突然断开WIFI
    WL_NO_SSID_AVAIL    = 1, // 无法访问设置的SSID网络
    WL_SCAN_COMPLETED   = 2,
    WL_CONNECTED        = 3, // 连接成功
    WL_CONNECT_FAILED   = 4, // WIF 配置错误,可能密码不正确
    WL_CONNECTION_LOST  = 5,
    WL_DISCONNECTED     = 6 // 断开连接
} wl_status_t;

注意
预定义了一个名为 WiFi 的 WiFiClass 对象,可以使用该对象进行操作。
WiFiClass是一个继承WiFiGenericClass、WiFiSTAClass、WiFiScanClass、WiFiAPClassWiFi的类。

config()

名称

WiFiSTAClass::config()

说明

配置 WiFi 网络设置。
如果您指定 0.0.0.0 作为 IP 地址,它似乎使用 DHCP。

格式

#include <WiFi.h>

bool WiFiSTAClass::config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1, IPAddress dns2);

参数

  • local_ip 分配给 ESP-WROOM-32 的 IP 地址
  • gateway 网关 IP 地址
  • subnet 子网掩码
  • dns1 主 DNS 服务器的 IP 地址。(选项)
  • dns2 备用 DNS 服务器的 IP 地址。(选项)

返回值

设置结果。成功时为true,失败时为false。

disconnect()

名称

WiFiSTAClass::disconnect()

说明

断开您的 WiFi 网络。

语法

#include <WiFi.h>

bool WiFiSTAClass::disconnect(bool wifioff, bool eraseap);

参数

  • wifioff:指定 true 以退出工作站模式。如果省略则为假。
  • eraseap:如果指定 true,则 WiFi 设置信息将被删除。如果省略则为假。

返回值

执行结果。成功时为true,失败时为false。调用时不在站模式下也为false。

注意
预定义了一个名为 WiFi 的 WiFiClass 对象,可以使用该对象进行操作。
WiFiClass是一个继承WiFiGenericClass、WiFiSTAClass、WiFiScanClass、WiFiAPClassWiFi的类。

dnsIP()

名称

WiFiSTAClass::dnsIP()

说明

返回当前分配的 DNS 服务器的 IP 地址。

语法

#include <WiFi.h>

IPAddress WiFiSTAClass::dnsIP(uint8_t dns_no);

参数

  • dns_no DNS 服务器号(主 DNS 服务器:0,辅助 DNS 服务器:1)。可选的。如果省略,则为 0(主 DNS 服务器)。

返回值

DNS 服务器的 IP 地址。

注意
预定义了一个名为 WiFi 的 WiFiClass 对象,可以使用该对象进行操作。
WiFiClass是一个继承WiFiGenericClass、WiFiSTAClass、WiFiScanClass、WiFiAPClassWiFi的类。

gatewayIP()

名称

WiFiSTAClass::gatewayIP()

说明

返回当前分配的网关的 IP 地址。

语法

#include <WiFi.h>

IPAddress WiFiSTAClass::gatewayIP();

参数

没有任何

返回值

网关 IP 地址。

注意
预定义了一个名为 WiFi 的 WiFiClass 对象,可以使用该对象进行操作。
WiFiClass是一个继承WiFiGenericClass、WiFiSTAClass、WiFiScanClass、WiFiAPClassWiFi的类。

localIP()

名称

WiFiSTAClass::localIP()

说明

返回当前分配的 IP 地址。

语法

#include <WiFi.h>

IPAddress WiFiSTAClass::localIP();

参数

没有任何

返回值

IP地址。

注意
预定义了一个名为 WiFi 的 WiFiClass 对象,可以使用该对象进行操作。
WiFiClass是一个继承WiFiGenericClass、WiFiSTAClass、WiFiScanClass、WiFiAPClassWiFi的类。

macAddress()

名称

WiFiSTAClass::macAddress()

说明

返回当前分配的 MAC 地址。

语法

#include <WiFi.h>

uint8_t* WiFiSTAClass::macAddress(uint8_t* mac);

String WiFiSTAClass::macAddress(void);

参数

  • mac 具有存储 MAC 地址所需空间的 uint8_t 数组(48 位 = 6 字节)。MAC 地址存储在该区域中。

返回值

IP地址。

注意
预定义了一个名为 WiFi 的 WiFiClass 对象,可以使用该对象进行操作。
WiFiClass是一个继承WiFiGenericClass、WiFiSTAClass、WiFiScanClass、WiFiAPClassWiFi的类。

status()

名称

WiFiSTAClass::status()

说明

返回当前 WiFi 连接状态。

语法

#include <WiFi.h>

wl_status_t WiFiSTAClass::status();

参数

没有任何。

返回值

WiFi 连接状态。

返回以下枚举类型。

typedef enum {
    WL_NO_SHIELD        = 255,   // for compatibility with WiFi Shield library
    WL_IDLE_STATUS      = 0,
    WL_NO_SSID_AVAIL    = 1,
    WL_SCAN_COMPLETED   = 2,
    WL_CONNECTED        = 3,
    WL_CONNECT_FAILED   = 4,
    WL_CONNECTION_LOST  = 5,
    WL_DISCONNECTED     = 6
} wl_status_t;

注意
预定义了一个名为 WiFi 的 WiFiClass 对象,可以使用该对象进行操作。
WiFiClass是一个继承WiFiGenericClass、WiFiSTAClass、WiFiScanClass、WiFiAPClassWiFi的类。

subnetMask()

名称

WiFiSTAClass::subnetMask()

说明

返回当前分配的子网掩码。

语法

#include <WiFi.h>

IPAddress WiFiSTAClass::subnetMask();

参数

没有任何

返回值

子网掩码。

注意
预定义了一个名为 WiFi 的 WiFiClass 对象,可以使用该对象进行操作。
WiFiClass是一个继承WiFiGenericClass、WiFiSTAClass、WiFiScanClass、WiFiAPClassWiFi的类。

waitForConnectResult()

名称

WiFiSTAClass::waitForConnectResult()

说明

等待 WiFi 连接完成(成功或失败)。

语法

#include <WiFi.h>

uint8_t WiFiSTAClass::waitForConnectResult(unsigned long timeoutLength = 60000);;

参数

没有任何

返回值

WiFi 连接状态。

返回最终的WiFi.status()结果,如果不是 WIFI_MODE_STA,则返回 WL_DISCONNECTED。

注意
预定义了一个名为 WiFi 的 WiFiClass 对象,可以使用该对象进行操作。
WiFiClass是一个继承WiFiGenericClass、WiFiSTAClass、WiFiScanClass、WiFiAPClassWiFi的类。

mode()

名称

WiFiGenericClass::mode()

说明

设置 WiFi 操作模式。

语法

#include <WiFi.h>

bool WiFiGenericClass::mode(wifi_mode_t m);

参数

  • m 动作模式。

wifi_mode_t 类型如下。

typedef enum {
    WIFI_MODE_NULL = 0,  // 关闭wifi
    WIFI_MODE_STA,          // WiFi station mode 无线终端模式,也就是让ESP32可以连接上其他的热点(就像手机一样,可以连上家裡wifi)。
    WIFI_MODE_AP,            //  WiFi soft-AP mode   ESP32可以让其他设备透过wifi接入(就像家裡的wifi基地台,可供手机连线)。
    WIFI_MODE_APSTA,      // WiFi station + soft-AP mode 将ESP32设置成两个模式并存。
    WIFI_MODE_MAX
} wifi_mode_t;

它还具有以下定义:

#define WIFI_OFF     WIFI_MODE_NULL
#define WIFI_STA     WIFI_MODE_STA
#define WIFI_AP      WIFI_MODE_AP
#define WIFI_AP_STA  WIFI_MODE_APSTA

返回值

设置结果。成功时为true,失败时为false。

注意
预定义了一个名为 WiFi 的 WiFiClass 对象,可以使用该对象进行操作。
WiFiClass是一个继承WiFiGenericClass、WiFiSTAClass、WiFiScanClass、WiFiAPClassWiFi的类。