问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

ESP32-CAM:制作您的第一台DIY远程网络安防摄像机

创作时间:
作者:
@小白创作中心

ESP32-CAM:制作您的第一台DIY远程网络安防摄像机

引用
1
来源
1.
https://makelog.dfrobot.com.cn/article-314918.html

ESP32-CAM是一款集成了ESP32-WROOM-32D和OV2640摄像头的模块,支持Wi-Fi和蓝牙功能,可以轻松实现远程网络摄像机的制作。本文将详细介绍如何使用ESP32-CAM模块制作一台DIY远程网络安防摄像机,包括硬件连接、软件配置和代码编程等内容。

硬件规格

  • 处理器:ESP32-S 芯片
  • 无线通信:支持 Wi-Fi(802.11b/g/n)和蓝牙(4.2 带 BLE)
  • 摄像头:OV2640 摄像头模块
  • 分辨率:200万像素
  • 阵列尺寸:UXGA(1600 x 1200)
  • 镜头尺寸:1/4 英寸(6.35 毫米)
  • 最大帧率:15 帧/秒
  • 接口
  • 9个IO端口
  • 支持UART、SPI、I2C和PWM
  • 内置micro SD读卡器
  • 电源:支持3.3V/5V供电(推荐使用5V供电以获得更稳定的性能)
  • 其他特性:内置LED闪光灯

实验所需材料

  • ESP32-CAM开发板
  • USB数据线
  • 电脑
  • Arduino IDE
  • WifiCam库
  • 3D打印外壳(可选)

软件配置

  1. 下载WifiCam库

访问以下链接下载WifiCam库:

https://github.com/yoursunny/esp32cam?tab=readme-ov-file

  1. 安装库文件

将下载的库文件解压后,通过Arduino IDE的库管理功能进行安装。

代码示例

以下是一个完整的Arduino代码示例,用于实现远程网络摄像机的功能:

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
  项目实验之十五:ESP32-CAM:制作您的第一台 DIY 远程网络安防摄像机
*/
// 引入WifiCam库
#include "WifiCam.hpp"
// 引入WiFi库
#include <WiFi.h>
// 定义WiFi的SSID和密码
static const char* WIFI_SSID = "zhz3";
static const char* WIFI_PASS = "z156721";
// 定义初始分辨率
esp32cam::Resolution initialResolution;
// 创建Web服务器,端口号为80
WebServer server(80);
void setup() {
  // 初始化串口通信,波特率为115200
  Serial.begin(115200);
  Serial.println();
  delay(1000);
  // 设置WiFi模式为STA(Station)
  WiFi.persistent(false);
  WiFi.mode(WIFI_STA);
  // 连接到WiFi网络
  WiFi.begin(WIFI_SSID, WIFI_PASS);
  // 等待WiFi连接结果
  if (WiFi.waitForConnectResult() != WL_CONNECTED) {
    Serial.printf("WiFi连接失败 %d\n", WiFi.status());
    delay(5000);
    ESP.restart();
  }
  Serial.println("WiFi连接成功");
  delay(1000);
  {
    using namespace esp32cam;
    // 设置初始分辨率为1024x768
    initialResolution = Resolution::find(1024, 768);
    // 配置摄像头参数
    Config cfg;
    cfg.setPins(pins::AiThinker);  // 设置引脚
    cfg.setResolution(initialResolution);  // 设置分辨率
    cfg.setJpeg(80);  // 设置JPEG质量
    // 初始化摄像头
    bool ok = Camera.begin(cfg);
    if (!ok) {
      Serial.println("摄像头初始化失败");
      delay(5000);
      ESP.restart();
    }
    Serial.println("摄像头初始化成功");
  }
  // 输出摄像头启动信息和设备IP地址
  Serial.println("摄像头启动中");
  Serial.print("http://");
  Serial.println(WiFi.localIP());
  // 添加请求处理程序
  addRequestHandlers();
  // 启动Web服务器
  server.begin();
}
void loop() {
  // 处理客户端请求
  server.handleClient();
}  

实验步骤

  1. 将ESP32-CAM开发板通过USB数据线连接到电脑。
  2. 打开Arduino IDE,选择正确的开发板和端口。
  3. 将上述代码复制到Arduino IDE中,并根据实际情况修改WiFi的SSID和密码。
  4. 编译并上传代码到ESP32-CAM开发板。
  5. 打开串口监视器,查看输出的设备IP地址。
  6. 在浏览器中输入设备IP地址,即可访问远程网络摄像机的Web界面。

实验资源

通过以上步骤,您就可以成功制作一台基于ESP32-CAM的远程网络安防摄像机。这个项目不仅能够帮助您学习ESP32和摄像头模块的使用,还能为家庭安防提供一个实用的解决方案。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号