上星期买了个esp32cam用来做课设,折腾了整整两天,踩坑无数,甚至被搞到自闭,但终于能正常运行esp32cam了。浅浅记录一下折腾途中踩到的所有坑。
一 软件及开发环境下载
1. Arduino下载可以在arduino社区下,或者上官网下也行,我这里就贴住arduino社区的网站了。Arduino IDE下载(2月21日更新到1.8.19)-Arduino中文社区 - Powered by Discuz!
2. esp32开发库下载
我推荐的方法依旧是在arduino社区进行下载
下载之后运行即可。然后在Arduino里打开 工具>开发板 看到这样的画面,那应该就是正常的
二 测试过程中的踩坑一览
1.硬件连线问题
想要将arduino里面的代码烧录进esp32里,必须要有一个类似ch340的usb转串口装置,或者你可以购买esp32cam的专用下载器。(淘宝有些商家卖的板子,不太稳定,可能必须还要专用下载器才可以进行烧录)。
如果使用下载器,直接将引脚插入依次插入即可。
如果是使用ch340,切记:
- 电源线接5v电压,如果接3.3v电压,之后是运行不了的。
- ch340上的TX连接 esp32cam的U0R,ch340上的RX连接esp32cam上的U0T。
- 在烧录代码时,一定要将IO0与GND连接起来;之后运行代码时,一定要将IO0与GND取下
请在连线时,依次检查以上3点是否做到,没一点都很重要。我就是因为一开始接的3.3v电压,之后怎么都运行不了。
2. 烧录过程中的报错
选中你对应的开发板,然后使用示例的代码,正常连接电脑和arduino之后就可以开始上传。
期间可能会报这样的错
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
在connecting时候按按键没反应,上传程序失败。
解决方案:
- 按一下esp32cam板子上的RST按键
- 检查一下IO0和GND有没有相连
- 考虑使用esp32cam自带的下载器
- 检查电源有没有换成5v
如果以上方案都没法解决问题的话,就考虑一下是不是板子的质量问题(本人真的经历过...)
3. 运行过程中的报错
烧录完毕后,再去点击串口监视器,按一下板子上的RST按钮,串口监视器里应当会跳出相应的信息。如果报这样的错
考虑摄像头有没有选择正确,对应到代码上,就是此处的一堆#define有没有注释正确。
如果注释都正确的话,那再考虑一下esp32cam接的是不是5v电压(这很重要!3.3v电压的话是运行不了的)
以上都正确的话,那么串口监视器那边应该会弹出一个ip地址。在浏览器那边输入这个ip地址就可以查看esp32cam的图像了。