Skip to main content

WiFi 使用

开始

Seeed Studio XIAO ESP32C3 支持 IEEE 802.11b/g/n WiFi 连接。本教程将介绍在此开发板上使用 WiFi 的基础知识。

attention

⚠️ 将开发板用作热点(接入点)时请小心。它可能会过热并造成烫伤。

硬件设置

  • 步骤 1. 将随附的 WiFi/ 蓝牙天线 连接到开发板上的 IPEX 连接器
pir
  • 步骤 2. 通过 USB Type-C 数据线将 XIAO ESP32C3 连接到您的计算机
pir

模式 1:STA 模式(站点模式)- 扫描 WiFi 网络

扫描 Wi-Fi 接入点

在此示例中,我们将使用 XIAO ESP32C3 扫描其周围可用的 WiFi 网络。这里开发板将配置为站点(STA)模式。

  • 步骤 1. 将下面的代码复制并粘贴到 Arduino IDE 中
#include "WiFi.h"

void setup() {
Serial.begin(115200);

// 将 WiFi 设置为站点模式,如果之前连接过 AP 则断开连接
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);

Serial.println("Setup done");
}

void loop() {
Serial.println("scan start");

// WiFi.scanNetworks 将返回找到的网络数量
int n = WiFi.scanNetworks();
Serial.println("scan done");
if (n == 0) {
Serial.println("no networks found");
} else {
Serial.print(n);
Serial.println(" networks found");
for (int i = 0; i < n; ++i) {
// 打印找到的每个网络的 SSID 和 RSSI
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.print(")");
Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN) ? " " : "*");
delay(10);
}
}
Serial.println("");

// 再次扫描前等待一段时间
delay(5000);
}

步骤 2. 上传代码并打开串口监视器开始扫描WiFi网络

pir

连接到WiFi网络

在这个示例中,我们将使用XIAO ESP32C3连接到WiFi网络。

  • 步骤 1. 复制并粘贴以下代码到Arduino IDE中
#include <WiFi.h>

const char* ssid = "your-ssid";
const char* password = "your-password";

void setup() {
Serial.begin(115200);
delay(10);

// 我们首先连接到WiFi网络
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}

Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {}

步骤 2. 上传代码并打开串口监视器,检查开发板是否已连接到WiFi网络

pir

模式 2:软AP模式(作为STA工作)- 用作接入点

在这个示例中,我们将使用XIAO ESP32C3作为WiFi接入点,其他设备可以连接到它。这类似于手机上的WiFi热点功能。

  • 步骤 1. 将下面的代码复制并粘贴到Arduino IDE中
#include "WiFi.h"
void setup() {
Serial.begin(115200);
WiFi.softAP("ESP_AP", "123456789");
}

void loop() {
Serial.print("Host Name:");
Serial.println(WiFi.softAPgetHostname());
Serial.print("Host IP:");
Serial.println(WiFi.softAPIP());
Serial.print("Host IPV6:");
#if ESP_ARDUINO_VERSION_MAJOR < 3
Serial.println(WiFi.softAPIPv6());
#else
Serial.println(WiFi.softAPlinkLocalIPv6());
#endif
Serial.print("Host SSID:");
Serial.println(WiFi.SSID());
Serial.print("Host Broadcast IP:");
Serial.println(WiFi.softAPBroadcastIP());
Serial.print("Host mac Address:");
Serial.println(WiFi.softAPmacAddress());
Serial.print("Number of Host Connections:");
Serial.println(WiFi.softAPgetStationNum());
Serial.print("Host Network ID:");
Serial.println(WiFi.softAPNetworkID());
Serial.print("Host Status:");
Serial.println(WiFi.status());
delay(1000);
}
note

如果您的ESP32开发板版本已经更新到3.0.0,您需要将代码从softAPIPv6()更改为softAPlinkLocalIPv6()

步骤 2. 上传代码并打开串口监视器,查看WiFi接入点的更多详细信息

pir

步骤 3. 在PC或手机上扫描WiFi网络,您将能够使用我们在代码中指定的密码连接到这个新创建的网络

pir

现在您将看到串口监视器上的Number of Host Connections已更新为1

pir

XIAO ESP32C3 & Home Assistant

我们很高兴地宣布,我们已经支持XIAO ESP32C3接入ESPHome和Home Assistant!

有关本节的更多信息,请参考相关教程。

参考资料

技术支持与产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...