跳到主要内容

【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连接成功");
}