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的类。