本文纯属实验,验证测试esp32 摄像头性能,最后给出一个参考建议。esp32 发布已经很久了,但一直没有火起来的感觉。随着边缘计算、AI语音的风,不知道esp32能不能彻底火起来,esp32音频方案倒是挺靠谱的,目前支持比较良好,已支持亚马逊、DuerOS、Google等平台。
1. 硬件接线
如下图,github上说接线尽可能短不然噪音会很大,于是我把杜邦线给剪了又连上。
2. ov7255实测效果
下图是ov7255实际拍到的灰度图,更改成RGB图之后程序没有正常跑起来(后面会分析原因)。
3. ov2640实测效果(esp32+PSRAM)
在某宝上购买了成套M5Stack套件,这是拓展了RAM之后的版本,网上的朋友建议购买该版本,esp32自带的sram本身就比较稀缺,实测效果如下:
4. 分析不能正常运行的原因
猜测:Demo中是什么原因导致esp32+ov7725不能获取RGB图片?
- 硬件接线不对?
- RGB比灰度占资源,内存不够?
- Demo代码有问题?还是我配置的时候IO口配错了?
通过对比ov2640和代码跟踪,发现使alloc申请分配内存失败,申请内存时返回(0x20001),我们还可以对比正常灰度照片的代码分析LOG。
5. 结论
esp32 不适合摄像头应用,贴散热片了芯片发热很严重,MCU要处理图像又要处理协议栈虽然是双核,但没感受到它的优势。wifi功耗很大,实际效果也并不是很好,缺画模糊都很严重。
综上,两点导致了esp32 不适合摄像头应用的原因:
- 芯片发热很严重
- 实际性能不满足产品需求