文章目录

  • 1.下载源代码
  • 1.1把源代码放到example目录下
  • 2.创建新工程
  • 3.修改《CMakeLists.txt》
  • 4.配置工程和编译工程
  • 4.1配置工程
  • 4.2编译工程
  • 5.烧录bin文件,打开浏览器测试



看到网上很多esp32-cam的例程都是基于arduino或者microPython环境,我还是对ESP-IDF环境感到踏实。这是我在VScode+esp-idf下面编译“esp32-web-camera”框架下面的例程《camera_web_server》过程的记录。

1.下载源代码

我选了码云的“ 随遇而安 / esp32-web-camera”。
这里介绍是这样:

安信可ESP32-CAM开发板摄像,浏览器端查看实时视频,基于ESP-IDF4.1版本,包含人脸监测。

这里要求的的ESP-IDF版本是4.1,我用的是ESP-IDFV4.4,也可以正常使用。

1.1把源代码放到example目录下

我的绝对路径是 E:\esp32\esp-idf\examples,放在这里:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_开发板

2.创建新工程

因为目录放在example里面,就可以通过命令面板创建新工程:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_开发板_02


搜索“example”:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_绝对路径_03


选择Use current ESP-IDF:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_绝对路径_04


选择《camera_web_server》工程,创建工程时会要求选择工程路径,可以按照自己的喜好来。

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_绝对路径_05

3.修改《CMakeLists.txt》

《CMakeLists.txt》这个文件很多,几乎每个文件夹都有一个,不要搞错。

正确的文件:《./camera_web_server/CMakeLists.txt》
错误的文件:《./camera_web_server/main/CMakeLists.txt》

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_开发板_06


修改的目的是重新指定本工程额外增加的component的路径。

# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)

#set(EXTRA_COMPONENT_DIRS ../../../components)

set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/esp32-web-camera-master/components)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(camera_web_server)

有图有真相,用图表示比较直观。

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_绝对路径_07

4.配置工程和编译工程

4.1配置工程

到了这里,可以开始配置工程,主要是配置wifi,选择开发板。

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_绝对路径_08


我的板子是安信可的:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_搜索_09


闪光灯GPIO选择,根据原理图,GPIO4用来控制LED:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_开发板_10


对应的配置,LED的其他设置不变:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_vscode_11

配置完毕可以开始编译。

4.2编译工程

开始编译:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_绝对路径_12


编译完成:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_绝对路径_13

5.烧录bin文件,打开浏览器测试

连接好串口,使ESP32-cam进入烧录状态(IO0接地,复位):

这里借用别人的硬件连接图:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_搜索_14


点击烧录按键,开始烧录:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_vscode_15


烧录完成后,取消IO0的接地,复位,运行程序:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_vscode_16


联网成功后会打印的ip地址,根据这个地址,在浏览器地址栏输入 “http://192.168.110.217/”:

VScode+esp-idf:编译安信可esp32-cam例程(esp32-web-camera)_搜索_17


到此,本文结束。