(esp-idf)如何从零入手esp-cam以及踩坑记录

本文介绍了如何在Ubuntu18.04系统中使用esp-idf框架来编程安信可ESP32-CAM模块。首先提到了硬件连接,然后详细阐述了通过命令行而非VSCode插件进行esp-idf环境配置和项目代码下载。接着,修改camera-web-server的CMakeLists.txt文件以引入esp32-web-camera的esp-camera库。之后,文章指导读者进行WiFi配置和烧录过程,最后成功启动相机服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬件:安信可 ESP32-CAM
虚拟机:Ubuntu 18.04.6 (64位)

如有bug可查看:ESP32-CAM 故障排除指南:修复的最常见问题 (ndfweb.cn)

废话不多说,此时你已经拿到了一块安信可的esp-cam,它长这样:

 两排插孔对插即可

对于这块板子我们有arduino,micropython或者esp-idf编程烧录的方式,在本文中我选择用esp-idf进行编程。

esp-idf的环境配置参考 ​‌​⁢​‌⁡⁣‬​​⁢​⁢⁤⁢​⁢⁤⁤‬⁣‍​‌⁢⁡‬⁤⁡​​⁣⁡​‌⁤‍‍⁡‍‬⁤​DesktopScreen 1 环境搭建 - 飞书云文档 (feishu.cn)

 这是b站上小智学长的桌面小屏幕项目,我觉得搭建的很详细。

当然,很多人可能用的是vscode中的esp插件,图标是这样的我个人不太建议,因为这玩意儿我感觉就像stm32cubemx一样,看起来好用,都配置好了,但是方便的同时也带来了很多限制,所以我还是喜欢用terminal使用命令行进行烧录。

好了我们言归正传,我参考的是这篇文章:(205条消息) VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_在vscode环境上用esp32-cam拍照-CSDN博客1、下载源代码:

cd ~/esp-idf
cd cd examples
git clone https://gitee.com/kerwincui/esp32-web-camera.git

        下载完毕后你可以看到:

         接着按照常规使用get_idf,也就是启动esp-idf的export.sh,具体查看这条博文的第五点:(205条消息) 搭建ESP32-CAM环境esp-idf时遇到的坑(含已配好的环境)_iafcn的博客-CSDN博客

2.此时我们已经启动idf.py,接着我们打开camera-web-server,(注意区分其与esp32-web-camera,并且注意是main外面的CMake!!不是main文件夹里面的!!)

        注释掉第五行并添加第七行的内容,这个是因为我们的camera-web-server与esp32-web-camera是两个文件,我们需要引用esp32-web-camera文件中的esp-camera,其中这个路径要不一定是我的这个路径,因为你当时git clone不一定是按照完整的这个步骤走的。

        这行添加的代码意思是在下方,anyway,$ENV{IDF_PATH}这个路径就是你esp-idf的路径。我并没有尝试将这个$ENV{IDF_PATH}删除然后set在esp-idf文件夹外的同样的这个文件(有点绕口),大家如果尝试结果可以的话希望能在下方留言。

         到这里为止我们对文件的操作已经ok了,接下来就是配置与烧录。

3.配置与烧录:
        我们先进入所示文件夹

         接着输入

idf.py menuconfig

         进入菜单,类似于stm32cubemx

 设置wifi以及热点,其中第二行和第三行是你实验室wifi的账号与密码(sta),第四行和第五行是你的cam作为热点的账号与密码

切记要更改

 

否则会出现 !!!

输入完毕后按键盘左上角ESC退出,推出到主界面的时候记得y确定修改。

终于!到最后一步,烧录!

        首先咱们插上USB,记得在虚拟机界面中将设备连接上虚拟机,

 

 接着用

ls /dev/tty*

 查看你挂载的名称是什么,我的是ttyUSB0

 接着用进行烧录

idf.py -p /dev/ttyUSB0 flash monitor

烧录ing~~~~~~

 芜湖!成功!

最后,连接 ,并在新标签页进入网址:

ESP32 OV2460​​​​​​

 点击左下角 start stream

 完结撒花!

### ESP32-CAM 使用 IDF 进行开发的相关资源 对于希望基于 IoT Development Framework (IDF)ESP32-CAM 开发板进行编程的开发者而言,官方文档和社区贡献的内容是非常宝贵的参考资料。ESP32-S3 虽然与 ESP32-CAM 不同,但在某些方面具有相似之处,因为两者都属于乐鑫科技推出的系列之一[^1]。 #### 官方资源链接 - **Espressif 官网**: Espressif 提供了详尽的 [ESP-IDF 文档](https://docs.espressif.com/projects/esp-idf/en/latest/) ,其中涵盖了从环境配置到具体API使用的各个方面。 #### 社区教程推荐 许多爱好者和技术专家在网络上分享了自己的经验,这些第三方材料能够补充官方指南中的不足: - GitHub 上有许多开源项目展示了如何利用 ESP-IDF 来控制摄像头模块的功能,比如拍照上传至云端服务等操作。可以通过搜索 `ESP32 CAM` 或者更具体的关键词找到合适的例子。 #### 示例代码片段:初始化相机并捕获图像 下面是一个简单的 Python 代码示例来展示如何设置 ESP32-CAM 并获取图片数据。请注意实际部署时可能需要调整参数以适应特定硬件版本。 ```c #include "camera.h" void setup_camera() { camera_config_t config; config.ledc_channel = LEDC_CHANNEL_0; config.ledc_timer = LEDC_TIMER_0; config.pin_d0 = Y2_GPIO_NUM; ... esp_err_t err = esp_camera_init(&config); } ``` 此段代码仅作为概念验证用途,在真实环境中应当参照最新版 SDK 手册完成相应配置。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值