驴友花雕 发表于 2024-9-25 16:46:04

【花雕学编程】Arduino动手做(232)--ESP32-S3 CAM的MAC与软AP






驴友花雕 发表于 2024-9-25 16:50:24

【花雕学编程】Arduino动手做(232)--ESP32-S3 CAM的MAC与软AP

【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-CAMWROOM 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() {
// 空循环,暂时没有需要重复执行的代码
}


驴友花雕 发表于 2024-9-25 16:54:03

【花雕学编程】Arduino动手做(232)--ESP32-S3 CAM的MAC与软AP

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


#include <WiFi.h>


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

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


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:


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网络:


WiFi.begin(ssid_Router, password_Router); // 连接到指定的WiFi网络

while (WiFi.status() != WL_CONNECTED) { // 等待连接成功

delay(500); // 每隔500毫秒检查一次

Serial.print("."); // 打印“.”表示正在连接

}


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

5、串口输出调试信息:

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地址,方便调试和查看设备状态。

驴友花雕 发表于 2024-9-25 16:55:42

【花雕学编程】Arduino动手做(232)--ESP32-S3 CAM的MAC与软AP

实验串口返回情况


驴友花雕 发表于 2024-9-25 16:57:32

【花雕学编程】Arduino动手做(232)--ESP32-S3 CAM的MAC与软AP

实验场景图


页: [1]
查看完整版本: 【花雕学编程】Arduino动手做(232)--ESP32-S3 CAM的MAC与软AP