本文是ESP32-CAM开发板的快速入门指南。我们将向您展示如何使用Arduino IDE在不到5分钟的时间内设置具有面部识别和检测功能的视频流式Web服务器。
注意:在本教程中,我们使用arduino-esp32库中的示例。本教程没有介绍如何修改示例。
目录
所需零件
要遵循本教程,您需要以下组件:
- 带OV2640的ESP32-CAM
- FTDI编程器
- 母对母连接线
介绍ESP32-CAM
该ESP32-CAM是一个非常小的相机模块与ESP32-S芯片成本大约30块钱,某宝可以买到。除了OV2640相机和几个用于连接外围设备的GPIO外,它还具有microSD卡插槽,可用于存储相机拍摄的图像或存储要提供给客户端的文件。
该ESP32-CAM没有配备USB接口,所以你需要一个FTDI编程器通过上传代码U0R 和 U0T 销(串行销)。
特征
以下是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模块)。
有三种 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附加组件,请按照以下教程之一进行操作:
如果还没有安装,请访问教程:
2. CameraWebServer示例代码
现在,代码已准备好上传到您的ESP32。
3. ESP32-CAM上传代码
使用FTDI编程器将ESP32-CAM开发板连接到您的计算机。请遵循下一个原理图:
许多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)然后,点击上传按钮上传代码。
4)当您开始在调试窗口中看到这些点时,如下所示,请按ESP32-CAM板载RST按钮。
几秒钟后,该代码应成功上传到您的电路板上。
获取IP地址
上传代码后,断开连接 GPIO 0 从 GND。
以115200的波特率打开串行监视器。按ESP32-CAM板上复位按钮。
ESP32 IP地址应在串行监视器中打印。
访问视频流服务器
现在,您可以访问本地网络上的相机流服务器。打开浏览器,输入ESP32-CAM IP地址。按下开始流媒体按钮以开始视频流媒体:
以下截图是本人亲自验证过的,可以在左侧菜单里设置分辨率,分辨率越低,画面越流畅:
还是放老外的吧清晰一点:
您还可以通过单击“获取静止图像”按钮选择拍照。不幸的是,此示例未保存照片,但是您可以对其进行修改以使用板载microSD卡存储捕获的照片。
您还可以使用几种相机设置来调整图像设置。
最后,您可以进行面部识别和检测。
首先,您需要注册一张新面孔。它将进行几次尝试来挽救脸孔。在注册新用户之后,它应该稍后再检测到面部(主题0)。
就是这样。现在,您可以通过库中的示例启动并运行视频流Web服务器,并进行人脸检测和识别。
[…] ESP32-CAM视频流和Arduino IDE的人脸识别 […]
[…] ESP32-CAM视频流和Arduino IDE的人脸识别 […]
[…] ESP32-CAM视频流和Arduino IDE的人脸识别 […]
[…] ESP32-CAM视频流和Arduino IDE的人脸识别 […]
[…] ESP32-CAM视频流和Arduino IDE的人脸识别 […]
。。。
所以怎么进行人脸识别呢
。。。??