Arduino-IDE配置ESP32-CAM开发环境踩过的那些坑

Arduino-IDE配置ESP32开发环境踩过的那些坑

坑一IDE下载开发版速度慢:

在首选项里添加了附加开发版网址:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
https://dl.espressif.com/dl/package_esp32_index.json

之后在工具的开发版管理下载ESP32相关开发版,速度极慢,解决方案:

  1. 开梯子
  2. 手动下载安装 (Window参考这里)
    我上传了已下载好的软件包 可以在这里下载 传送门

坑二get速度慢:

linux&MacOS适用:
在安装包里的tools里运行get.py下载相关开发工具速度极慢,解决方案

  1. 手机开热点试试
  2. 在早上等网络畅通的时候下载,秒完,亲测

坑三编译出错:

等一切下载安装完毕后,运行示例CameraWebServer后编译出错,解决方案
再装一遍ESP32

坑N上传出错:

网上大多数的配置ESP32的开发版的参数是这样的,但是并不适用所有的,比如我的这样设置就无法上传程序。
在这里插入图片描述

坑一:

出现以下错误:

项目使用了 2612056 字节,占用了 (83%) 程序存储空间。最大为 3145728 字节。
全局变量使用了54068字节,(16%)的动态内存,余留273612字节局部变量。最大为327680字节。
esptool.py v2.6
Serial port /dev/cu.usbserial-14310
Connecting........_____....._____....._____....._____....._____....._____.....____上传项目出错
_

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

是因为IO_0没有接GND,因为IO_0GND是串口烧录模式。

坑二:

出现以下错误:

Arduino:1.8.12 (Mac OS X), 开发板:"ESP32 Wrover Module, Huge APP (3MB No OTA/1MB SPIFFS), QIO, 80MHz, 921600, None"

项目使用了 2612056 字节,占用了 (83%) 程序存储空间。最大为 3145728 字节。
全局变量使用了54068字节,(16%)的动态内存,余留273612字节局部变量。最大为327680字节。
esptool.py v2.6
Serial port /dev/cu.usbserial-14310
Connecting.....
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 8c:aa:b5:86:72:0c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...

A fatal error occurred: Timed out waiting for packet content
A fatal error occurred: Timed out waiting for packet content

是由于ESP32的开发版下载速度太大出的问题,把下载速度设为460800波特率或者更低试试。

坑三:

波特率设置好后,程序下载成功了,出现一下信息,说明程序下载成功:

riting at 0x00204000... (99 %)
Writing at 0x00208000... (100 %)
Wrote 2612176 bytes (2068304 compressed) at 0x00010000 in 52.2 seconds (effective 400.6 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 119...

Writing at 0x00008000... (100 %)
Wrote 3072 bytes (119 compressed) at 0x00008000 in 0.0 seconds (effective 2865.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

断开IO_0GND并且rst一下ESP32,但是ESP32一直重启,串口一直打印以下信息:

ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10864
load:0x40080400,len:6432
entry 0x400806b8
ets Jun  8 2016 00:22:57


rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10864
load:0x40080400,len:6432
entry 0x400806b8
ets Jun  8 2016 00:22:57

rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10864
load:0x40080400,len:6432
entry 0x400806b8
ets Jun  8 2016 00:22:57

rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10864
load:0x40080400,len:6432
entry 0x400806b8
ets Jun  8 2016 00:22:57

......

这是因为ESP32的芯片频率设置错误,需要把频率改为40MHz。

最后全部设置好应该是这样的:
在这里插入图片描述

最终实现效果

一切问题都解决后,串口会打印出以下信息:

ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10864
load:0x40080400,len:6404
entry 0x400806b8

..
WiFi connected
Starting web server on port: '80'
Starting stream server on port: '81'
Camera Ready! Use 'http://192.168.0.14' to connect

用浏览器打开http://192.168.0.14网址就可以看到ESP32-CAM的画面里。
在这里插入图片描述

使用Arduino IDE进行ESP32-CAM视频流和人脸识别的步骤如下: 1. 首先,确保已将ESP32-CAM模块正确连接到Arduino开发板,并将其与计算机连接。 2. 打开Arduino IDE软件,并通过“工具”菜单选择正确的开发板类型和串行端口。 3. 点击“文件”菜单,选择“示例”,然后找到ESP32-CAM的库文件示例。在这里,我们需要找到“CameraWebServer”和“CameraWebServer”示例。 4. 首先,加载“CameraWebServer”示例。此示例可以帮助我们开始使用ESP32-CAM模块进行视频流传输。点击“上传”按钮将代码上传到ESP32-CAM模块上。 5. 当代码成功上传后,打开串口监视器,你将看到ESP32-CAM模块的IP地址。将此地址复制并在电脑上的网络浏览器中打开。 6. 然后,我们需要进行人脸识别的设置。加载“CameraWebServer”示例后,找到代码中的部分,其中涉及人脸识别。这里可以更改和配置人脸识别的相关参数。 7. 在代码中,找到人脸识别的部分,并根据你的需求进行设置。你可以使用一些开源的人脸识别库,如OpenCV,来实现人脸识别功能。 8. 更改完代码后,点击“上传”按钮将代码上传到ESP32-CAM模块上。 9.再次打开串口监视器,你将看到人脸识别的结果。通过网络浏览器打开ESP32-CAM模块的IP地址,你将能看到实时视频流,并应用人脸识别功能。 以上就是使用Arduino IDE进行ESP32-CAM视频流和人脸识别的简要步骤。具体的代码和配置可能因个人需求而有所不同,但这些步骤将帮助你开始使用ESP32-CAM模块进行视频流传输和人脸识别。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iNBC

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值