使用Arduino IDE开发ESP32摄像头
Arduino IDE是创客常用的开发平台。通过安装扩展包,Arduino IDE可以支持不同架构的开发板,包括流行的ESP系列开发板。新版本的Arduino IDE 2.0基于与经典版IDE不同的底层平台,拥有更多现代IDE特性,例如更完善的语法高亮,自动补全、代码导航和在线调试等功能。
Arduino IDE 2.0扩展包的安装方式与经典版IDE类似,用户可以平滑切换到新版环境。
安装Arduino IDE 2.0
前往 Arduino官网,下载适合操作系统的版本。

按常规方式执行安装即可。如有疑问,可以查阅官网的 Arduino安装指南。
安装ESP32扩展包
运行Arduino IDE 2.0,选择菜单 File > Preferences…。

将以下URL地址复制并粘贴到 Additional boards manager URLs(多个URL以逗号分隔)。
https://espressif.github.io/arduino-esp32/package_esp32_index.json
Arduino ESP32扩展包由乐鑫(Espressif)官方维护:
点击左侧边栏的开发板管理图标,或选择菜单 Tools > Board > Boards Manager…,搜索“esp32”,找到
esp32 by Espressif Systems,点击 INSTALL 安装。
安装完成后,在菜单 Tools > Board 中可以看到 esp32 选项。

编译并上传摄像头样例
将开发板连接到电脑的USB接口。若开发板未集成USB串口,则需要通过一个USB串口适配器连接。
点击顶部工具栏的开发板下拉列表,选择 Select other board and port… 打开开发板选择对话框。

搜索“esp32”,找到 ESP32 Wrover Module 并选中,同时指定连接到开发板的串口。

- ESP32 Wrover Module 是esp32开发板通用选项,对具体的开发板可以选择对应型号(如果在列表中)。
- 连接开发板后,系统会自动识别串口并显示在 PORTS 列表中。若列表中未出现对应的串口,请尝试手动安装USB串口相应的驱动程序。
选择菜单 File > Examples > ESP32 > Camera > CameraWebServer 打开摄像头样例项目。

切换到项目
CameraWebServer.ino文件。在代码的Select camera mode部分,根据开发板型号选择对应定义项(取消注释),以指定在camera_pins.h文件中预定义的摄像头引脚配置。也可以自行定义摄像头引脚,以 Camera-1 开发板为例,自定义引脚如下:
cpp//#include "camera_pins.h" // Node-Matrix Camera-1 pin assignment #define PWDN_GPIO_NUM -1 #define RESET_GPIO_NUM -1 #define XCLK_GPIO_NUM 0 #define SIOD_GPIO_NUM 19 #define SIOC_GPIO_NUM 18 #define Y9_GPIO_NUM 38 #define Y8_GPIO_NUM 37 #define Y7_GPIO_NUM 36 #define Y6_GPIO_NUM 25 #define Y5_GPIO_NUM 34 #define Y4_GPIO_NUM 13 #define Y3_GPIO_NUM 12 #define Y2_GPIO_NUM 35 #define VSYNC_GPIO_NUM 5 #define HREF_GPIO_NUM 39 #define PCLK_GPIO_NUM 26- 指定开发板型号时应只有一项定义被选中,其余均为注释状态。
- 自定义引脚时,可以注释对
camera_pins.h文件的引用。
在
CameraWebServer.ino文件的Enter you WiFi credentials部分,修改WiFissid与password为实际网络配置。cpp// =========================== // Enter your WiFi credentials // =========================== const char* ssid = "my_wifi_ssid"; const char* password = "my_wifi_password";根据开发板的硬件配置在 Tools 菜单中设定相应参数。以Camera-1开发板为例,参数如下:

参数说明请参考Espressif官方文档:
https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html
保存项目。点击工具栏 上传按钮,开始编译代码并上传到开发板。根据电脑性能的差异,这个过程可能需要数秒至数十秒。

- 对支持自动上传的开发板(例如Node-Matrix Camera-1),这个过程不需要其他操作,等待完成即可。
- 若开发板不支持自动上传,则需要手动切换到上传模式(bootloader mode),具体操作如下:
- 使开发板的GPIO_0引脚保持低电平(按下板上标记为BOOT的按钮,或将GPIO_0引脚连接到GND)。
- 在保持GPIO_0为低电平状态下,按下板上标记为RST的按钮,或让开发板重新上电复位。
- 此时开发板即进入上传模式,再点击IDE工具栏的上传按钮即可。
点击工具栏右侧的串口监视器按钮,打开串口监视器。复位开发板,串口监视器将显示开发板输出的启动信息。

若启动信息的末尾持续输出
......,说明网络连接失败,请检查 第6步 的WiFi配置是否正确。在启动信息的最后一行可以找到HTTP服务的URL地址,复制该URL并在浏览器中打开,即可查看摄像头Web页面。

下一步
摄像头样例的HTTP服务端代码位于app_httpd.cpp文件中,代码相对复杂。我们在GitHub上提供了 一个简化样例。
以上就是使用Arduino IDE 2.0开发ESP32摄像头的快速指南。更多ESP32样例可以在扩展包的样例库(File > Examples > ESP32)中找到。