205浏览
查看: 205|回复: 4

[项目] 【花雕学编程】Arduino动手做(230)---ESP32-CAM 热点摄像头

[复制链接]
【花雕学编程】Arduino动手做(230)---ESP32-CAM 热点摄像头图1

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 帧/秒


【花雕学编程】Arduino动手做(230)---ESP32-CAM 热点摄像头图2

驴友花雕  中级技神
 楼主|

发表于 2024-9-23 04:55:25

【花雕学编程】Arduino动手做(230)---ESP32-CAM 热点摄像头

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
  项目实验之二十四:建立ESP32-CAM热点192.168.4.1 并初始化摄像头

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
  4.   项目实验之二十四:建立ESP32-CAM热点192.168.4.1 并初始化摄像头
  5. */
  6. #include <WiFi.h>
  7. #include <WebServer.h>
  8. #include "esp_camera.h"
  9. // 创建 WebServer 对象,监听 80 端口
  10. WebServer server(80);
  11. // 处理根 URL 请求的函数
  12. void handleRoot() {
  13.   camera_fb_t * fb = NULL;
  14.   fb = esp_camera_fb_get();
  15.   if (!fb) {
  16.     Serial.println("Camera capture failed");
  17.     server.send(500, "text/plain", "Camera capture failed");
  18.     return;
  19.   }
  20.   // 使用三个参数的 send 函数
  21.   server.send(200, "image/jpeg", (const char *)fb->buf);
  22.   esp_camera_fb_return(fb);
  23. }
  24. // 摄像头引脚配置
  25. camera_config_t config = {
  26.     .pin_pwdn  = 32,  // 电源引脚
  27.     .pin_reset = -1,  // 复位引脚(未使用)
  28.     .pin_xclk = 0,  // XCLK引脚
  29.     .pin_sscb_sda = 26,  // SCCB SDA引脚
  30.     .pin_sscb_scl = 27,  // SCCB SCL引脚
  31.     .pin_d7 = 35,  // 数据引脚D7
  32.     .pin_d6 = 34,  // 数据引脚D6
  33.     .pin_d5 = 39,  // 数据引脚D5
  34.     .pin_d4 = 36,  // 数据引脚D4
  35.     .pin_d3 = 21,  // 数据引脚D3
  36.     .pin_d2 = 19,  // 数据引脚D2
  37.     .pin_d1 = 18,  // 数据引脚D1
  38.     .pin_d0 = 5,   // 数据引脚D0
  39.     .pin_vsync = 25,  // VSYNC引脚
  40.     .pin_href = 23,  // HREF引脚
  41.     .pin_pclk = 22,  // PCLK引脚
  42.     .xclk_freq_hz = 20000000,  // XCLK频率(20MHz)
  43.     .ledc_timer = LEDC_TIMER_0,  // LEDC定时器
  44.     .ledc_channel = LEDC_CHANNEL_0,  // LEDC通道
  45.     .pixel_format = PIXFORMAT_JPEG,  // 像素格式为JPEG
  46.     .frame_size = FRAMESIZE_UXGA,  // 帧大小为UXGA
  47.     .jpeg_quality = 12,  // JPEG质量
  48.     .fb_count = 1  // 帧缓冲区数量
  49. };
  50. void setup() {
  51.   Serial.begin(115200);  // 初始化串口通信,波特率为115200
  52.   Serial.println(" ");
  53.   Serial.println("ESP32-CAM准备就绪!");
  54.   // 设置 PWDN 引脚
  55.   pinMode(config.pin_pwdn, OUTPUT);
  56.   digitalWrite(config.pin_pwdn, LOW);
  57.   delay(100);
  58.   digitalWrite(config.pin_pwdn, HIGH);
  59.   delay(100);
  60.   // 设置 Wi-Fi 模式为接入点
  61.   WiFi.mode(WIFI_AP);
  62.   // 配置 Wi-Fi 接入点的 SSID 和密码
  63.   WiFi.softAP("ESP32-CAM", "12345678");
  64.   Serial.println(" ");
  65.   Serial.println("ESP32-CAM 热点设置完成! ");
  66.   Serial.print("IP 地址:");
  67.   Serial.println(WiFi.softAPIP());
  68.   Serial.println(" ");
  69.   // 初始化摄像头
  70.   esp_err_t err = esp_camera_init(&config);
  71.   if (err != ESP_OK) {
  72.     Serial.printf("摄像头初始化失败,出现错误 0x%x", err);  // 输出初始化失败的错误信息
  73.   } else {
  74.     // 摄像头初始化成功
  75.     Serial.println("摄像头初始化成功!");
  76.     Serial.println("ESP32-CAM 热点可以登录(暂无内容) ");
  77.   }
  78.   // 定义根 URL 处理程序
  79.   server.on("/", handleRoot);
  80.   // 启动服务器
  81.   server.begin();
  82. }
  83. void loop() {
  84.   // 处理任何收到的请求
  85.   server.handleClient();
  86. }
复制代码



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-23 04:58:04

【花雕学编程】Arduino动手做(230)---ESP32-CAM 热点摄像头

实验串口返回情况

【花雕学编程】Arduino动手做(230)---ESP32-CAM 热点摄像头图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-23 04:59:30

【花雕学编程】Arduino动手做(230)---ESP32-CAM 热点摄像头

手机上搜索热点并连接

【花雕学编程】Arduino动手做(230)---ESP32-CAM 热点摄像头图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-23 05:01:41

【花雕学编程】Arduino动手做(230)---ESP32-CAM 热点摄像头

在手机端打开浏览器,输入IP地址(这里暂无内容)

【花雕学编程】Arduino动手做(230)---ESP32-CAM 热点摄像头图1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail