ESP32-CAM视频流和Arduino IDE的人脸识别

释放双眼,带上耳机,听听看~!

​本文是ESP32-CAM开发板的快速入门指南。我们将向您展示如何使用Arduino IDE在不到5分钟的时间内设置具有面部识别和检测功能的视频流式Web服务器。

ESP32-CAM-getting-started

注意:在本教程中,我们使用arduino-esp32库中的示例。本教程没有介绍如何修改示例。

 

所需零件

要遵循本教程,您需要以下组件:

  • 带OV2640的ESP32-CAM
  • FTDI编程器
  • 母对母连接线

介绍ESP32-CAM

ESP32-CAM-camera

该ESP32-CAM是一个非常小的相机模块与ESP32-S芯片成本大约30块钱,某宝可以买到。除了OV2640相机和几个用于连接外围设备的GPIO外,它还具有microSD卡插槽,可用于存储相机拍摄的图像或存储要提供给客户端的文件。

esp32-can-labeled
图片来源– Seeed Studio

该ESP32-CAM没有配备USB接口,所以你需要一个FTDI编程器通过上传代码U0R 和 U0T 销(串行销)。

FTDI-programmer-ESP32-CAM

特征

以下是ESP32-CAM功能的清单:

  • 最小的802.11b / g / n Wi-Fi BT SoC模块
  • 低功耗32位CPU,也可以为应用处理器服务
  • 时钟频率高达160MHz,汇总计算能力高达600 DMIPS
  • 内置520 KB SRAM,外部4MPSRAM
  • 支持UART / SPI / I2C / PWM / ADC / DAC
  • 支持OV2640和OV7670相机,内置闪光灯
  • 支持图片WiFI上传
  • 支持TF卡
  • 支持多种睡眠模式
  • 嵌入式Lwip和FreeRTOS
  • 支持STA / AP / STA + AP操作模式
  • 支持Smart Config / AirKiss技术
  • 支持串行端口本地和远程固件升级(FOTA)
 

ESP32-CAM引脚图

下图显示了ESP32-CAM引脚排列(AI-Thinker模块)。

ESP32-CAM-pinout-1
图片来源– Seeed Studio

有三种 GND 引脚和两个电源引脚: 3.3伏 或者 5伏。

GPIO 1 和 GPIO 3是串行引脚。您需要这些引脚才能将代码上传到板上。此外,GPIO 0由于ESP32决定ESP32是否处于闪烁模式,它也起着重要的作用。什么时候GPIO 0 连接到 GND,ESP32处于闪烁模式。

以下引脚内部连接到microSD卡读取器:

  • GPIO 14:CLK
  • GPIO 15:CMD
  • GPIO 2:数据0
  • GPIO 4:数据1(也连接到板载LED)
  • GPIO 12:数据2
  • GPIO 13:数据3

视频流服务器

请遵循以下步骤,使用可在本地网络上访问的ESP32-CAM来构建视频流式Web服务器。

重要说明:请确保您已更新Arduino IDE以及最新版本的ESP32环境插件。

 

1.安装ESP32环境

在此示例中,我们使用Arduino IDE对ESP32-CAM板进行编程。因此,您需要安装Arduino IDE以及ESP32附加组件。如果尚未安装ESP32附加组件,请按照以下教程之一进行操作:

如果还没有安装,请访问教程:

一、ESP32开发环境搭建(arduino)

2. CameraWebServer示例代码

 

现在,代码已准备好上传到您的ESP32。

3. ESP32-CAM上传代码

使用FTDI编程器将ESP32-CAM开发板连接到您的计算机。请遵循下一个原理图:

ESP32-CAM-FTDI-programmer-5V-supply

许多FTDI编程器都有一个连接线,可让您选择3.3V或5V。确保连接线在正确的位置以选择5V。

重要的: GPIO 0 需要连接到 GND 这样您就可以上传代码。

ESP32-CAM FTDI编程器
GND GND
5伏 VCC(5V)
U0R TX
U0T 接收
GPIO 0 GND
 

要上传代码,请按照以下步骤操作:

1)转到工具>主板,然后选择AI-Thinker ESP32-CAM。

2)进入工具>端口,选择ESP32连接的COM端口。

3)然后,点击上传按钮上传代码。

upload-button-arduino-ide

4)当您开始在调试窗口中看到这些点时,如下所示,请按ESP32-CAM板载RST按钮。

dots-uploading-code

几秒钟后,该代码应成功上传到您的电路板上。

获取IP地址

上传代码后,断开连接 GPIO 0 从 GND。

以115200的波特率打开串行监视器。按ESP32-CAM板上复位按钮。

ESP32 IP地址应在串行监视器中打印。

esp32-cam-ip-address

访问视频流服务器

现在,您可以访问本地网络上的相机流服务器。打开浏览器,输入ESP32-CAM IP地址。按下开始流媒体按钮以开始视频流媒体:

以下截图是本人亲自验证过的,可以在左侧菜单里设置分辨率,分辨率越低,画面越流畅:

还是放老外的吧清晰一点:

 
ESP32-CAM-video-streaming-example

您还可以通过单击“获取静止图像”按钮选择拍照。不幸的是,此示例未保存照片,但是您可以对其进行修改以使用板载microSD卡存储捕获的照片。

您还可以使用几种相机设置来调整图像设置。

最后,您可以进行面部识别和检测。

ESP32-cam-intruder-alert
 

首先,您需要注册一张新面孔。它将进行几次尝试来挽救脸孔。在注册新用户之后,它应该稍后再检测到面部(主题0)。

esp32-cam-face-recognition-detection

就是这样。现在,您可以通过库中的示例启动并运行视频流Web服务器,并进行人脸检测和识别。

给TA买糖
共{{data.count}}人
人已赞赏
Arduino-进阶免费项目

使用磁簧开关和Arduino监控门

2021-5-22 21:00:00

ESP32-CAM

ESP32-CAM AI-Thinker引脚指南:GPIO使用说明

2021-5-23 21:56:49

6 条回复 A文章作者 M管理员
  1. […] ESP32-CAM视频流和Arduino IDE的人脸识别 […]

  2. […] ESP32-CAM视频流和Arduino IDE的人脸识别 […]

  3. […] ESP32-CAM视频流和Arduino IDE的人脸识别 […]

  4. […] ESP32-CAM视频流和Arduino IDE的人脸识别 […]

  5. […] ESP32-CAM视频流和Arduino IDE的人脸识别 […]

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索