首页 > 科技 > ESP32-CAM视频流和Arduino IDE的人脸识别

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


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

注意:在本教程中,我们使用arduino-esp32库中的示例。

所需部件

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

带OV2640的ESP32-CAMUSB转串口模块母对母跳线

介绍ESP32-CAM

该ESP32-CAM是一个非常小的相机模块,除了OV2640相机和几个用于连接外围设备的GPIO外,它还具有microSD卡插槽,可用于存储相机拍摄的图像或存储要提供给客户端的文件。

该ESP32-CAM没有配备USB接口,所以你需要一个USB转串口模块上传代码。

特征

以下是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引脚排列

有三个GND引脚和两个用于供电的引脚:3.3V或5V。

GPIO 1和GPIO 3是串行引脚。您需要这些引脚将代码上传到板上。此外,GPIO 0还起着重要作用,因为它确定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服务器。

1.安装ESP32插件

· 在此示例中,我们使用Arduino IDE对ESP32-CAM板进行编程。因此,您需要安装Arduino IDE以及ESP32附加组件。

2. CameraWebServer示例代码

在您的Arduino IDE中,转到文件 > 示例 > ESP32 > 相机并打开CameraWebServer示例。

应加载以下代码。

在上传代码之前,您需要在以下变量中插入用户名和密码:

const char* ssid = "REPLACE_WITH_YOUR_SSID";

const char* password = "REPLACE_WITH_YOUR_PASSWORD";

然后,确保选择正确的相机模块。在这种情况下,我们使用的是AI-THINKER模型。

因此,请注释所有其他模型,并取消注释该模型:

#define CAMERA_MODEL_AI_THINKER

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

ESP32-CAM上传代码

使用USB转串口模块将ESP32-CAM板连接到计算机。请遵循下一个原理图:

重要提示: GPIO 0需要连接到GND,以便能够上传代码。

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

1. 转到工具 > 主板,然后选择ESP32 Wrover Module

2. 转到工具 > 端口,然后选择ESP32连接到的COM端口

3. 在" 工具" >" 分区方案"中,选择" 巨大的APP(3MB否OTA) "

4. 按下ESP32-CAM板载RESET按钮

5. 然后,点击上传按钮上传代码

重要提示:如果无法上传代码,请仔细检查GPIO 0是否已连接到GND,以及是否在" 工具"菜单中选择了正确的设置。您还应该按板上的Reset(重置)按钮以闪烁模式重启ESP32。

获取IP地址

上载代码后,将GPIO 0与GND断开。

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

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

访问视频流服务器

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

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

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

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

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

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

故障说明

· 无法连接到ESP32:超时等待报文头

· 相机初始化失败,错误0x20001或类似错误

· 掉电检测器或Guru冥想错误

· 程序太大错误–选择了错误的分区方案

· COMX上的板不可用–未选择COM端口

· Psram错误:未安装GPIO isr服务

· Wi-Fi信号弱

· Arduino IDE串行监视器中没有IP地址

· 无法打开网络服务器

· 图像滞后/显示大量延迟

写在最后

ESP32-CAM提供了一种廉价的方法来构建更高级的家庭自动化项目,这些项目具有视频,拍照和人脸识别功能。

在本教程中,我们已经测试了CameraWebServer示例,以测试摄像机的功能。

本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/1578953.html

setTimeout(function () { fetch('http://www.sosokankan.com/stat/article.html?articleId=' + MIP.getData('articleId')) .then(function () { }) }, 3 * 1000)