北京网站优化关键词排名,咸宁抖音seo收费标准,如何提升网站搜索排名,ui设计比较成功的网站页面ESP32-WIFI Wi-Fi是一种基于IEEE 802.11标准的无线局域网技术#xff0c;是Wi-Fi联盟制造商的商标作为产品的品牌认证。它可以让电脑、手机、平板电脑等设备通过无线信号连接到互联网 。 在无线网络中#xff0c;AP#xff08;Access Point#xff09;和 STA#xff08;St…ESP32-WIFI Wi-Fi是一种基于IEEE 802.11标准的无线局域网技术是Wi-Fi联盟制造商的商标作为产品的品牌认证。它可以让电脑、手机、平板电脑等设备通过无线信号连接到互联网 。 在无线网络中APAccess Point和 STAStation是两个重要的概念。AP即无线接入点它是一个无线网络的中心节点负责向周围的设备提供无线信号例如路由器或无线基站。另一方面STA指的是接收无线信号的终端设备比如笔记本电脑、智能手机、平板电脑等。这些设备可以通过连接AP热点来连接到网络
官方手册
Wi-Fi API
简介 Wi-Fi API 提供对 802.11b/g/n 协议驱动程序的支持。此 API 包括 Station 模式STA 模式或 Wi-Fi 客户端模式。ESP32 连接到接入点 AP 模式又名 Soft-AP 模式或接入点模式。设备连接到 ESP32 安全模式WPA2、WPA3 等 扫描接入点
WIFI终端STA STA 模式用于将 ESP32 连接到接入点提供的 Wi-Fi 网络
1. 连接WIFI
WiFi.begin(ssid, password);ssid 是Wi-Fi网络的名称password 是Wi-Fi网络的密码
2. 检查是否连接成功 // 等待Wi-Fi连接成功while (WiFi.status() ! WL_CONNECTED){// 打印提示信息Serial.println(正在连接);// 延时1秒delay(1000);}WiFi.status()用于获取当前WiFi连接的状态。返回值类型为 wl_status_t表示连接状态的整数值。
以下是一些返回值及其含义
WL_NO_SHIELD: 没有连接到任何WiFi模块或扩展板。WL_IDLE_STATUS: WiFi处于空闲状态未连接到任何网络。WL_CONNECTED: 已连接到WiFi网络。WL_CONNECT_FAILED: 尝试连接到WiFi网络失败。WL_CONNECTION_LOST: 与WiFi网络的连接丢失。
3. 重新连接
bool reconnect();reconnect()尝试重新连接
4. 断开连接
bool disconnect(bool wifioff false, bool eraseap false);wifioff:默认值为false表示不关闭WiFieraseap:默认值为false表示不擦除接入点信息
5. 返回连接状态
bool isConnected();isConnected()返回连接状态的bool值
连接WIFI的程序示例
#include Arduino.h
#include WiFi.hvoid setup()
{// 初始化串口通信波特率为115200Serial.begin(115200);// 开始连接Wi-Fi网络使用SSID为HUAWEI-NZX_2.4G密码为987654321WiFi.begin(HUAWEI-NZX_2.4G, 987654321);// 等待Wi-Fi连接成功while (WiFi.status() ! WL_CONNECTED){// 打印提示信息Serial.println(正在连接);// 延时1秒delay(1000);}// 打印连接成功的IP地址Serial.print(ip:);Serial.println(WiFi.localIP());
}void loop()
{}WIFI主机AP 在AP模式下ESP32 配置为接入点 它能够通过提供 Wi-Fi 网络
1. 将 Wi-Fi 作为接入点启动
bool WiFiAPClass::softAP(const char* ssid, const char* passphrase, int channel, int ssid_hidden, int max_connection, bool ftm_responder)WiFiAPClass::softAP() 是一个用于启动一个开放网络的函数它接受以下参数
ssid网络名称即SSID。passphrase网络密码。channel网络使用的频道。ssid_hidden是否隐藏SSID0表示不隐藏1表示隐藏。max_connection最大连接数。ftm_responder是否作为FTMFast Track Management响应器0表示不作为1表示作为。
返回值如果成功启动开放网络则返回 true否则返回 false。
2. 将 IP 配置为静态固定以及网关和子网
bool softAPConfig(IPAddress local_ip, IPAddress gateway, IPAddress subnet);用于配置ESP32的SoftAP软件接入点的函数。它接受三个参数
local_ip:设置本地 IP 地址gateway:设置网关 IPsubnet:设置子网掩码
函数返回一个布尔值表示配置是否成功
3. softAP断开连接
bool softAPdisconnect(bool wifioff false);softAPdisconnect函数的作用是断开当前设备的软接入点AP连接。
wifioff 为false时断开软接入点连接后设备将自动切换回WiFi模式为true时断开软接入点连接后设备将保持关闭状态。
4. 获取AP客户端数量
uint8_t softAPgetStationNum();softAPgetStationNum(); 可以获取当前软接入点Soft Access Point连接的客户端设备数量。一个无符号8位整数用于表示设备数量。
5. 获取 AP IPv4 地址的函数
IPAddress softAPIP();softAPIP()获取当前设备的软接入点的IP地址以IPAddress 格式返回地址
创建WIFI接入点程序示例
#include Arduino.h
#include WiFi.h // 引入WiFi库
const char* ssidESP32AP; // 定义一个字符串常量表示WiFi接入点的SSID
const char* password123456789; // 定义一个字符串常量表示WiFi接入点的密码void setup() {Serial.begin(115200); // 初始化串行通信波特率为115200WiFi.softAP(ssid,password); // 创建一个名为ESP32AP的WiFi接入点并设置密码为123456789Serial.print(\n WiFi接入点ip:); // 在串行监视器上打印提示信息Serial.println(WiFi.softAPIP()); // 在串行监视器上打印WiFi接入点的IP地址
}void loop() {} WiFi扫描 对网络执行 Wi-Fi 扫描获取周围网络环境中的可用WIFI
1. 扫描可用的WiFi网络
int16_t scanNetworks(bool async false, bool show_hidden false, bool passive false, uint32_t max_ms_per_chan 300, uint8_t channel 0);scanNetworks该函数会返回一个包含所有可用网络SSID服务集标识符的个数。
扫描周边WiFi网络并串口打印 网络名称信号强度MAC地址
void scanNetworks(){int numberOfNetworks WiFi.scanNetworks(); // 扫描周边WiFi网络并获取网络数量Serial.print(周围可用WILI数量:); // 打印网络数量Serial.println(numberOfNetworks);for(int i0;inumberOfNetworks;i){ // 遍历所有找到的网络Serial.print(WIFI名称: ); // 打印网络名称Serial.println(WiFi.SSID(i)); // 打印SSIDSerial.print(信号强度: ); // 打印信号强度Serial.println(WiFi.RSSI(i)); // 打印信号强度值Serial.print(MAC地址: ); // 打印MAC地址Serial.println(WiFi.BSSIDstr(i)); // 打印MAC地址字符串形式Serial.println(-----------------------); }
}