驴友花雕 发表于 2024-9-22 19:08:13

【花雕学编程】Arduino动手做(230)--ESP32-CAM 热点服务器

本帖最后由 驴友花雕 于 2024-9-22 19:10 编辑



ESP32-CAM 是一款非常小的摄像头模块,配备 ESP32-S 芯片。除了 OV2640 摄像头和几个用于连接外围设备的 GPIO 外,它还具有一个 microSD 卡插槽,可用于存储使用摄像头拍摄的图像或存储文件以提供给客户。包括乐鑫 ESP32-S Wifi + 蓝牙+BLE 芯片、2MP 摄像头模块 OV2640 和带有 CH340 UART 芯片的 USB 编程适配器。

ESP32-Cam 是一款运行在 ESP32-S 芯片上并使用 OV2640 摄像头的小型摄像头模块。ESP32_Cam 也可以 OV7670 摄像头,但 OV2640 更好(更高的分辨率和内置的 JPEG 编码,这消除了 ESP32-S 的处理任务)。

ESP-32 Cam 规格
ESP-32 系列
它支持 Wi-Fi (802.11b/g/n)
支持蓝牙 (4.2 带 BLE)
内置 LED 闪光灯
9 个 IO 端口
支持 UART、SPI、I2C 和 PWM
内置 micro SD 读卡器
输入电源:3.3V / 5V(据报道,5V 供电比 3.3V 更稳定)

OV2640 摄像头
2 百万像素
阵列尺寸:UXGA (1600 x 1200)
镜头尺寸:1/4 英寸(6.35 毫米)
最大图像传输速率:15 帧/秒



驴友花雕 发表于 2024-9-22 19:11:58

【花雕学编程】Arduino动手做(230)--ESP32-CAM 热点服务器

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
项目实验之二十三:使用 ESP32-CAM 自身的热点来创建一个简易的 HTTP 服务器

实验开源代码

/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
项目实验之二十三:使用 ESP32-CAM 自身的热点来创建一个简易的 HTTP 服务器
*/

#include <WiFi.h>
#include <WebServer.h>

// 创建 WebServer 对象,监听 80 端口
WebServer server(80);

// 处理根 URL 请求的函数
void handleRoot() {
String message = "<html><body>";
message += "<h1>Hello from ESP32-CAM!</h1>";
message += "<p>IP Address: ";
message += WiFi.softAPIP().toString();
message += "</p></body></html>";
server.send(200, "text/html", message);
}

// 处理额外页面请求的函数
void handlePage() {
server.send(200, "text/html", "<html><body>This is an additional page.</body></html>");
}

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

// 设置 Wi-Fi 模式为接入点
WiFi.mode(WIFI_AP);
// 配置 Wi-Fi 接入点的 SSID 和密码
WiFi.softAP("ESP32-CAM", "12345678");
Serial.println("ESP32-CAM准备就绪");
Serial.print("IP Address: ");
Serial.println(WiFi.softAPIP());

// 定义根 URL 处理程序
server.on("/", handleRoot);

// 定义额外页面的路由处理程序
server.on("/page", HTTP_GET, handlePage);

// 启动服务器
server.begin();
Serial.println("HTTP server started");
}

void loop() {
// 处理任何收到的请求
server.handleClient();
}

驴友花雕 发表于 2024-9-22 19:16:22

【花雕学编程】Arduino动手做(230)--ESP32-CAM 热点服务器

代码解读:
1、包含必要的库:

#include <WiFi.h>

#include <WebServer.h>

2、创建 WebServer 对象:


WebServer server(80);

3、处理根 URL 请求的函数:

void handleRoot() {

String message = "<html><body>";

message += "<h1>Hello from ESP32-CAM!</h1>";

message += "<p>IP Address: ";

message += WiFi.softAPIP().toString();

message += "</p></body></html>";

server.send(200, "text/html", message);

}

4、处理额外页面请求的函数:


void handlePage() {

server.send(200, "text/html", "<html><body>This is an additional page.</body></html>");

}

驴友花雕 发表于 2024-9-22 19:17:25

【花雕学编程】Arduino动手做(230)--ESP32-CAM 热点服务器

5、设置函数:


void setup() {

Serial.begin(115200);

Serial.println(" ");



// 设置 Wi-Fi 模式为接入点

WiFi.mode(WIFI_AP);

// 配置 Wi-Fi 接入点的 SSID 和密码

WiFi.softAP("ESP32-CAM", "12345678");

Serial.println("ESP32-CAM准备就绪");

Serial.print("IP Address: ");

Serial.println(WiFi.softAPIP());



// 定义根 URL 处理程序

server.on("/", handleRoot);



// 定义额外页面的路由处理程序

server.on("/page", HTTP_GET, handlePage);



// 启动服务器

server.begin();

Serial.println("HTTP server started");

}



主循环函数:

void loop() {

// 处理任何收到的请求

server.handleClient();

}

使用步骤:
上传代码:将代码上传到你的 ESP32-CAM 板上。
连接到热点:使用你的手机或电脑搜索名为“ESP32-CAM”的 Wi-Fi 网络,并使用密码“12345678”进行连接。
访问网页:在浏览器中输入 ESP32-CAM 的 IP 地址(通常是 192.168.4.1),你将看到一个包含 IP 地址的欢迎页面。
这样,你的 ESP32-CAM 就会作为一个 Wi-Fi 热点运行,并且你可以通过浏览器访问它的网页。

驴友花雕 发表于 2024-9-22 19:18:41

【花雕学编程】Arduino动手做(230)--ESP32-CAM 热点服务器

实验串口返回情况


驴友花雕 发表于 2024-9-22 19:21:11

【花雕学编程】Arduino动手做(230)--ESP32-CAM 热点服务器

手机上搜索热点并连接


驴友花雕 发表于 2024-9-22 19:22:26

【花雕学编程】Arduino动手做(230)--ESP32-CAM 热点服务器

在手机端打开浏览器,输入IP地址


页: [1]
查看完整版本: 【花雕学编程】Arduino动手做(230)--ESP32-CAM 热点服务器