回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【花雕学编程】Arduino动手做(232)---设置ESP32-S3 N16R8 CAM通过串口输出软AP的IP、MAC和WiFi设备IP地址 简单

头像 驴友花雕 2024.09.25 48 0

000-0.jpg
0-3.jpg
09-.jpg

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
  OV2640/5640摄像头模组
 {花雕动手做}实验之八:设置ESP32-S3 N16R8 CAM通过串口输出
 软AP的IP、MAC和WiFi设备IP地址

实验开源代码
 

代码
/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
   实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
   OV2640/5640摄像头模组
  {花雕动手做}实验之八:设置ESP32-S3 N16R8 CAM通过串口输出
  软AP的IP、MAC和WiFi设备IP地址
*/

#include <WiFi.h> // 引入WiFi库,用于WiFi连接和管理

// 定义路由器名称和密码
const char* ssid = "zhz3";
const char* password = "z156721";

// 定义AP模式的SSID和密码
const char *ssid_AP         = "WiFi_ESP32"; // 输入AP模式的SSID名称
const char *password_AP     = "12345678";  // 输入AP模式的密码

// 设置ESP32的IP地址、网关和子网掩码
IPAddress local_IP(192, 168, 1, 100); // 设置ESP32的IP地址
IPAddress gateway(192, 168, 1, 10);   // 设置ESP32的网关
IPAddress subnet(255, 255, 255, 0);   // 设置ESP32的子网掩码

void setup() {
  Serial.begin(115200); // 初始化串口通信,波特率为115200
  Serial.println(" ");
  Serial.println("ESP32-S3-CAM  WROOM N16R8 准备就绪! ");
  Serial.println(" ");
  delay(1000); // 延迟1秒

  Serial.println("设置软AP配置 ... "); // 打印“设置软AP配置...”信息
  WiFi.disconnect(); // 断开WiFi连接
  WiFi.mode(WIFI_AP); // 设置WiFi模式为AP模式

  Serial.println("设置软AP... "); // 打印“设置软AP...”信息
  boolean result = WiFi.softAP(ssid_AP, password_AP); // 启动软AP

  if (result) {
    Serial.println("完成准备"); // 打印“准备就绪”信息
    Serial.println(String("软AP的IP地址 = ") + WiFi.softAPIP().toString()); // 打印软AP的IP地址
    Serial.println(String("软AP的MAC地址 = ") + WiFi.softAPmacAddress().c_str()); // 打印软AP的MAC地址
  } else {
    Serial.println("失败!"); // 打印“失败”信息
  }

  Serial.println("\n 设置站点配置 ... "); // 打印“设置站点配置...”信息
  WiFi.begin(ssid, password); // 连接到指定的WiFi网络
  Serial.println(String("连接中 ") + ssid); // 打印连接信息
  while (WiFi.status() != WL_CONNECTED) { // 等待连接成功
    delay(500); // 每隔500毫秒检查一次
    Serial.print("..."); // 打印“...”表示正在连接
  }
  Serial.println("\n 已连接,IP地址: "); // 打印连接成功信息
  Serial.println(WiFi.localIP()); // 打印设备的IP地址
  Serial.println("设置结束"); // 打印“设置结束”信息
}

void loop() {
  // 空循环,暂时没有需要重复执行的代码
}

程序要点解读
1、引入WiFi库:

```cpp
#include <WiFi.h>
```

这行代码引入了WiFi库,使得ESP32能够配置和管理WiFi连接。

2、定义路由器和AP模式的SSID和密码:

```cpp
const char *ssid_Router     = "********";  // 输入路由器名称
const char *password_Router = "********";  // 输入路由器密码
const char *ssid_AP         = "WiFi_Name"; // 输入AP模式的SSID名称
const char *password_AP     = "12345678";  // 输入AP模式的密码
```

这里定义了四个常量字符指针,分别用于存储路由器和AP模式下的SSID(名称)和密码。

3、配置和启动软AP:

```cpp
WiFi.disconnect(); // 断开当前WiFi连接
WiFi.mode(WIFI_AP); // 设置WiFi模式为AP模式
boolean result = WiFi.softAP(ssid_AP, password_AP); // 启动软AP
```

断开当前WiFi连接,设置WiFi模式为AP模式,配置软AP的网络参数,并启动软AP。

4、连接到WiFi网络:

```cpp
WiFi.begin(ssid_Router, password_Router); // 连接到指定的WiFi网络
while (WiFi.status() != WL_CONNECTED) { // 等待连接成功
 delay(500); // 每隔500毫秒检查一次
 Serial.print("."); // 打印“.”表示正在连接
}
```

使用WiFi.begin函数连接到指定的WiFi网络,并在串口监视器上打印连接状态。通过WiFi.status函数检查连接状态,直到连接成功后打印设备的IP地址。

5、串口输出调试信息:

```cpp
Serial.println(String("Soft-AP IP address = ") + WiFi.softAPIP().toString()); // 打印软AP的IP地址
Serial.println(String("MAC address = ") + WiFi.softAPmacAddress().c_str()); // 打印软AP的MAC地址
Serial.println(WiFi.localIP()); // 打印设备的IP地址
```

通过串口输出软AP的IP地址和MAC地址,以及连接到WiFi网络后的设备IP地址,方便调试和查看设备状态。

实验串口返回情况

 

27.jpg

实验场景图 

 

18.jpg

评论

user-avatar
icon 他的勋章
    展开更多