解决ESP32-CAM人脸识别时出现错误E (493):无核心转储分区问题的Arduino IDE解决方案
在我将代码上传到 esp32 cam 时,在串行监视器上老是显示错误:E (493) esp_core_dump_flash: No core dump partition found! 。翻译成中文是:没有找到核心转储分区。
先介绍我的操作步骤,再介绍解决办法。
我按照指导手册完成了以下步骤,试图在本地网络上访问的ESP32-CAM构建视频流式Web服务器。
步骤一.Arduino安装ESP32插件
在本例中,我使用Arduino IDE对ESP32-CAM板进行编程。因此,需要安装Arduino IDE以及ESP32插件。
步骤二. 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上传代码
使用FTDI编程器将ESP32-CAM板连接到计算机。按照下一个原理图:
重要提示: GPIO 0需要连接到GND,以便您能够上传代码。
要上传代码,请执行以下步骤:
- 转到工具 > 板,然后选择AI Thinker ESP32-CAM
- 转到工具 > 端口,然后选择ESP32连接的COM端口
- 在工具 > 分区方案中,选择“ 巨大的APP(3MB无OTA) ”
- 按下ESP32-CAM板载RESET按钮
- 然后,单击上传按钮以上载代码
重要提示:如果无法上传代码,请仔细检查GPIO 0是否已连接到GND,并在“ 工具”菜单中选择了正确的设置。您还应该按下板载重置按钮以在闪烁模式下重新启动ESP32。
步骤六.获取IP地址
上传代码后,断开GPIO 0与GND的连接。
以波特率115200打开串行监视器。按ESP32-CAM板载复位按钮。
ESP32 IP地址应打印在串行监视器中。
步骤七.访问视频流服务器
现在,您可以在本地网络上访问您的相机流媒体服务器。打开浏览器并键入ESP32-CAM IP地址。按Start Streaming按钮开始视频流。
您还可以通过单击“ 获取静止”按钮来拍摄照片。不过,此示例不能保存照片,但您可以修改它以使用板载microSD卡存储拍摄的照片。
您还可以使用多种相机设置来调整图像设置。
最后,您可以进行人脸识别和检测。
首先,您需要注册一张新面孔。它将多次尝试识别面部。在注册新用户之后,它应该稍后检测到面部(主题0)。
可以使用图库中的示例启动并运行带有面部检测和识别功能的视频流式Web服务器。
ESP32-CAM提供了一种廉价的方式来构建更先进的家庭自动化项目,包括视频,拍照和人脸识别。
以上是正常情况下的操作步骤,但是在我的操作过程中,步骤六并没有出现预期的效果,没有显示ip地址,而是出现了错误:E (493) esp_core_dump_flash: No core dump partition found! 。
网上找了很多原因,有说把修改 Flash Mode为DIO的,也有说把 从 esp32 Wrover 模块将开发板更改为 Ai thinker的,都没有解决。
然后我怀疑是不是没有插入SD卡的原因,于是插上SD卡,还是没有解决。
后面自己怀疑是不是对ssid理解有误,这里应该是填ESP32板需要连接的wifi名称和密码,而不是让ESP32创建的热点名称和密码,此前我理解为设置要创建的热点的名称和密码了。
于是,我把它修改为我家WIFI的名称和密码后,成功解决问题!
修改后,重新上传代码,ip地址如期出现:
作者:没有码甲