【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地址,方便调试和查看设备状态。
实验串口返回情况
实验场景图
评论