本文是ESP32-CAM开发板的快速入门指南。我们将向您展示如何使用Arduino IDE在不到5分钟的时间内设置具有面部识别和检测功能的视频流Web服务器。
注意:在本教程中,我们使用arduino-esp32库中的示例。
所需部件
要遵循本教程,您需要以下组件:
介绍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示例,以测试摄像机的功能。
閱讀更多 工控電子愛好者 的文章