ESP_32_CAM使用踩坑总结
最近博主手痒,想用esp32cam来做点小视觉项目,奈何做板子经验太少😭,在搞环境部署的时候磕磕绊绊搞了好几天,心态差点崩了。
先将踩过的坑整理出来(同时也是感觉网上我找到的类似的讲解其实不是很到位:①有很多讲解代码来源没解释,这个博主也找了好久😹②对于型号的解释不够到位③暂时没想起来,先放一边吧)
不听老人言,吃亏在眼前。😭
好吧,之所以会踩到这个坑纯属是我作死🤣在没什么Linux基础以及没什么esp32cam使用经验的时候就想当然地想将环境部署到Linux环境下的VSCode中。纯纯🤡了属于是。简单介绍一下我的踩坑历程:
- 选择Linux系统作为操作系统(其实失败和linux系统还是有一定关系)
- 选择VSCode作为ide
- 在以上两个尝试失败之后,仍然不信邪,在windows系统下企图使用Pycharm作为ide
- 多次碰壁后,终于选择大家最常用的arduino ide作为烧录C语言的ide,选择thonny作为使用micropython的ide,并且均取得成功🥲
烧录器
强烈推荐使用如下图所示的下载器,方便快捷,并且省去了很多烦恼,我上一次使用esp32s的时候就是使用的杜邦线接use-ttl下载器来烧录的,也是踩了很多很多坑😭
接下来简单介绍一下容易踩坑的地方:
坑-Ⅰ:在使用arduinoide烧录与使用thonny时不能使用同一个下图这样的下载器
图一
图二
在使用arduino ide时应该使用图一所示下载器,使用thonny时应该使用图二所示的下载器。二者区别仅为如下图标注位置的两个电阻是否存在(正常买来是图一的样子,如果要用thonny通信,应该将这两个电阻强行拆掉)
Linux下(Ubuntu)
下面先介绍一下在Linux中使用VSCode编辑代码,并且烧录进程序的正确操作(我在最终成功后,仔细回顾踩坑历程时梳理出来的)
在 Linux中磕磕绊绊地下载完成VSCode后,需要下载两个插件:
①micropython的插件
②esp-idf插件
同时在你使用esp-idf插件的过程中,你需要先将ESP-IDF Prerequisites for Linux下载进你的虚拟机中,才能顺利使用esp-idf插件
安装好插件等一切就绪之后,需要识别到板子,接下来我们的任务就是在Ubuntu中找到对应的串口号
后续的流程我还没做到,暂且不谈了就😂
过程中踩到的坑:
坑-Ⅱ:下载存放在github上的esp-idf框架困难
建议参考下述几个网页:
https://www.esp32.com/viewtopic.php?t=24100 https://zhuanlan.zhihu.com/p/345308267 值得一提的是
git config --global http.proxy socks5 127.0.0.1:7890
在配置git下载的配置后,想要重置其config的命令:
sudo ln -s /usr/bin/python3 /usr/bin/python
坑-Ⅲ:寻找串口
- Linux下,查看USB口的命令:
lsusb
- 死活识别不到串口
- 检查是否被占用
- 检查是否被断开
- 思考是否Ubuntu中未含串口驱动
- 检查vscode中的插件是否版本对不上或者启动不了
通过这篇博客的代码,得出了一段以下的神奇报错
即:本来连上的,如何莫名其妙断开了
直接复制报错信息,在stackflow中找到答案:
- ⚠️ 带有内置软件的发行版应该背锅,这个软件会专门通过硬编码来声明 ttyUSB0 并在软件无法识别硬件时断开连接(删掉之后不影响使用)
Why would ch341-uart be disconnected from ttyUSB?
Windows中的Pycharm
因为时间过了好几天了,我在我的日志中也记录的不是很清楚,是以一种意识流的方式来记录踩了的坑,因此这一部分肯定会有较大的缺漏,不够博主写这篇文章的初心只是想记录下我踩坑的流程😂,同时顺便帮助一下和我一样遇到类似问题的同学,毕竟大部分坑都是网上很多前辈遇到过的,我只是以我的视角,在混乱中终于梳理出一个大致的使用流程。
在pycharm中依然是需要我们安装两个插件,但是因为是在Windows主系统中,所以我们在使用git下载时遇到的问题较好解决(因为我的Linux是虚拟机,涉及到比较复杂的网络配置问题。我在配置的时候甚至还重装了一次vmware和系统😭)
坑-Ⅳ:pycharm中下载插件网速极慢问题
- pycharm中网速慢:
- 直接猜测是(使用了魔法后,网络被代理到新的端口),因此在pycharm中应该重新设置网络
- 修改代理,端口号一般为8090(根据自己的代理软件内信息查看)
arduino-ide中的使用
具体使用教程网上已经非常多了,具体流程什么的我也不提了(其实是博主想在回寝之前赶完😋)
直接进入正题
坑-Ⅴ:应该如何上手esp32cam的编程
我的评价是:网上找到的源代码一律忽略
(在arduino中正确安装了esp32的开发板信息之后)直接左上角:文件-示例-ESP32
选择ESP32后,进入Camera
现在你就得到了官方给出的源代码,其中各种引脚定义都能在代码中查看,并且你能通过看代码大致理解整个程序的流程
坑-Ⅵ:配置!!!
注意
接下来是最重要的一步
只要你的板子与我的长得一样:
那么,配置你应该这样选择:
①
刚打开的程序中,将摄像头定义改为AI_THINKER的
②开发板配置
无脑选择如图所示信息
网上给的很多配置都不是这样的,我估计是因为购买源的原因,建议与网上给出的配置一同使用。多换几个配置就知道自己的板子应该如何设置了(只需要注意开发板这里的配置一定要与代码中修改成一样)
在具体踩坑过程中遇到的报错信息我也保存了很多,但是确实因为时间原因(我快来不及回寝了😂),原来预想的洋洋洒洒的大文章就只能写到这里了,根据具体报错从而解决报错的过程我就暂时不写了,不过在解决报错的时间里,我也趁此机会看了看官方给出的资料,确实很详细,只能说遇到莫名其妙问题的时候,github提问区,stackflow,以及官方文档是十足重要的。