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

【花雕学编程】Arduino动手做(232)---设置 ESP32-S3 N16R8 CAM 以打开软AP接入点 简单

头像 驴友花雕 2024.09.25 27 0

000-0.jpg
0-1.jpg
09-.jpg

无线AP(Wireless Access Point),即无线接入点,是无线网络中的核心设备。它的主要功能是将有线网络信号转换为无线信号,供无线设备(如笔记本电脑、智能手机等)使用。

一、无线AP的功能
1、连接无线与有线: 无线AP的主要功能是连接无线网络和有线网络,提供无线设备和有线网络之间的互相访问功能。
2、中继功能: 无线AP可以作为中继器,放大无线信号,从而扩大无线网络的覆盖范围。例如,在两个无线点之间放置一个AP,可以增强远端无线设备的信号。
3、桥接功能: 无线AP可以桥接两个无线AP端点,实现数据传输。在某些场景下,可以通过无线AP将两个有线局域网连接起来。
4、主从模式: 无线AP可以工作在主从模式下,被主无线AP或无线路由器看作是无线客户端,从而实现多点连接。

二、无线AP的应用场景
1、家庭宽带:提供家庭内部的无线网络覆盖。
2、企业内部网络:用于企业内部的无线网络部署,覆盖办公区域。
3、公共场所:如咖啡厅、酒店等,为顾客提供无线网络服务。

三、无线AP与无线路由器的区别
1、无线AP:主要用于无线信号的发射和接收,相当于无线交换机,不具备路由功能。
2、无线路由器:除了无线AP的功能外,还具备路由功能,可以实现互联网连接共享。

四、无线AP的优势
1、灵活性:可以灵活地扩展网络覆盖范围。
2、易于管理:通过集中管理多个AP,简化网络管理和维护。
3、覆盖范围广:适用于各种场景,从小型家庭到大型企业。

无线AP是无线局域网(WLAN)中的重要组成部分,提供了无线设备与有线网络之间的桥梁功能,是组建无线网络的核心设备。
 

25.jpg

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
  OV2640/5640摄像头模组
 {花雕动手做}实验之七:设置 ESP32-S3 N16R8 CAM 以打开软AP接入点

 

实验开源代码
 

代码
/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
   实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
   OV2640/5640摄像头模组
  {花雕动手做}实验之七:设置 ESP32-S3 N16R8 CAM 以打开软AP接入点
*/

#include <WiFi.h>

// 定义AP模式的SSID和密码
const char *ssid_AP     = "zhz3"; // 输入路由器名称
const char *password_AP = "z156721";  // 输入路由器密码

// 设置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(2000); // 延迟2秒
  
  Serial.println("设置软AP配置 ... "); // 打印“设置软AP配置...”信息
  WiFi.disconnect(); // 断开WiFi连接
  WiFi.mode(WIFI_AP); // 设置WiFi模式为AP模式
  Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? "完成准备" : "失败!"); // 配置软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("Setup End"); // 打印“设置结束”信息
}

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

代码解读
1、WiFi库的引入:

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

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

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

```cpp
const char *ssid_AP     = "WiFi_Name"; // 输入路由器名称
const char *password_AP = "12345678";  // 输入路由器密码
```

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

3、设置ESP32的网络配置:

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

通过设置IP地址、网关和子网掩码,配置ESP32在AP模式下的网络参数。

4、配置和启动软AP:

```cpp
WiFi.disconnect(); // 断开WiFi连接
WiFi.mode(WIFI_AP); // 设置WiFi模式为AP模式
Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? "Ready" : "Failed!"); // 配置软AP并打印结果
Serial.println("Setting soft-AP ... "); // 打印“设置软AP...”信息
boolean result = WiFi.softAP(ssid_AP, password_AP); // 启动软AP
```

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

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地址
```

通过串口输出软AP的IP地址和MAC地址,方便调试和查看设备状态。
 

实验串口返回情况

 

26.jpg

实验场景图

 

17.jpg

评论

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