ESP32-WROVER-DEV、ESP32-CAM开发环境搭建笔记
这两款板子在接摄像头时必须用5V供电,3.3V供电不够,画面会有明显的画质问题。我的ESP32-CAM如果使用底板供电会有电流声,直接接开发板的引脚供电则没有。
ESP32-CAM引脚定义如下:
ESP32-WROVER-DEV这块板子的引脚定义没找到,找到了另一个型号的,可参考一二。
arduino
安装arduino
略
可参考我的另一篇笔记esp8266 node mcu上手
添加其他开发板管理器地址
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
https://arduino.me/packages/esp32.json
添加后左下角会显示一个进度。
跑完进度后就可以安装开发板了。如果安装不了,可考虑离线安装。
验证
选择开发板,及根据自己的情况选择端口。
补充:这里选择“ESP32 Wrover Module”也是可以的,后面也没有遇到报错。
打开示例文件
选择摄像头模式和修改wifi的账号密码。
如果用的是ESP32-WROVER-DEV这款开发板,应取消第16行的注释,其他的注释掉。
然后就可以编译上传了,然后打开串口调试助手,复制出网址,并用浏览器打开
看看网页左下角是不是有一个“Start Stream”按钮,点击它你就可以看到摄像头拍摄到的画面了,我这里已经点击了,所以是“Stop Stream”。
报错解决
错误:
Global variables use 60232 bytes (18%) of dynamic memory, leaving 267448 bytes for local variables. Maximum is 327680 bytes.
解决:
vscode + platformio
安装vscode
安装vscode插件
几个esp32 cam 开源库
下面测试了几个不同开源库的fps,fps与很多因素有关,测试可能很不严谨。
-
https://github.com/geeksville/Micro-RTSP
看star好像是个不错的项目,但是我没跑起来。 -
https://github.com/rzeldent/esp32cam-rtsp
看star好像是个不错的项目,功能好像也还可以。仅支持一个客户端连接。下面测试都是mjpeg流测试测,rtsp视频流没播放成功,但我在测试之前有播放成功的。下面的帧率看起来好强,他们是在AP工作模式下的结果,不同的工作模式结果可能大不一样。
640 * 480 25fps
800 * 600 20fps上下
1024 * 768 12.667fps
1280 * 720 12.667fps
1280 * 1024 8.5fps -
https://github.com/arkhipenko/esp32-cam-mjpeg-multiclient
看star好像比前两个差一些。以下是一个客户端连接的情况。
640 * 480 15~20fps,基本18fps上下。
800 * 600 8~12fps -
CameraWebServer
480 * 320 12.667fps
640 * 480 12.667fps
800 * 600 12.667fps
1024 * 768 6.333fps
清除esp32里的所有数据
有时候esp32里会残留些数据,不清掉可能会有些问题,这时就需要考虑将数据全部清干净
pip install esptool
# 下面这个是串口工具
pip install pyserial
# 清除指定端口的esp32
esptool.exe --port /COM8 erase_flash
他会打印一堆日志就像下面这样
esptool.exe --port /COM8 erase_flash
esptool.py v4.7.0
Serial port /COM8
Connecting...
Device PID identification is only supported on COM and /dev/ serial ports.
......
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Device PID identification is only supported on COM and /dev/ serial ports.
......
Detecting chip type... ESP32
Chip is ESP32-D0WD-V3 (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 88:13:bf:6c:61:7c
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 3.1s
Hard resetting via RTS pin...