【WiFi】无线通信
介绍
是什么
WiFi(无线局域网,Wireless Fidelity)是一种基于 IEEE 802.11 标准的无线通信技术,允许设备(如手机、电脑、IoT设备)通过无线电波(2.4GHz/5GHz)进行数据交换。
核心概念
-
采用射频(RF)技术传输数据(类似无线电,但用于数字通信)
-
协议版本:WiFi4(802.11n)、WiFi5(802.11ac)、WiFi6(802.11ax)
-
频段:2.4GHz(穿墙好,但拥挤)、5GHz(更快,干扰少)
ESP32 WiFi常用模式
-
WIFI_MODE_STA(WIFI_STA):
-
ESP 像手机/电脑一样连接到现有 WiFi 网络(如家庭路由器)
-
通过
WiFi.begin(SSID, 密码)连接
-
-
WIFI_MODE_AP(WIFI_AP):
-
接入点(Access Point)模式ESP 自身创建 WiFi 热点,其他设备(手机/电脑)可连接到此热点
-
类似迷你路由器,但不提供互联网(除非手动桥接)。
-
通过
WiFi.softAP(SSID, 密码)设置。
-
-
WIFI_MODE_AP_STA(WIFI_AP_STA):
- ESP 同时作为热点(AP)和客户端(STA)。既能连接外部WiFi,又能被其他设备连接。
- AP 用于本地控制,STA 用于外网 通信。
ESP32 WiFi例程
例程1 - 产生一个热点
- 代码
#include <Arduino.h>
#include <WiFi.h>
const char* ssid = "填写你的WiFi名称";
const char* password = "填写你的WiFi密码";
void setup() {
Serial.begin(9600);
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password, 1); // 信道1
}
void loop() {
}
例程2 - 连接到一个热点
- 代码
#include <Arduino.h>
#include <WiFi.h>
const char* ssid = "填写你的WiFi名称";
const char* password = "填写你的WiFi密码";
void setup() {
Serial.begin(9600);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
}
void loop() {
// 检查WiFi连接状态
while(WiFi.status() != WL_CONNECTED){
}
Serial.println("WiFi连接成功");
}